今までに判明したCoreMP135のまとめ。
ドライバはM5Stack公式のbuildroot externalにあるものの説明。
これ以外はDTSを読めば大抵わかる。
誰の役に立つのかはすごくわからないが一応書いておく。
1. SPI系
1.1. SPI0
1.1.1 ILI9342C
ILI9342Cはディスプレイ制御IC。
CSは&gpioh 5 GPIO_ACTIVE_HIGH
。
ドライバはfb_ili9341
の改造版。
ついでにだが私の変更を加えたドライバもおいておく。
2. I2C系
2.1. I2C1
背面内部ピンソケット。
2.2. I2C2
こちらも背面内部ピンソケット。
2.3. I2C3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- 34 -- -- -- UU 39 -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- UU -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
2.3.1 AXP2101 0x34
電源制御IC。
アドレスは0x34
。
このICで電源を落とすなどの動作ができる模様。
注意としてこのICのDLDO1にバックライトがつながっている。
バックライトがついていないとディスプレイが動作していてもわからない。
ドライバはfb_ili9341
の改造版にくっつけてあるが、これはバスなどハードコードかつインデントが揃っていないなど見にくい。
もちろんDTSなど使わない戦法らしい。
自分がバックライト用に作ったドライバも乗せておく。
自分の作った方はDTSに
&i2c3 {
...
backlight@34 {
compatible = "m5stack,axp2101";
reg = <0x34>;
status = "okay";
};
};
のようにして使う。
2.3.2 FT6236 0x38
タッチスクリーン。
アドレスは0x38
。
ドライバはもうすでにupstreamされている。
特に言うことなし。
2.3.3 LT8618SXB 0x39
HDMIトランスミッタ。
アドレスは0x39
。
一番の目玉。
ドライバはない。ユーザースペース側でやり取りしている。
しかも、このユーザースペース側のプログラム、バイナリBLOBしかない。
すごく悲しい。
プロプライエタリな理由は多分ベンダー側から公開しないように念を押されている気がする。
データシートもどれだけ探してもブリーフしかない。
I2Cのレジスタについて語っているPDFは他の型番含め一つも見当たらない。
HDMIのライセンス的なのもある気がしている。
自分はプロプライエタリなソフトウェアはしばしばマルウェアである - GNU
みたいなタイプの思想が偏った人間なのでどうしようか悩んでいる。
ただこいつがないとHDMIは一生動かない。どうしたものか。
一つ方法を思いついているが実際にできるとわかるまで記載しないことにする。
追記。M5Stackにメンションしてみた。
レジスタは公開できるかもとのこと。
一週間近くかかるらしいので気長に待つか。
2.3.4 BM8563 0x51
RTC。
アドレスは0x51
。
ドライバはなぜかnxp,pcf8563
。upstream済み。動作している。
どうもPCF8563の互換ICのよう。
動いているのであまり気にしてはいない。