LoginSignup
4
3

M5Stack CoreMP135のI2C/SPI内部配線まとめ (上級開発者向け)

Last updated at Posted at 2024-05-18

今までに判明した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のよう。
動いているのであまり気にしてはいない。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3