xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/mediatek,mt6357.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2cb7aa33aSEmmanuel Vadot%YAML 1.2
3cb7aa33aSEmmanuel Vadot---
4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/mediatek,mt6357.yaml#
5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6cb7aa33aSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadottitle: MediaTek MT6357 PMIC
8cb7aa33aSEmmanuel Vadot
9cb7aa33aSEmmanuel Vadotmaintainers:
10cb7aa33aSEmmanuel Vadot  - Flora Fu <flora.fu@mediatek.com>
11cb7aa33aSEmmanuel Vadot  - Alexandre Mergnat <amergnat@baylibre.com>
12cb7aa33aSEmmanuel Vadot
13cb7aa33aSEmmanuel Vadotdescription: |
14cb7aa33aSEmmanuel Vadot  MT6357 is a power management system chip containing 5 buck
15cb7aa33aSEmmanuel Vadot  converters and 29 LDOs. Supported features are audio codec,
16cb7aa33aSEmmanuel Vadot  USB battery charging, fuel gauge, RTC
17cb7aa33aSEmmanuel Vadot
18cb7aa33aSEmmanuel Vadot  This is a multifunction device with the following sub modules:
19cb7aa33aSEmmanuel Vadot  - Regulator
20cb7aa33aSEmmanuel Vadot  - RTC
21cb7aa33aSEmmanuel Vadot  - Keys
22cb7aa33aSEmmanuel Vadot
23cb7aa33aSEmmanuel Vadot  It is interfaced to host controller using SPI interface by a proprietary hardware
24cb7aa33aSEmmanuel Vadot  called PMIC wrapper or pwrap. This MFD is a child device of pwrap.
25cb7aa33aSEmmanuel Vadot  See the following for pwrap node definitions:
26cb7aa33aSEmmanuel Vadot  Documentation/devicetree/bindings/soc/mediatek/mediatek,pwrap.yaml
27cb7aa33aSEmmanuel Vadot
28cb7aa33aSEmmanuel Vadotproperties:
29cb7aa33aSEmmanuel Vadot  compatible:
30cb7aa33aSEmmanuel Vadot    const: mediatek,mt6357
31cb7aa33aSEmmanuel Vadot
32cb7aa33aSEmmanuel Vadot  interrupts:
33cb7aa33aSEmmanuel Vadot    maxItems: 1
34cb7aa33aSEmmanuel Vadot
35cb7aa33aSEmmanuel Vadot  interrupt-controller: true
36cb7aa33aSEmmanuel Vadot
37cb7aa33aSEmmanuel Vadot  "#interrupt-cells":
38cb7aa33aSEmmanuel Vadot    const: 2
39cb7aa33aSEmmanuel Vadot
40cb7aa33aSEmmanuel Vadot  regulators:
41cb7aa33aSEmmanuel Vadot    type: object
42cb7aa33aSEmmanuel Vadot    $ref: /schemas/regulator/mediatek,mt6357-regulator.yaml
43*84943d6fSEmmanuel Vadot    unevaluatedProperties: false
44cb7aa33aSEmmanuel Vadot    description:
45cb7aa33aSEmmanuel Vadot      List of MT6357 BUCKs and LDOs regulators.
46cb7aa33aSEmmanuel Vadot
47cb7aa33aSEmmanuel Vadot  rtc:
48cb7aa33aSEmmanuel Vadot    type: object
49cb7aa33aSEmmanuel Vadot    $ref: /schemas/rtc/rtc.yaml#
50fac71e4eSEmmanuel Vadot    unevaluatedProperties: false
51cb7aa33aSEmmanuel Vadot    description:
52cb7aa33aSEmmanuel Vadot      MT6357 Real Time Clock.
53cb7aa33aSEmmanuel Vadot    properties:
54cb7aa33aSEmmanuel Vadot      compatible:
55cb7aa33aSEmmanuel Vadot        const: mediatek,mt6357-rtc
56cb7aa33aSEmmanuel Vadot      start-year: true
57cb7aa33aSEmmanuel Vadot    required:
58cb7aa33aSEmmanuel Vadot      - compatible
59cb7aa33aSEmmanuel Vadot
60cb7aa33aSEmmanuel Vadot  keys:
61cb7aa33aSEmmanuel Vadot    type: object
62cb7aa33aSEmmanuel Vadot    $ref: /schemas/input/mediatek,pmic-keys.yaml
63*84943d6fSEmmanuel Vadot    unevaluatedProperties: false
64cb7aa33aSEmmanuel Vadot    description:
65cb7aa33aSEmmanuel Vadot      MT6357 power and home keys.
66cb7aa33aSEmmanuel Vadot
67cb7aa33aSEmmanuel Vadotrequired:
68cb7aa33aSEmmanuel Vadot  - compatible
69cb7aa33aSEmmanuel Vadot  - regulators
70cb7aa33aSEmmanuel Vadot
71cb7aa33aSEmmanuel VadotadditionalProperties: false
72cb7aa33aSEmmanuel Vadot
73cb7aa33aSEmmanuel Vadotexamples:
74cb7aa33aSEmmanuel Vadot  - |
75cb7aa33aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
76cb7aa33aSEmmanuel Vadot
77cb7aa33aSEmmanuel Vadot    pwrap {
78cb7aa33aSEmmanuel Vadot        pmic {
79cb7aa33aSEmmanuel Vadot            compatible = "mediatek,mt6357";
80cb7aa33aSEmmanuel Vadot
81cb7aa33aSEmmanuel Vadot            interrupt-parent = <&pio>;
82cb7aa33aSEmmanuel Vadot            interrupts = <145 IRQ_TYPE_LEVEL_HIGH>;
83cb7aa33aSEmmanuel Vadot            interrupt-controller;
84cb7aa33aSEmmanuel Vadot            #interrupt-cells = <2>;
85cb7aa33aSEmmanuel Vadot
86cb7aa33aSEmmanuel Vadot            regulators {
87cb7aa33aSEmmanuel Vadot                mt6357_vproc_reg: buck-vproc {
88cb7aa33aSEmmanuel Vadot                    regulator-name = "vproc";
89cb7aa33aSEmmanuel Vadot                    regulator-min-microvolt = <518750>;
90cb7aa33aSEmmanuel Vadot                    regulator-max-microvolt = <1312500>;
91cb7aa33aSEmmanuel Vadot                    regulator-ramp-delay = <6250>;
92cb7aa33aSEmmanuel Vadot                    regulator-enable-ramp-delay = <220>;
93cb7aa33aSEmmanuel Vadot                    regulator-always-on;
94cb7aa33aSEmmanuel Vadot                };
95cb7aa33aSEmmanuel Vadot
96cb7aa33aSEmmanuel Vadot                // ...
97cb7aa33aSEmmanuel Vadot
98cb7aa33aSEmmanuel Vadot                mt6357_vusb33_reg: ldo-vusb33 {
99cb7aa33aSEmmanuel Vadot                    regulator-name = "vusb33";
100cb7aa33aSEmmanuel Vadot                    regulator-min-microvolt = <3000000>;
101cb7aa33aSEmmanuel Vadot                    regulator-max-microvolt = <3100000>;
102cb7aa33aSEmmanuel Vadot                    regulator-enable-ramp-delay = <264>;
103cb7aa33aSEmmanuel Vadot                };
104cb7aa33aSEmmanuel Vadot            };
105cb7aa33aSEmmanuel Vadot
106cb7aa33aSEmmanuel Vadot            rtc {
107cb7aa33aSEmmanuel Vadot                compatible = "mediatek,mt6357-rtc";
108cb7aa33aSEmmanuel Vadot            };
109cb7aa33aSEmmanuel Vadot
110cb7aa33aSEmmanuel Vadot            keys {
111cb7aa33aSEmmanuel Vadot                compatible = "mediatek,mt6357-keys";
112cb7aa33aSEmmanuel Vadot            };
113cb7aa33aSEmmanuel Vadot        };
114cb7aa33aSEmmanuel Vadot    };
115