はじめに
Google Pixel に搭載されているSoC(Tensor : G1, G2, G3)用のPMIC を調べてみたら、
- G1 : PG10 + PG11
- G2 : PG12 + PG13
- G3 : PG14 + PG15
で、それぞれ違うもののようです。
PMIC の内部は、謎なんだけど、ちょっとだけ分かった気がする!
G3 の PMIC を見てみました
regulators のところに、m_buckX_reg: BUCKXM なるエントリがたくさんあります。
regulators { m_buck1_reg: BUCK1M { regulator-name = "S2MPG14_BUCK1"; regulator-min-microvolt = <450000>; regulator-max-microvolt = <1300000>; regulator-always-on; regulator-initial-mode = <SEC_OPMODE_ON>; channel-mux-selection = <0x01>; schematic-name = "S1M_VDD_MIF"; subsys-name = "MIF"; buck_rail; channel-en-byte-offset = <0>; channel-en-index = <0x01>; };
subsys-name のところがどこの regulator であるかを示しています。
- MIF
- CPU (BIG)
- CPU (MID)
- CPU (LITTLE)
- INT
- LDO
- TPU
- LDO
- CPU (LITTLE)
m_ldoX_reg; LDOXM なるものも
- ALIVE
- ALIVE
- AOC
- TS
- IO
- Display
- USB
- USB
- AOC
- UNUSED
- TPU
- Display
- UNUSED
- PCIE
- CPU (BIG)
- PCIE
- USB
- GSC
- Display
- UNUSED . TS
と25個あります。
S2MPG15_BUCKXなるものもあります。
PMIC のデバイスドライバ
G2のデバイスドライバは、ここにあります。I2C(SDA/SCL) で繋がっていますね。
おわりに
スマホ用のSoCに対応したPMICって、中身が謎だったのですが、今回の調査でデバイスドライバを調べれば、ちょっとは分かりそうです。。。
RenesaのDA9061というPMICには、LDOだけでなく、BUCK、GPIOもついていますね。
- DA9063 Power Management for R-Car H3 Platform AN-PM-085 では、
- BUCK
- LDO
- RTC
- Multiplexed I/O expander
- Neneral purpose 10-bit ADC
なども付いていますね。