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
	"mediatek,mt6359" for PMIC MT6359
	"mediatek,mt6366", "mediatek,mt6358" for PMIC MT6366
	"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"
		- compatible: "mediatek,mt6366-regulator", "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>;
				};
			};
		};
	};
