Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mfd / mt6397.txt
1 MediaTek MT6397/MT6323 Multifunction Device Driver
2
3 MT6397/MT6323 is a multifunction device with the following sub modules:
4 - Regulator
5 - RTC
6 - Audio codec
7 - GPIO
8 - Clock
9 - LED
10 - Keys
11 - Power controller
12
13 It is interfaced to host controller using SPI interface by a proprietary hardware
14 called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap.
15 See the following for pwarp node definitions:
16 ../soc/mediatek/mediatek,pwrap.yaml
17
18 This document describes the binding for MFD device and its sub module.
19
20 Required properties:
21 compatible:
22         "mediatek,mt6323" for PMIC MT6323
23         "mediatek,mt6331" for PMIC MT6331 and MT6332
24         "mediatek,mt6357" for PMIC MT6357
25         "mediatek,mt6358" for PMIC MT6358
26         "mediatek,mt6359" for PMIC MT6359
27         "mediatek,mt6366", "mediatek,mt6358" for PMIC MT6366
28         "mediatek,mt6397" for PMIC MT6397
29
30 Optional subnodes:
31
32 - rtc
33         Required properties: Should be one of follows
34                 - compatible: "mediatek,mt6323-rtc"
35                 - compatible: "mediatek,mt6331-rtc"
36                 - compatible: "mediatek,mt6358-rtc"
37                 - compatible: "mediatek,mt6397-rtc"
38         For details, see ../rtc/rtc-mt6397.txt
39 - regulators
40         Required properties:
41                 - compatible: "mediatek,mt6323-regulator"
42         see ../regulator/mt6323-regulator.txt
43                 - compatible: "mediatek,mt6358-regulator"
44                 - compatible: "mediatek,mt6366-regulator", "mediatek-mt6358-regulator"
45         see ../regulator/mt6358-regulator.txt
46                 - compatible: "mediatek,mt6397-regulator"
47         see ../regulator/mt6397-regulator.txt
48 - codec
49         Required properties:
50                 - compatible: "mediatek,mt6397-codec" or "mediatek,mt6358-sound"
51 - clk
52         Required properties:
53                 - compatible: "mediatek,mt6397-clk"
54 - led
55         Required properties:
56                 - compatible: "mediatek,mt6323-led"
57         see ../leds/leds-mt6323.txt
58
59 - keys
60         Required properties: Should be one of the following
61                 - compatible: "mediatek,mt6323-keys"
62                 - compatible: "mediatek,mt6331-keys"
63                 - compatible: "mediatek,mt6397-keys"
64         see ../input/mtk-pmic-keys.txt
65
66 - power-controller
67         Required properties:
68                 - compatible: "mediatek,mt6323-pwrc"
69         For details, see ../power/reset/mt6323-poweroff.txt
70
71 - pin-controller
72         Required properties:
73                 - compatible: "mediatek,mt6397-pinctrl"
74         For details, see ../pinctrl/pinctrl-mt65xx.txt
75
76 Example:
77         pwrap: pwrap@1000f000 {
78                 compatible = "mediatek,mt8135-pwrap";
79
80                 ...
81
82                 pmic {
83                         compatible = "mediatek,mt6397";
84
85                         codec: mt6397codec {
86                                 compatible = "mediatek,mt6397-codec";
87                         };
88
89                         regulators {
90                                 compatible = "mediatek,mt6397-regulator";
91
92                                 mt6397_vpca15_reg: buck_vpca15 {
93                                         regulator-compatible = "buck_vpca15";
94                                         regulator-name = "vpca15";
95                                         regulator-min-microvolt = <850000>;
96                                         regulator-max-microvolt = <1400000>;
97                                         regulator-ramp-delay = <12500>;
98                                         regulator-always-on;
99                                 };
100
101                                 mt6397_vgp4_reg: ldo_vgp4 {
102                                         regulator-compatible = "ldo_vgp4";
103                                         regulator-name = "vgp4";
104                                         regulator-min-microvolt = <1200000>;
105                                         regulator-max-microvolt = <3300000>;
106                                         regulator-enable-ramp-delay = <218>;
107                                 };
108                         };
109                 };
110         };