xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/mediatek,mt6397.yaml (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
15f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25f62a964SEmmanuel Vadot%YAML 1.2
35f62a964SEmmanuel Vadot---
45f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/mediatek,mt6397.yaml#
55f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65f62a964SEmmanuel Vadot
75f62a964SEmmanuel Vadottitle: MediaTek MT6397/MT6323 PMIC
85f62a964SEmmanuel Vadot
95f62a964SEmmanuel Vadotmaintainers:
105f62a964SEmmanuel Vadot  - Sen Chu <sen.chu@mediatek.com>
115f62a964SEmmanuel Vadot  - Macpaul Lin <macpaul.lin@mediatek.com>
125f62a964SEmmanuel Vadot
135f62a964SEmmanuel Vadotdescription: |
145f62a964SEmmanuel Vadot  MT6397/MT6323 is a power management system chip.
155f62a964SEmmanuel Vadot  Please see the sub-modules below for supported features.
165f62a964SEmmanuel Vadot
175f62a964SEmmanuel Vadot  MT6397/MT6323 is a multifunction device with the following sub modules:
185f62a964SEmmanuel Vadot  - Regulators
195f62a964SEmmanuel Vadot  - RTC
205f62a964SEmmanuel Vadot  - ADC
215f62a964SEmmanuel Vadot  - Audio codec
225f62a964SEmmanuel Vadot  - GPIO
235f62a964SEmmanuel Vadot  - Clock
245f62a964SEmmanuel Vadot  - LED
255f62a964SEmmanuel Vadot  - Keys
265f62a964SEmmanuel Vadot  - Power controller
275f62a964SEmmanuel Vadot
285f62a964SEmmanuel Vadot  It is interfaced to host controller using SPI interface by a proprietary hardware
295f62a964SEmmanuel Vadot  called PMIC wrapper or pwrap. MT6397/MT6323 PMIC is a child device of pwrap.
305f62a964SEmmanuel Vadot  See the following for pwrap node definitions:
315f62a964SEmmanuel Vadot  Documentation/devicetree/bindings/soc/mediatek/mediatek,pwrap.yaml
325f62a964SEmmanuel Vadot
335f62a964SEmmanuel Vadotproperties:
345f62a964SEmmanuel Vadot  compatible:
355f62a964SEmmanuel Vadot    oneOf:
365f62a964SEmmanuel Vadot      - enum:
375f62a964SEmmanuel Vadot          - mediatek,mt6323
385f62a964SEmmanuel Vadot          - mediatek,mt6331 # "mediatek,mt6331" for PMIC MT6331 and MT6332.
39*2846c905SEmmanuel Vadot          - mediatek,mt6328
405f62a964SEmmanuel Vadot          - mediatek,mt6358
415f62a964SEmmanuel Vadot          - mediatek,mt6359
425f62a964SEmmanuel Vadot          - mediatek,mt6397
435f62a964SEmmanuel Vadot      - items:
445f62a964SEmmanuel Vadot          - enum:
455f62a964SEmmanuel Vadot              - mediatek,mt6366
465f62a964SEmmanuel Vadot          - const: mediatek,mt6358
475f62a964SEmmanuel Vadot
485f62a964SEmmanuel Vadot  interrupts:
495f62a964SEmmanuel Vadot    maxItems: 1
505f62a964SEmmanuel Vadot
515f62a964SEmmanuel Vadot  interrupt-controller: true
525f62a964SEmmanuel Vadot
535f62a964SEmmanuel Vadot  "#interrupt-cells":
545f62a964SEmmanuel Vadot    const: 2
555f62a964SEmmanuel Vadot
565f62a964SEmmanuel Vadot  rtc:
575f62a964SEmmanuel Vadot    type: object
585f62a964SEmmanuel Vadot    $ref: /schemas/rtc/rtc.yaml#
595f62a964SEmmanuel Vadot    unevaluatedProperties: false
605f62a964SEmmanuel Vadot    description:
615f62a964SEmmanuel Vadot      MT6397 Real Time Clock.
625f62a964SEmmanuel Vadot
635f62a964SEmmanuel Vadot    properties:
645f62a964SEmmanuel Vadot      compatible:
655f62a964SEmmanuel Vadot        oneOf:
665f62a964SEmmanuel Vadot          - enum:
675f62a964SEmmanuel Vadot              - mediatek,mt6323-rtc
685f62a964SEmmanuel Vadot              - mediatek,mt6331-rtc
695f62a964SEmmanuel Vadot              - mediatek,mt6358-rtc
705f62a964SEmmanuel Vadot              - mediatek,mt6397-rtc
715f62a964SEmmanuel Vadot          - items:
725f62a964SEmmanuel Vadot              - enum:
735f62a964SEmmanuel Vadot                  - mediatek,mt6366-rtc
745f62a964SEmmanuel Vadot              - const: mediatek,mt6358-rtc
755f62a964SEmmanuel Vadot
765f62a964SEmmanuel Vadot      start-year: true
775f62a964SEmmanuel Vadot
785f62a964SEmmanuel Vadot    required:
795f62a964SEmmanuel Vadot      - compatible
805f62a964SEmmanuel Vadot
815f62a964SEmmanuel Vadot  regulators:
825f62a964SEmmanuel Vadot    type: object
835f62a964SEmmanuel Vadot    description:
845f62a964SEmmanuel Vadot      List of child nodes that specify the regulators.
855f62a964SEmmanuel Vadot    additionalProperties: true
865f62a964SEmmanuel Vadot
875f62a964SEmmanuel Vadot    properties:
885f62a964SEmmanuel Vadot      compatible:
895f62a964SEmmanuel Vadot        oneOf:
905f62a964SEmmanuel Vadot          - enum:
915f62a964SEmmanuel Vadot              - mediatek,mt6323-regulator
92*2846c905SEmmanuel Vadot              - mediatek,mt6328-regulator
935f62a964SEmmanuel Vadot              - mediatek,mt6358-regulator
945f62a964SEmmanuel Vadot              - mediatek,mt6359-regulator
955f62a964SEmmanuel Vadot              - mediatek,mt6397-regulator
965f62a964SEmmanuel Vadot          - items:
975f62a964SEmmanuel Vadot              - enum:
985f62a964SEmmanuel Vadot                  - mediatek,mt6366-regulator
995f62a964SEmmanuel Vadot              - const: mediatek,mt6358-regulator
1005f62a964SEmmanuel Vadot
1015f62a964SEmmanuel Vadot    required:
1025f62a964SEmmanuel Vadot      - compatible
1035f62a964SEmmanuel Vadot
1045f62a964SEmmanuel Vadot  adc:
1055f62a964SEmmanuel Vadot    type: object
1065f62a964SEmmanuel Vadot    $ref: /schemas/iio/adc/mediatek,mt6359-auxadc.yaml#
1075f62a964SEmmanuel Vadot    unevaluatedProperties: false
1085f62a964SEmmanuel Vadot
1095f62a964SEmmanuel Vadot  audio-codec:
1105f62a964SEmmanuel Vadot    type: object
1115f62a964SEmmanuel Vadot    description:
1125f62a964SEmmanuel Vadot      Audio codec support with MT6358 and MT6397.
1135f62a964SEmmanuel Vadot    additionalProperties: true
1145f62a964SEmmanuel Vadot
1155f62a964SEmmanuel Vadot    properties:
1165f62a964SEmmanuel Vadot      compatible:
1175f62a964SEmmanuel Vadot        oneOf:
1185f62a964SEmmanuel Vadot          - enum:
1195f62a964SEmmanuel Vadot              - mediatek,mt6358-sound
1205f62a964SEmmanuel Vadot              - mediatek,mt6359-codec
1215f62a964SEmmanuel Vadot              - mediatek,mt6397-codec
1225f62a964SEmmanuel Vadot          - items:
1235f62a964SEmmanuel Vadot              - enum:
1245f62a964SEmmanuel Vadot                  - mediatek,mt6366-sound
1255f62a964SEmmanuel Vadot              - const: mediatek,mt6358-sound
1265f62a964SEmmanuel Vadot
1275f62a964SEmmanuel Vadot    required:
1285f62a964SEmmanuel Vadot      - compatible
1295f62a964SEmmanuel Vadot
1305f62a964SEmmanuel Vadot  clocks:
1315f62a964SEmmanuel Vadot    type: object
1325f62a964SEmmanuel Vadot    additionalProperties: false
1335f62a964SEmmanuel Vadot    description:
1345f62a964SEmmanuel Vadot      This is a clock buffer node for mt6397. However, there are no sub nodes
1355f62a964SEmmanuel Vadot      or any public document exposed in public.
1365f62a964SEmmanuel Vadot
1375f62a964SEmmanuel Vadot    properties:
1385f62a964SEmmanuel Vadot      compatible:
1395f62a964SEmmanuel Vadot        const: mediatek,mt6397-clk
1405f62a964SEmmanuel Vadot
1415f62a964SEmmanuel Vadot      '#clock-cells':
1425f62a964SEmmanuel Vadot        const: 1
1435f62a964SEmmanuel Vadot
1445f62a964SEmmanuel Vadot    required:
1455f62a964SEmmanuel Vadot      - compatible
1465f62a964SEmmanuel Vadot
1475f62a964SEmmanuel Vadot  leds:
1485f62a964SEmmanuel Vadot    type: object
1495f62a964SEmmanuel Vadot    additionalProperties: false
1505f62a964SEmmanuel Vadot    description: |
1515f62a964SEmmanuel Vadot      MT6323 LED controller is subfunction provided by MT6323 PMIC, so the LED
1525f62a964SEmmanuel Vadot      controllers are defined as the subnode of the function node provided by MT6323
1535f62a964SEmmanuel Vadot      PMIC controller that is being defined as one kind of Muti-Function Device (MFD)
1545f62a964SEmmanuel Vadot      using shared bus called PMIC wrapper for each subfunction to access remote
1555f62a964SEmmanuel Vadot      MT6323 PMIC hardware.
1565f62a964SEmmanuel Vadot
1575f62a964SEmmanuel Vadot      Each led is represented as a child node of the mediatek,mt6323-led that
1585f62a964SEmmanuel Vadot      describes the initial behavior for each LED physically and currently only four
1595f62a964SEmmanuel Vadot      LED child nodes can be supported.
1605f62a964SEmmanuel Vadot
1615f62a964SEmmanuel Vadot    properties:
1625f62a964SEmmanuel Vadot      compatible:
1635f62a964SEmmanuel Vadot        enum:
1645f62a964SEmmanuel Vadot          - mediatek,mt6323-led
1655f62a964SEmmanuel Vadot          - mediatek,mt6331-led
1665f62a964SEmmanuel Vadot          - mediatek,mt6332-led
1675f62a964SEmmanuel Vadot
1685f62a964SEmmanuel Vadot      reg:
1695f62a964SEmmanuel Vadot        maxItems: 1
1705f62a964SEmmanuel Vadot
1715f62a964SEmmanuel Vadot      "#address-cells":
1725f62a964SEmmanuel Vadot        const: 1
1735f62a964SEmmanuel Vadot
1745f62a964SEmmanuel Vadot      "#size-cells":
1755f62a964SEmmanuel Vadot        const: 0
1765f62a964SEmmanuel Vadot
1775f62a964SEmmanuel Vadot    patternProperties:
1785f62a964SEmmanuel Vadot      "^led@[0-3]$":
1795f62a964SEmmanuel Vadot        type: object
1805f62a964SEmmanuel Vadot        $ref: /schemas/leds/common.yaml#
1815f62a964SEmmanuel Vadot        unevaluatedProperties: false
1825f62a964SEmmanuel Vadot
1835f62a964SEmmanuel Vadot        properties:
1845f62a964SEmmanuel Vadot          reg:
1855f62a964SEmmanuel Vadot            description:
1865f62a964SEmmanuel Vadot              LED channel number (0..3)
1875f62a964SEmmanuel Vadot            minimum: 0
1885f62a964SEmmanuel Vadot            maximum: 3
1895f62a964SEmmanuel Vadot
1905f62a964SEmmanuel Vadot        required:
1915f62a964SEmmanuel Vadot          - reg
1925f62a964SEmmanuel Vadot
1935f62a964SEmmanuel Vadot    required:
1945f62a964SEmmanuel Vadot      - compatible
1955f62a964SEmmanuel Vadot      - "#address-cells"
1965f62a964SEmmanuel Vadot      - "#size-cells"
1975f62a964SEmmanuel Vadot
1985f62a964SEmmanuel Vadot  keys:
1995f62a964SEmmanuel Vadot    type: object
2005f62a964SEmmanuel Vadot    $ref: /schemas/input/mediatek,pmic-keys.yaml
2015f62a964SEmmanuel Vadot    unevaluatedProperties: false
2025f62a964SEmmanuel Vadot    description:
2035f62a964SEmmanuel Vadot      Power and Home keys.
2045f62a964SEmmanuel Vadot
2055f62a964SEmmanuel Vadot  power-controller:
2065f62a964SEmmanuel Vadot    type: object
2075f62a964SEmmanuel Vadot    additionalProperties: false
2085f62a964SEmmanuel Vadot    description:
2095f62a964SEmmanuel Vadot      The power controller which could be found on PMIC is responsible for
2105f62a964SEmmanuel Vadot      externally powering off or on the remote MediaTek SoC through the
2115f62a964SEmmanuel Vadot      circuit BBPU (baseband power up).
2125f62a964SEmmanuel Vadot
2135f62a964SEmmanuel Vadot    properties:
2145f62a964SEmmanuel Vadot      compatible:
2155f62a964SEmmanuel Vadot        const: mediatek,mt6323-pwrc
2165f62a964SEmmanuel Vadot
2175f62a964SEmmanuel Vadot      '#power-domain-cells':
2185f62a964SEmmanuel Vadot        const: 0
2195f62a964SEmmanuel Vadot
2205f62a964SEmmanuel Vadot  pinctrl:
2215f62a964SEmmanuel Vadot    type: object
2225f62a964SEmmanuel Vadot    $ref: /schemas/pinctrl/mediatek,mt65xx-pinctrl.yaml
2235f62a964SEmmanuel Vadot    unevaluatedProperties: false
2245f62a964SEmmanuel Vadot    description:
2255f62a964SEmmanuel Vadot      Pin controller
2265f62a964SEmmanuel Vadot
2275f62a964SEmmanuel Vadotrequired:
2285f62a964SEmmanuel Vadot  - compatible
2295f62a964SEmmanuel Vadot  - regulators
2305f62a964SEmmanuel Vadot
2315f62a964SEmmanuel VadotadditionalProperties: false
2325f62a964SEmmanuel Vadot
2335f62a964SEmmanuel Vadotexamples:
2345f62a964SEmmanuel Vadot  - |
2355f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
2365f62a964SEmmanuel Vadot    #include <dt-bindings/leds/common.h>
2375f62a964SEmmanuel Vadot
2385f62a964SEmmanuel Vadot    pmic {
2395f62a964SEmmanuel Vadot        compatible = "mediatek,mt6323";
2405f62a964SEmmanuel Vadot        interrupt-parent = <&pio>;
2415f62a964SEmmanuel Vadot        interrupts = <150 IRQ_TYPE_LEVEL_HIGH>;
2425f62a964SEmmanuel Vadot        interrupt-controller;
2435f62a964SEmmanuel Vadot        #interrupt-cells = <2>;
2445f62a964SEmmanuel Vadot
2455f62a964SEmmanuel Vadot        leds {
2465f62a964SEmmanuel Vadot            compatible = "mediatek,mt6323-led";
2475f62a964SEmmanuel Vadot            #address-cells = <1>;
2485f62a964SEmmanuel Vadot            #size-cells = <0>;
2495f62a964SEmmanuel Vadot        };
2505f62a964SEmmanuel Vadot
2515f62a964SEmmanuel Vadot        regulators {
2525f62a964SEmmanuel Vadot            compatible = "mediatek,mt6323-regulator";
2535f62a964SEmmanuel Vadot
2545f62a964SEmmanuel Vadot            buck_vproc {
2555f62a964SEmmanuel Vadot                regulator-name = "vproc";
2565f62a964SEmmanuel Vadot                regulator-min-microvolt = < 700000>;
2575f62a964SEmmanuel Vadot                regulator-max-microvolt = <1350000>;
2585f62a964SEmmanuel Vadot                regulator-ramp-delay = <12500>;
2595f62a964SEmmanuel Vadot                regulator-always-on;
2605f62a964SEmmanuel Vadot                regulator-boot-on;
2615f62a964SEmmanuel Vadot            };
2625f62a964SEmmanuel Vadot
2635f62a964SEmmanuel Vadot            buck_vsys {
2645f62a964SEmmanuel Vadot                regulator-name = "vsys";
2655f62a964SEmmanuel Vadot                regulator-min-microvolt = <1400000>;
2665f62a964SEmmanuel Vadot                regulator-max-microvolt = <2987500>;
2675f62a964SEmmanuel Vadot                regulator-ramp-delay = <25000>;
2685f62a964SEmmanuel Vadot                regulator-always-on;
2695f62a964SEmmanuel Vadot                regulator-boot-on;
2705f62a964SEmmanuel Vadot            };
2715f62a964SEmmanuel Vadot
2725f62a964SEmmanuel Vadot            buck_vpa {
2735f62a964SEmmanuel Vadot                regulator-name = "vpa";
2745f62a964SEmmanuel Vadot                regulator-min-microvolt = < 500000>;
2755f62a964SEmmanuel Vadot                regulator-max-microvolt = <3650000>;
2765f62a964SEmmanuel Vadot            };
2775f62a964SEmmanuel Vadot
2785f62a964SEmmanuel Vadot            ldo_vtcxo {
2795f62a964SEmmanuel Vadot                regulator-name = "vtcxo";
2805f62a964SEmmanuel Vadot                regulator-min-microvolt = <2800000>;
2815f62a964SEmmanuel Vadot                regulator-max-microvolt = <2800000>;
2825f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <90>;
2835f62a964SEmmanuel Vadot                regulator-always-on;
2845f62a964SEmmanuel Vadot                regulator-boot-on;
2855f62a964SEmmanuel Vadot            };
2865f62a964SEmmanuel Vadot
2875f62a964SEmmanuel Vadot            ldo_vcn28 {
2885f62a964SEmmanuel Vadot                regulator-name = "vcn28";
2895f62a964SEmmanuel Vadot                regulator-min-microvolt = <2800000>;
2905f62a964SEmmanuel Vadot                regulator-max-microvolt = <2800000>;
2915f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <185>;
2925f62a964SEmmanuel Vadot            };
2935f62a964SEmmanuel Vadot
2945f62a964SEmmanuel Vadot            ldo_vcn33_bt {
2955f62a964SEmmanuel Vadot                regulator-name = "vcn33_bt";
2965f62a964SEmmanuel Vadot                regulator-min-microvolt = <3300000>;
2975f62a964SEmmanuel Vadot                regulator-max-microvolt = <3600000>;
2985f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <185>;
2995f62a964SEmmanuel Vadot            };
3005f62a964SEmmanuel Vadot
3015f62a964SEmmanuel Vadot            ldo_vcn33_wifi {
3025f62a964SEmmanuel Vadot                regulator-name = "vcn33_wifi";
3035f62a964SEmmanuel Vadot                regulator-min-microvolt = <3300000>;
3045f62a964SEmmanuel Vadot                regulator-max-microvolt = <3600000>;
3055f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <185>;
3065f62a964SEmmanuel Vadot            };
3075f62a964SEmmanuel Vadot
3085f62a964SEmmanuel Vadot            ldo_va {
3095f62a964SEmmanuel Vadot                regulator-name = "va";
3105f62a964SEmmanuel Vadot                regulator-min-microvolt = <2800000>;
3115f62a964SEmmanuel Vadot                regulator-max-microvolt = <2800000>;
3125f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3135f62a964SEmmanuel Vadot                regulator-always-on;
3145f62a964SEmmanuel Vadot                regulator-boot-on;
3155f62a964SEmmanuel Vadot            };
3165f62a964SEmmanuel Vadot
3175f62a964SEmmanuel Vadot            ldo_vcama {
3185f62a964SEmmanuel Vadot                regulator-name = "vcama";
3195f62a964SEmmanuel Vadot                regulator-min-microvolt = <1500000>;
3205f62a964SEmmanuel Vadot                regulator-max-microvolt = <2800000>;
3215f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3225f62a964SEmmanuel Vadot            };
3235f62a964SEmmanuel Vadot
3245f62a964SEmmanuel Vadot            ldo_vio28 {
3255f62a964SEmmanuel Vadot                regulator-name = "vio28";
3265f62a964SEmmanuel Vadot                regulator-min-microvolt = <2800000>;
3275f62a964SEmmanuel Vadot                regulator-max-microvolt = <2800000>;
3285f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3295f62a964SEmmanuel Vadot                regulator-always-on;
3305f62a964SEmmanuel Vadot                regulator-boot-on;
3315f62a964SEmmanuel Vadot            };
3325f62a964SEmmanuel Vadot
3335f62a964SEmmanuel Vadot            ldo_vusb {
3345f62a964SEmmanuel Vadot                regulator-name = "vusb";
3355f62a964SEmmanuel Vadot                regulator-min-microvolt = <3300000>;
3365f62a964SEmmanuel Vadot                regulator-max-microvolt = <3300000>;
3375f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3385f62a964SEmmanuel Vadot                regulator-boot-on;
3395f62a964SEmmanuel Vadot            };
3405f62a964SEmmanuel Vadot
3415f62a964SEmmanuel Vadot            ldo_vmc {
3425f62a964SEmmanuel Vadot                regulator-name = "vmc";
3435f62a964SEmmanuel Vadot                regulator-min-microvolt = <1800000>;
3445f62a964SEmmanuel Vadot                regulator-max-microvolt = <3300000>;
3455f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <36>;
3465f62a964SEmmanuel Vadot                regulator-boot-on;
3475f62a964SEmmanuel Vadot            };
3485f62a964SEmmanuel Vadot
3495f62a964SEmmanuel Vadot            ldo_vmch {
3505f62a964SEmmanuel Vadot                regulator-name = "vmch";
3515f62a964SEmmanuel Vadot                regulator-min-microvolt = <3000000>;
3525f62a964SEmmanuel Vadot                regulator-max-microvolt = <3300000>;
3535f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <36>;
3545f62a964SEmmanuel Vadot                regulator-boot-on;
3555f62a964SEmmanuel Vadot            };
3565f62a964SEmmanuel Vadot
3575f62a964SEmmanuel Vadot            ldo_vemc3v3 {
3585f62a964SEmmanuel Vadot                regulator-name = "vemc3v3";
3595f62a964SEmmanuel Vadot                regulator-min-microvolt = <3000000>;
3605f62a964SEmmanuel Vadot                regulator-max-microvolt = <3300000>;
3615f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <36>;
3625f62a964SEmmanuel Vadot                regulator-boot-on;
3635f62a964SEmmanuel Vadot            };
3645f62a964SEmmanuel Vadot
3655f62a964SEmmanuel Vadot            ldo_vgp1 {
3665f62a964SEmmanuel Vadot                regulator-name = "vgp1";
3675f62a964SEmmanuel Vadot                regulator-min-microvolt = <1200000>;
3685f62a964SEmmanuel Vadot                regulator-max-microvolt = <3300000>;
3695f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3705f62a964SEmmanuel Vadot            };
3715f62a964SEmmanuel Vadot
3725f62a964SEmmanuel Vadot            ldo_vgp2 {
3735f62a964SEmmanuel Vadot                regulator-name = "vgp2";
3745f62a964SEmmanuel Vadot                regulator-min-microvolt = <1200000>;
3755f62a964SEmmanuel Vadot                regulator-max-microvolt = <3000000>;
3765f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3775f62a964SEmmanuel Vadot            };
3785f62a964SEmmanuel Vadot
3795f62a964SEmmanuel Vadot            ldo_vgp3 {
3805f62a964SEmmanuel Vadot                regulator-name = "vgp3";
3815f62a964SEmmanuel Vadot                regulator-min-microvolt = <1200000>;
3825f62a964SEmmanuel Vadot                regulator-max-microvolt = <1800000>;
3835f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3845f62a964SEmmanuel Vadot            };
3855f62a964SEmmanuel Vadot
3865f62a964SEmmanuel Vadot            ldo_vcn18 {
3875f62a964SEmmanuel Vadot                regulator-name = "vcn18";
3885f62a964SEmmanuel Vadot                regulator-min-microvolt = <1800000>;
3895f62a964SEmmanuel Vadot                regulator-max-microvolt = <1800000>;
3905f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3915f62a964SEmmanuel Vadot            };
3925f62a964SEmmanuel Vadot
3935f62a964SEmmanuel Vadot            ldo_vsim1 {
3945f62a964SEmmanuel Vadot                regulator-name = "vsim1";
3955f62a964SEmmanuel Vadot                regulator-min-microvolt = <1800000>;
3965f62a964SEmmanuel Vadot                regulator-max-microvolt = <3000000>;
3975f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
3985f62a964SEmmanuel Vadot            };
3995f62a964SEmmanuel Vadot
4005f62a964SEmmanuel Vadot            ldo_vsim2 {
4015f62a964SEmmanuel Vadot                regulator-name = "vsim2";
4025f62a964SEmmanuel Vadot                regulator-min-microvolt = <1800000>;
4035f62a964SEmmanuel Vadot                regulator-max-microvolt = <3000000>;
4045f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
4055f62a964SEmmanuel Vadot            };
4065f62a964SEmmanuel Vadot
4075f62a964SEmmanuel Vadot            ldo_vrtc {
4085f62a964SEmmanuel Vadot                regulator-name = "vrtc";
4095f62a964SEmmanuel Vadot                regulator-min-microvolt = <2800000>;
4105f62a964SEmmanuel Vadot                regulator-max-microvolt = <2800000>;
4115f62a964SEmmanuel Vadot                regulator-always-on;
4125f62a964SEmmanuel Vadot                regulator-boot-on;
4135f62a964SEmmanuel Vadot            };
4145f62a964SEmmanuel Vadot
4155f62a964SEmmanuel Vadot            ldo_vcamaf {
4165f62a964SEmmanuel Vadot                regulator-name = "vcamaf";
4175f62a964SEmmanuel Vadot                regulator-min-microvolt = <1200000>;
4185f62a964SEmmanuel Vadot                regulator-max-microvolt = <3300000>;
4195f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
4205f62a964SEmmanuel Vadot            };
4215f62a964SEmmanuel Vadot
4225f62a964SEmmanuel Vadot            ldo_vibr {
4235f62a964SEmmanuel Vadot                regulator-name = "vibr";
4245f62a964SEmmanuel Vadot                regulator-min-microvolt = <1200000>;
4255f62a964SEmmanuel Vadot                regulator-max-microvolt = <3300000>;
4265f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <36>;
4275f62a964SEmmanuel Vadot            };
4285f62a964SEmmanuel Vadot
4295f62a964SEmmanuel Vadot            ldo_vrf18 {
4305f62a964SEmmanuel Vadot                regulator-name = "vrf18";
4315f62a964SEmmanuel Vadot                regulator-min-microvolt = <1825000>;
4325f62a964SEmmanuel Vadot                regulator-max-microvolt = <1825000>;
4335f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <187>;
4345f62a964SEmmanuel Vadot            };
4355f62a964SEmmanuel Vadot
4365f62a964SEmmanuel Vadot            ldo_vm {
4375f62a964SEmmanuel Vadot                regulator-name = "vm";
4385f62a964SEmmanuel Vadot                regulator-min-microvolt = <1200000>;
4395f62a964SEmmanuel Vadot                regulator-max-microvolt = <1800000>;
4405f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
4415f62a964SEmmanuel Vadot                regulator-always-on;
4425f62a964SEmmanuel Vadot                regulator-boot-on;
4435f62a964SEmmanuel Vadot            };
4445f62a964SEmmanuel Vadot
4455f62a964SEmmanuel Vadot            ldo_vio18 {
4465f62a964SEmmanuel Vadot                regulator-name = "vio18";
4475f62a964SEmmanuel Vadot                regulator-min-microvolt = <1800000>;
4485f62a964SEmmanuel Vadot                regulator-max-microvolt = <1800000>;
4495f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
4505f62a964SEmmanuel Vadot                regulator-always-on;
4515f62a964SEmmanuel Vadot                regulator-boot-on;
4525f62a964SEmmanuel Vadot            };
4535f62a964SEmmanuel Vadot
4545f62a964SEmmanuel Vadot           ldo_vcamd {
4555f62a964SEmmanuel Vadot                regulator-name = "vcamd";
4565f62a964SEmmanuel Vadot                regulator-min-microvolt = <1200000>;
4575f62a964SEmmanuel Vadot                regulator-max-microvolt = <1800000>;
4585f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
4595f62a964SEmmanuel Vadot            };
4605f62a964SEmmanuel Vadot
4615f62a964SEmmanuel Vadot            ldo_vcamio {
4625f62a964SEmmanuel Vadot                regulator-name = "vcamio";
4635f62a964SEmmanuel Vadot                regulator-min-microvolt = <1800000>;
4645f62a964SEmmanuel Vadot                regulator-max-microvolt = <1800000>;
4655f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <216>;
4665f62a964SEmmanuel Vadot            };
4675f62a964SEmmanuel Vadot        };
4685f62a964SEmmanuel Vadot
4695f62a964SEmmanuel Vadot        keys {
4705f62a964SEmmanuel Vadot            compatible = "mediatek,mt6323-keys";
4715f62a964SEmmanuel Vadot            mediatek,long-press-mode = <1>;
4725f62a964SEmmanuel Vadot            power-off-time-sec = <0>;
4735f62a964SEmmanuel Vadot
4745f62a964SEmmanuel Vadot            power {
4755f62a964SEmmanuel Vadot                linux,keycodes = <116>;
4765f62a964SEmmanuel Vadot                wakeup-source;
4775f62a964SEmmanuel Vadot            };
4785f62a964SEmmanuel Vadot
4795f62a964SEmmanuel Vadot            home {
4805f62a964SEmmanuel Vadot                linux,keycodes = <114>;
4815f62a964SEmmanuel Vadot            };
4825f62a964SEmmanuel Vadot        };
4835f62a964SEmmanuel Vadot
4845f62a964SEmmanuel Vadot        power-controller {
4855f62a964SEmmanuel Vadot            compatible = "mediatek,mt6323-pwrc";
4865f62a964SEmmanuel Vadot            #power-domain-cells = <0>;
4875f62a964SEmmanuel Vadot        };
4885f62a964SEmmanuel Vadot
4895f62a964SEmmanuel Vadot        rtc {
4905f62a964SEmmanuel Vadot            compatible = "mediatek,mt6323-rtc";
4915f62a964SEmmanuel Vadot        };
4925f62a964SEmmanuel Vadot    };
4935f62a964SEmmanuel Vadot
4945f62a964SEmmanuel Vadot  - |
4955f62a964SEmmanuel Vadot    #include <dt-bindings/input/input.h>
4965f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
4975f62a964SEmmanuel Vadot
4985f62a964SEmmanuel Vadot    pmic {
4995f62a964SEmmanuel Vadot        compatible = "mediatek,mt6358";
5005f62a964SEmmanuel Vadot        interrupt-controller;
5015f62a964SEmmanuel Vadot        #interrupt-cells = <2>;
5025f62a964SEmmanuel Vadot
5035f62a964SEmmanuel Vadot        audio-codec {
5045f62a964SEmmanuel Vadot            compatible = "mediatek,mt6358-sound";
5055f62a964SEmmanuel Vadot            Avdd-supply = <&mt6358_vaud28_reg>;
5065f62a964SEmmanuel Vadot            mediatek,dmic-mode = <0>;
5075f62a964SEmmanuel Vadot        };
5085f62a964SEmmanuel Vadot
5095f62a964SEmmanuel Vadot        regulators {
5105f62a964SEmmanuel Vadot            compatible = "mediatek,mt6358-regulator";
5115f62a964SEmmanuel Vadot
5125f62a964SEmmanuel Vadot            buck_vdram1 {
5135f62a964SEmmanuel Vadot                regulator-name = "vdram1";
5145f62a964SEmmanuel Vadot                regulator-min-microvolt = <500000>;
5155f62a964SEmmanuel Vadot                regulator-max-microvolt = <2087500>;
5165f62a964SEmmanuel Vadot                regulator-ramp-delay = <12500>;
5175f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <0>;
5185f62a964SEmmanuel Vadot                regulator-always-on;
5195f62a964SEmmanuel Vadot                regulator-allowed-modes = <0 1>;
5205f62a964SEmmanuel Vadot            };
5215f62a964SEmmanuel Vadot
5225f62a964SEmmanuel Vadot            // ...
5235f62a964SEmmanuel Vadot
5245f62a964SEmmanuel Vadot            ldo_vsim2 {
5255f62a964SEmmanuel Vadot                regulator-name = "vsim2";
5265f62a964SEmmanuel Vadot                regulator-min-microvolt = <1700000>;
5275f62a964SEmmanuel Vadot                regulator-max-microvolt = <3100000>;
5285f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <540>;
5295f62a964SEmmanuel Vadot            };
5305f62a964SEmmanuel Vadot        };
5315f62a964SEmmanuel Vadot
5325f62a964SEmmanuel Vadot        rtc {
5335f62a964SEmmanuel Vadot            compatible = "mediatek,mt6358-rtc";
5345f62a964SEmmanuel Vadot        };
5355f62a964SEmmanuel Vadot
5365f62a964SEmmanuel Vadot        keys {
5375f62a964SEmmanuel Vadot            compatible = "mediatek,mt6358-keys";
5385f62a964SEmmanuel Vadot
5395f62a964SEmmanuel Vadot            power {
5405f62a964SEmmanuel Vadot                linux,keycodes = <KEY_POWER>;
5415f62a964SEmmanuel Vadot                wakeup-source;
5425f62a964SEmmanuel Vadot            };
5435f62a964SEmmanuel Vadot
5445f62a964SEmmanuel Vadot            home {
5455f62a964SEmmanuel Vadot                linux,keycodes = <KEY_HOME>;
5465f62a964SEmmanuel Vadot            };
5475f62a964SEmmanuel Vadot        };
5485f62a964SEmmanuel Vadot    };
5495f62a964SEmmanuel Vadot
5505f62a964SEmmanuel Vadot  - |
5515f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
5525f62a964SEmmanuel Vadot
5535f62a964SEmmanuel Vadot    pmic {
5545f62a964SEmmanuel Vadot        compatible = "mediatek,mt6397";
5555f62a964SEmmanuel Vadot
5565f62a964SEmmanuel Vadot        interrupt-parent = <&pio>;
5575f62a964SEmmanuel Vadot        interrupts-extended = <&pio 222 IRQ_TYPE_LEVEL_HIGH>;
5585f62a964SEmmanuel Vadot        interrupt-controller;
5595f62a964SEmmanuel Vadot        #interrupt-cells = <2>;
5605f62a964SEmmanuel Vadot
5615f62a964SEmmanuel Vadot        audio-codec {
5625f62a964SEmmanuel Vadot            compatible = "mediatek,mt6397-codec";
5635f62a964SEmmanuel Vadot        };
5645f62a964SEmmanuel Vadot
5655f62a964SEmmanuel Vadot        clocks {
5665f62a964SEmmanuel Vadot            compatible = "mediatek,mt6397-clk";
5675f62a964SEmmanuel Vadot            #clock-cells = <1>;
5685f62a964SEmmanuel Vadot        };
5695f62a964SEmmanuel Vadot
5705f62a964SEmmanuel Vadot        pinctrl {
5715f62a964SEmmanuel Vadot            compatible = "mediatek,mt6397-pinctrl";
5725f62a964SEmmanuel Vadot            gpio-controller;
5735f62a964SEmmanuel Vadot            #gpio-cells = <2>;
5745f62a964SEmmanuel Vadot        };
5755f62a964SEmmanuel Vadot
5765f62a964SEmmanuel Vadot        regulators {
5775f62a964SEmmanuel Vadot            compatible = "mediatek,mt6397-regulator";
5785f62a964SEmmanuel Vadot
5795f62a964SEmmanuel Vadot            buck_vpca15 {
5805f62a964SEmmanuel Vadot                regulator-name = "vpca15";
5815f62a964SEmmanuel Vadot                regulator-min-microvolt = < 850000>;
5825f62a964SEmmanuel Vadot                regulator-max-microvolt = <1350000>;
5835f62a964SEmmanuel Vadot                regulator-ramp-delay = <12500>;
5845f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <200>;
5855f62a964SEmmanuel Vadot            };
5865f62a964SEmmanuel Vadot
5875f62a964SEmmanuel Vadot            // ...
5885f62a964SEmmanuel Vadot
5895f62a964SEmmanuel Vadot            ldo_vibr {
5905f62a964SEmmanuel Vadot                regulator-name = "vibr";
5915f62a964SEmmanuel Vadot                regulator-min-microvolt = <1200000>;
5925f62a964SEmmanuel Vadot                regulator-max-microvolt = <3300000>;
5935f62a964SEmmanuel Vadot                regulator-enable-ramp-delay = <218>;
5945f62a964SEmmanuel Vadot            };
5955f62a964SEmmanuel Vadot        };
5965f62a964SEmmanuel Vadot
5975f62a964SEmmanuel Vadot        rtc {
5985f62a964SEmmanuel Vadot            compatible = "mediatek,mt6397-rtc";
5995f62a964SEmmanuel Vadot        };
6005f62a964SEmmanuel Vadot    };
601