MediaTek MT6397/MT6323 Multifunction Device Driver

MT6397/MT6323 is a multifunction device with the following sub modules:
- Regulator
- RTC
- Audio codec
- GPIO
- Clock
- LED
- Keys
- Power controller

It is interfaced to host controller using SPI interface by a proprietary hardware
called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap.
See the following for pwarp node definitions:
../soc/mediatek/mediatek,pwrap.yaml

This document describes the binding for MFD device and its sub module.

Required properties:
compatible:
	"mediatek,mt6323" for PMIC MT6323
	"mediatek,mt6331" for PMIC MT6331 and MT6332
	"mediatek,mt6357" for PMIC MT6357
	"mediatek,mt6358" for PMIC MT6358 and MT6366
	"mediatek,mt6359" for PMIC MT6359
	"mediatek,mt6397" for PMIC MT6397

Optional subnodes:

- rtc
	Required properties: Should be one of follows
		- compatible: "mediatek,mt6323-rtc"
		- compatible: "mediatek,mt6331-rtc"
		- compatible: "mediatek,mt6358-rtc"
		- compatible: "mediatek,mt6397-rtc"
	For details, see ../rtc/rtc-mt6397.txt
- regulators
	Required properties:
		- compatible: "mediatek,mt6323-regulator"
	see ../regulator/mt6323-regulator.txt
		- compatible: "mediatek,mt6358-regulator"
	see ../regulator/mt6358-regulator.txt
		- compatible: "mediatek,mt6397-regulator"
	see ../regulator/mt6397-regulator.txt
- codec
	Required properties:
		- compatible: "mediatek,mt6397-codec" or "mediatek,mt6358-sound"
- clk
	Required properties:
		- compatible: "mediatek,mt6397-clk"
- led
	Required properties:
		- compatible: "mediatek,mt6323-led"
	see ../leds/leds-mt6323.txt

- keys
	Required properties: Should be one of the following
		- compatible: "mediatek,mt6323-keys"
		- compatible: "mediatek,mt6331-keys"
		- compatible: "mediatek,mt6397-keys"
	see ../input/mtk-pmic-keys.txt

- power-controller
	Required properties:
		- compatible: "mediatek,mt6323-pwrc"
	For details, see ../power/reset/mt6323-poweroff.txt

- pin-controller
	Required properties:
		- compatible: "mediatek,mt6397-pinctrl"
	For details, see ../pinctrl/pinctrl-mt65xx.txt

Example:
	pwrap: pwrap@1000f000 {
		compatible = "mediatek,mt8135-pwrap";

		...

		pmic {
			compatible = "mediatek,mt6397";

			codec: mt6397codec {
				compatible = "mediatek,mt6397-codec";
			};

			regulators {
				compatible = "mediatek,mt6397-regulator";

				mt6397_vpca15_reg: buck_vpca15 {
					regulator-compatible = "buck_vpca15";
					regulator-name = "vpca15";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <1400000>;
					regulator-ramp-delay = <12500>;
					regulator-always-on;
				};

				mt6397_vgp4_reg: ldo_vgp4 {
					regulator-compatible = "ldo_vgp4";
					regulator-name = "vgp4";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <3300000>;
					regulator-enable-ramp-delay = <218>;
				};
			};
		};
	};