[Armadillo:03068] Re: Armadillo-500 I2C通信サンプルソフト

山本 慎二郎 email@hidden
2008年 6月 27日 (金) 15:48:49 JST


いつもお世話になっております。
山本@北都システムです。

横から失礼します。

> スタートコンディションを発行するための関数
> が見当たりません。

tlv320aic.cのtlv320aic_setreg()の関数コールツリーは
以下のようになっているようです。

tlv320aic_setreg()
  +-i2c_transfer()
      +-master_xfer()
          |
          |sysfs
          ↓
        i2c_armadillo5x0_xfer()
          +- mxc_i2c_start()
          +- mxc_i2c_send()
          +- mxc_i2c_stop()

後は、tlv320aic.cの解析をし、真似をしつつ実装すれば、
I2C制御できるかと思います。

> 私は、単純に、findコマンドをつかって、
> i2c-armadillo5x0.cにあるmxc_i2c_send()や

findではなく、grepがいいと思います。

調査方法は"i2c"で全linuxソースのgrepをして、
関連しそうなソースを片っ端から確認していくしかないと思います。
  #私がi2cの調査をした時にはそうしましたが、
  #それが可能なのがlinuxの強みかと。。。

よろしくお願い致します。

以上

On Fri, 27 Jun 2008 15:07:19 +0900
g-kihara <email@hidden> wrote:

> 木原です。
> いつもお世話になっています。
> 
> 私は、armadillo-500ボードのI/Oポートと、
> 弊社のセンサとをI2Cバス接続し、
> レジスタへのread,writeをテストしようと
> 思っています。
> そこで、デバイスドライバi2c-armadillo5x0.cを利用して
> "スペシャルデバイスファイルを介して"I2C通信を行う
> ソフトを作成しようと思ったのです。
> 
> そこで、
> http://lists.atmark-techno.com/pipermail/armadillo/2008-January/002579.html
> http://lists.atmark-techno.com/pipermail/armadillo/2007-September/002043.html
> を読んだのですが、
> 
> armadillo500ボードでI2C通信を行う場合には、現在、
> /home/atmark/linux-2.6.18-at2/.configにて、
> 
>         # I2C Hardware Bus support
>         CONFIG_I2C_ARMADILLO5X0=y
> 
> となっているので、
> デバイスドライバi2c-armadillo5x0.cを使わなければならない
> 
> 「現状のi2c-armadillo5x0ドライバですとI2C2のみ対応となっています」
> ということなので、armadillo-500ボードのI2C2に、弊社のセンサを接続する。
> 
> という理解でよろしいでしょうか?
> 
> > drivers/i2c/chips/tlv320aic.c
> > にソースコードがありますよ。
> 
> 私は、単純に、findコマンドをつかって、
> i2c-armadillo5x0.cにあるmxc_i2c_send()や
> mxc_i2c_start( )を検索すれば、制御ソフトらしきものが
> ヒットするものだと思っていましたが、まったくヒットしま
> せんでした。
> 
> しかし、そうやって検索するのではなく、これは、
> 
> step1)/home/atmark/linux-2.6.18-at2/.configを開く
> step2)コメント行に「I2C」が含まれる行を探し、その下の
>         CONFIG_I2C_XXXXX = y になっている行をみる。
> 
>         # I2C support
>         CONFIG_I2C=y
>         CONFIG_I2C_CHARDEV=y
> 
>         # I2C Hardware Bus support
>         CONFIG_I2C_ARMADILLO5X0=y
> 
>         # Miscellaneous I2C Chip support
>         CONFIG_SENSORS_TLV320AIC=y
> 
> 以上より、
> ハードウェアバスサポートを行っているデバイスドライバ : i2c-armadillo5x0.c
> そのデバイスドライバを制御しているソフト: tlv320aic.c
> ということがわかるわけですね?
> 
> tlv320aic.cを読んでみたのですが、
> 
> 送信(書き込み)を行いたい場合は、tlv320aic_setreg(u8 reg, u16 val)
> 受信(読み込み)を行いたい場合は、tlv320aic_getreg(u8 reg)
> 
> を呼び出せばよいというのはわかりますが、
> 
> スタートコンディションを発行するための関数
> が見当たりません。
> デバイスドライバ : i2c-armadillo5x0.cのmxc_i2c_start()が
> スタートコンディションを発行する関数だと思うのですが、
> この関数をtlv320aic.cは呼び出しているのでしょうか?
> tlv320aic.cは、i2c-armadillo5x0.cの関数をsysfs経由で
> 呼び出しているのでしょうか?
> 
> 以上、宜しくお願いします。
> 
> 
> ----- Original Message ----- 
> From: "nakai" <email@hidden>
> To: "Armadillo series general discussion list" 
> <email@hidden>
> Sent: Friday, June 27, 2008 10:30 AM
> Subject: [Armadillo:03065] Re: Armadillo-500 I2C通信サンプルソフト
> 
> 
> > nakaiです。
> >
> > i2c-armadillo5x0.c
> > に限った話しではないですが、I2Cのスレーブデバイス用ドライバは、
> > I2Cバスドライバを使用します。armadilo500だと.configから見ると
> > CONFIG_SENSORS_TLV320AIC=y
> > をしようしているようです。
> >
> > drivers/i2c/chips/tlv320aic.c
> > にソースコードがありますよ。
> >
> >
> > g-kihara さんは書きました:
> >>  木原です。
> >> いつもお世話になっております。
> >>
> >> i2c-armadillo5x0.cはarmadillo500ボードに
> >> 限ったデバイスドライバですよね?
> >> このデバイスドライバを扱ったアプリケーションに
> >> 関する情報をいただけないでしょうか?
> >> 開発をすすめることができずに大変困っています。
> >>
> >> 以上、宜しくお願いいたします。
> >>
> >>
> >>> /home/atmark/linux-2.6.18-at2/drivers/i2c/busses
> >>> の下の、i2c-armadillo5x0.c
> >>> ですが、このドライバを呼び出しているような
> >>> アプリケーションソフトはないのでしょうか?
> >>> ありましたらご提供いただけないでしょうか?
> >>>
> >>> 以上
> >>>
> >>>
> >>> _______________________________________________
> >>> armadillo mailing list
> >>> email@hidden
> >>> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> >> _______________________________________________
> >> armadillo mailing list
> >> email@hidden
> >> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> > _______________________________________________
> > armadillo mailing list
> > email@hidden
> > http://lists.atmark-techno.com/mailman/listinfo/armadillo 
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> 

=================================================
北都システム株式会社
  第4ユニット ITソリューショングループ所属
山本  慎二郎(Shinjiro Yamamoto)
 TEL: 045-470-2773
 Mail: email@hidden
=================================================





armadillo メーリングリストの案内