18c2ecf20Sopenharmony_ciMediaTek MT6397/MT6323 Multifunction Device Driver
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciMT6397/MT6323 is a multifunction device with the following sub modules:
48c2ecf20Sopenharmony_ci- Regulator
58c2ecf20Sopenharmony_ci- RTC
68c2ecf20Sopenharmony_ci- Audio codec
78c2ecf20Sopenharmony_ci- GPIO
88c2ecf20Sopenharmony_ci- Clock
98c2ecf20Sopenharmony_ci- LED
108c2ecf20Sopenharmony_ci- Keys
118c2ecf20Sopenharmony_ci- Power controller
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciIt is interfaced to host controller using SPI interface by a proprietary hardware
148c2ecf20Sopenharmony_cicalled PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap.
158c2ecf20Sopenharmony_ciSee the following for pwarp node definitions:
168c2ecf20Sopenharmony_ci../soc/mediatek/pwrap.txt
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciThis document describes the binding for MFD device and its sub module.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciRequired properties:
218c2ecf20Sopenharmony_cicompatible:
228c2ecf20Sopenharmony_ci	"mediatek,mt6323" for PMIC MT6323
238c2ecf20Sopenharmony_ci	"mediatek,mt6358" for PMIC MT6358
248c2ecf20Sopenharmony_ci	"mediatek,mt6397" for PMIC MT6397
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciOptional subnodes:
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci- rtc
298c2ecf20Sopenharmony_ci	Required properties: Should be one of follows
308c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6323-rtc"
318c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6358-rtc"
328c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6397-rtc"
338c2ecf20Sopenharmony_ci	For details, see ../rtc/rtc-mt6397.txt
348c2ecf20Sopenharmony_ci- regulators
358c2ecf20Sopenharmony_ci	Required properties:
368c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6323-regulator"
378c2ecf20Sopenharmony_ci	see ../regulator/mt6323-regulator.txt
388c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6358-regulator"
398c2ecf20Sopenharmony_ci	see ../regulator/mt6358-regulator.txt
408c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6397-regulator"
418c2ecf20Sopenharmony_ci	see ../regulator/mt6397-regulator.txt
428c2ecf20Sopenharmony_ci- codec
438c2ecf20Sopenharmony_ci	Required properties:
448c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6397-codec" or "mediatek,mt6358-sound"
458c2ecf20Sopenharmony_ci- clk
468c2ecf20Sopenharmony_ci	Required properties:
478c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6397-clk"
488c2ecf20Sopenharmony_ci- led
498c2ecf20Sopenharmony_ci	Required properties:
508c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6323-led"
518c2ecf20Sopenharmony_ci	see ../leds/leds-mt6323.txt
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci- keys
548c2ecf20Sopenharmony_ci	Required properties:
558c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6397-keys" or "mediatek,mt6323-keys"
568c2ecf20Sopenharmony_ci	see ../input/mtk-pmic-keys.txt
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci- power-controller
598c2ecf20Sopenharmony_ci	Required properties:
608c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6323-pwrc"
618c2ecf20Sopenharmony_ci	For details, see ../power/reset/mt6323-poweroff.txt
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci- pin-controller
648c2ecf20Sopenharmony_ci	Required properties:
658c2ecf20Sopenharmony_ci		- compatible: "mediatek,mt6397-pinctrl"
668c2ecf20Sopenharmony_ci	For details, see ../pinctrl/pinctrl-mt65xx.txt
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciExample:
698c2ecf20Sopenharmony_ci	pwrap: pwrap@1000f000 {
708c2ecf20Sopenharmony_ci		compatible = "mediatek,mt8135-pwrap";
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci		...
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci		pmic {
758c2ecf20Sopenharmony_ci			compatible = "mediatek,mt6397";
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci			codec: mt6397codec {
788c2ecf20Sopenharmony_ci				compatible = "mediatek,mt6397-codec";
798c2ecf20Sopenharmony_ci			};
808c2ecf20Sopenharmony_ci
818c2ecf20Sopenharmony_ci			regulators {
828c2ecf20Sopenharmony_ci				compatible = "mediatek,mt6397-regulator";
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci				mt6397_vpca15_reg: buck_vpca15 {
858c2ecf20Sopenharmony_ci					regulator-compatible = "buck_vpca15";
868c2ecf20Sopenharmony_ci					regulator-name = "vpca15";
878c2ecf20Sopenharmony_ci					regulator-min-microvolt = <850000>;
888c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1400000>;
898c2ecf20Sopenharmony_ci					regulator-ramp-delay = <12500>;
908c2ecf20Sopenharmony_ci					regulator-always-on;
918c2ecf20Sopenharmony_ci				};
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci				mt6397_vgp4_reg: ldo_vgp4 {
948c2ecf20Sopenharmony_ci					regulator-compatible = "ldo_vgp4";
958c2ecf20Sopenharmony_ci					regulator-name = "vgp4";
968c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1200000>;
978c2ecf20Sopenharmony_ci					regulator-max-microvolt = <3300000>;
988c2ecf20Sopenharmony_ci					regulator-enable-ramp-delay = <218>;
998c2ecf20Sopenharmony_ci				};
1008c2ecf20Sopenharmony_ci			};
1018c2ecf20Sopenharmony_ci		};
1028c2ecf20Sopenharmony_ci	};
103