Armadilloフォーラム

Armadillo440

makko

2014年9月8日 17時35分

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

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

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

ご教授お願いします。

コメント

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

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

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

花田です。

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

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

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

32まで回しています。

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

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

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

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

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

坂本です。

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

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

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

私の認識では、
  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でアクセスしているはずです。