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

g-kihara email@hidden
2008年 6月 27日 (金) 15:07:19 JST


木原です。
いつもお世話になっています。

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