Armadilloフォーラム

Armadillo440

makko

2014年9月8日 17時35分

PHYにアクセス出来なくて困っています。

出荷時のArmadillo440のPHYはPHYの設定をしていないのなぜPHYアドレス0でアクセスできるのですか?
PHYのConfiguration Strapsを行なっているのですか?
また、Special Modes Registerにデフォルト値が書いてあるのですか?

現在PHYにアクセスできなくなり困っています。

ご教授お願いします。

コメント

togotoday

2014年9月8日 17時42分

お世話になっております。坂本大と申します。

取りあえず、0でダメなら1〜7で一づつ試してみてはいかがでしょうか。
多分、どれかでヒットする様な気がします。

> PHYにアクセス出来なくて困っています。
>
> 出荷時のArmadillo440のPHYはPHYの設定をしていないのなぜPHYアドレス0でアクセスできるのですか?
> PHYのConfiguration Strapsを行なっているのですか?
> また、Special Modes Registerにデフォルト値が書いてあるのですか?
>
> 現在PHYにアクセスできなくなり困っています。
>
> ご教授お願いします。

at_hanada

2014年9月8日 17時58分

花田です。

> 取りあえず、0でダメなら1〜7で一づつ試してみてはいかがでしょうか。
> 多分、どれかでヒットする様な気がします。

というあたりをやっているのが、mx25_fec.cのfec_phy_detect()内607行目からですね。

> for (mii->phy_id = 0; mii->phy_id <= 32; mii->phy_id++) {

32まで回しています。

makko

2014年9月8日 18時02分

早々にありがとうございます。

試したのですが、反応はありませんでした。

H/WでConfiguration Strapsを行なっているのですか?
  出荷時にSpecial Modes Registerにデフォルト値が書いてあるのですか?

どちらを行なっているのか知りたいです。

> お世話になっております。坂本大と申します。
>
> 取りあえず、0でダメなら1〜7で一づつ試してみてはいかがでしょうか。
> 多分、どれかでヒットする様な気がします。
>
> > PHYにアクセス出来なくて困っています。
> >
> > 出荷時のArmadillo440のPHYはPHYの設定をしていないのなぜPHYアドレス0でアクセスできるのですか?
> > PHYのConfiguration Strapsを行なっているのですか?
> > また、Special Modes Registerにデフォルト値が書いてあるのですか?
> >
> > 現在PHYにアクセスできなくなり困っています。
> >
> > ご教授お願いします。

togotoday

2014年9月8日 19時26分

坂本です。

(ちょっとよく分かっていませんが)
通常、PHYの設定はドライバー内で処理されると思いますが。

> 早々にありがとうございます。
>
> 試したのですが、反応はありませんでした。
>
> H/WでConfiguration Strapsを行なっているのですか?
>   出荷時にSpecial Modes Registerにデフォルト値が書いてあるのですか?
>
> どちらを行なっているのか知りたいです。
>
>
> > お世話になっております。坂本大と申します。
> >
> > 取りあえず、0でダメなら1〜7で一づつ試してみてはいかがでしょうか。
> > 多分、どれかでヒットする様な気がします。
> >
> > > PHYにアクセス出来なくて困っています。
> > >
> > > 出荷時のArmadillo440のPHYはPHYの設定をしていないのなぜPHYアドレス0でアクセスできるのですか?
> > > PHYのConfiguration Strapsを行なっているのですか?
> > > また、Special Modes Registerにデフォルト値が書いてあるのですか?
> > >
> > > 現在PHYにアクセスできなくなり困っています。
> > >
> > > ご教授お願いします。

makko

2014年9月9日 16時29分

いろいろありがとうございます。

私の認識では、
  PHY(LAN8720A)は
   方法1:Configuration Straps
   方法2:Special Modes Register
  の方法でおこなっていると理解しています。

  ソースを見る限り方法1はおこなっている所が見当たらないので、方法2思っています。
  もし、方法2だとすれば何かの原因でレジスタの内容が書き換わってしまったメーカで
  ないと書き換えられないのかな?と思います。
  
  と言うことでどちらでおこなっているか知りたいのです。

> 坂本です。
>
> (ちょっとよく分かっていませんが)
> 通常、PHYの設定はドライバー内で処理されると思いますが。
>
>
> > 早々にありがとうございます。
> >
> > 試したのですが、反応はありませんでした。
> >
> > H/WでConfiguration Strapsを行なっているのですか?
> >   出荷時にSpecial Modes Registerにデフォルト値が書いてあるのですか?
> >
> > どちらを行なっているのか知りたいです。
> >
> >
> > > お世話になっております。坂本大と申します。
> > >
> > > 取りあえず、0でダメなら1〜7で一づつ試してみてはいかがでしょうか。
> > > 多分、どれかでヒットする様な気がします。
> > >
> > > > PHYにアクセス出来なくて困っています。
> > > >
> > > > 出荷時のArmadillo440のPHYはPHYの設定をしていないのなぜPHYアドレス0でアクセスできるのですか?
> > > > PHYのConfiguration Strapsを行なっているのですか?
> > > > また、Special Modes Registerにデフォルト値が書いてあるのですか?
> > > >
> > > > 現在PHYにアクセスできなくなり困っています。
> > > >
> > > > ご教授お願いします。

at_makoto.harada

2014年9月10日 18時11分

>私の認識では、
>  PHY(LAN8720A)は
>   方法1:Configuration Straps
>   方法2:Special Modes Register
>  の方法でおこなっていると理解しています。
>
>  ソースを見る限り方法1はおこなっている所が見当たらないので、方法2思っています。
>  もし、方法2だとすれば何かの原因でレジスタの内容が書き換わってしまったメーカで
>  ないと書き換えられないのかな?と思います。
>  
>  と言うことでどちらでおこなっているか知りたいのです。

Armadillo440 では、PHY(LAN8720A)のPHYAD0ピンの端子処理はフローティングです。
PHYAD0ピンは、PHY内部にてプルダウンされているので、PHYのアドレスは初期状態で0となります。

FECドライバ内(mx25_fec.c)では、Special Mode Register にアクセスしているコードは見当たらないので、
その後もPHYアドレスは0でアクセスしているはずです。