[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 メーリングリストの案内