Armadilloフォーラム

シリアルインターフェースをI2Cとして使う方法

ohshimayyyy

2015年4月24日 17時45分

お世話になります。
大島と申します。

標記の件、本日、シリアルインターフェースをGPIOとして使う方法について
投稿させて頂きましたが、I2Cとして使う方法について、別途、投稿させて頂きます。

Armadillo-810のCPUボードのシリアルインターフェースで、
CON2及びCON3(どちらかというとCON3)のピンをI2Cの様な使い方ができないか
考えているのですが、可能なものでしょうか?
本来は、CON5のI2Cを使用するのが常套手段だと思うのですが、
Armadillo-810を筐体に収めた状態(拡張ボードは収まりません)で使用したく、
配線で何とか外に出せ、接続先に出したピンを接続できそうなものが、
CON2及びCON3のピンのみとなっており、お伺いした次第です。
おそらく、GPIOとして、デバイスファイルを生成できるのであれば、
I2Cとしても、デバイスファイルを生成できるのではないかと考えております。

ご対応の程、宜しくお願い致します。

コメント

溝渕です。

> CON2及びCON3(どちらかというとCON3)のピンをI2Cの様な使い方ができないか
> 考えているのですが、可能なものでしょうか?

該当ピンをGPIOにマルチプレクスしてから、i2c-gpioのplatform deviceを登録
すると動作すると思います。

i2c-gpioのplatform device および platform dataについては、次の個所が参
考になるかと思います。

arch/arm/mach-shmobile/include/mach/board-armadillo810.c
623: static struct i2c_gpio_platform_data __maybe_unused i2c2_gpio_data = {
624: .sda_pin = GPIO_PORT99,
625: .scl_pin = GPIO_PORT98,
626: .udelay = 5,
627: };
628:
629: static struct platform_device __maybe_unused i2c2_gpio_device = {
630: .name = "i2c-gpio",
631: .id = 2,
632: .dev = {
633: .platform_data = &i2c2_gpio_data,
634: },
635: };

以上です。