162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/mediatek,mt6357.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: MediaTek MT6357 PMIC
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Flora Fu <flora.fu@mediatek.com>
1162306a36Sopenharmony_ci  - Alexandre Mergnat <amergnat@baylibre.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: |
1462306a36Sopenharmony_ci  MT6357 is a power management system chip containing 5 buck
1562306a36Sopenharmony_ci  converters and 29 LDOs. Supported features are audio codec,
1662306a36Sopenharmony_ci  USB battery charging, fuel gauge, RTC
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci  This is a multifunction device with the following sub modules:
1962306a36Sopenharmony_ci  - Regulator
2062306a36Sopenharmony_ci  - RTC
2162306a36Sopenharmony_ci  - Keys
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci  It is interfaced to host controller using SPI interface by a proprietary hardware
2462306a36Sopenharmony_ci  called PMIC wrapper or pwrap. This MFD is a child device of pwrap.
2562306a36Sopenharmony_ci  See the following for pwrap node definitions:
2662306a36Sopenharmony_ci  Documentation/devicetree/bindings/soc/mediatek/mediatek,pwrap.yaml
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciproperties:
2962306a36Sopenharmony_ci  compatible:
3062306a36Sopenharmony_ci    const: mediatek,mt6357
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  interrupts:
3362306a36Sopenharmony_ci    maxItems: 1
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci  interrupt-controller: true
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  "#interrupt-cells":
3862306a36Sopenharmony_ci    const: 2
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  regulators:
4162306a36Sopenharmony_ci    type: object
4262306a36Sopenharmony_ci    $ref: /schemas/regulator/mediatek,mt6357-regulator.yaml
4362306a36Sopenharmony_ci    description:
4462306a36Sopenharmony_ci      List of MT6357 BUCKs and LDOs regulators.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci  rtc:
4762306a36Sopenharmony_ci    type: object
4862306a36Sopenharmony_ci    $ref: /schemas/rtc/rtc.yaml#
4962306a36Sopenharmony_ci    unevaluatedProperties: false
5062306a36Sopenharmony_ci    description:
5162306a36Sopenharmony_ci      MT6357 Real Time Clock.
5262306a36Sopenharmony_ci    properties:
5362306a36Sopenharmony_ci      compatible:
5462306a36Sopenharmony_ci        const: mediatek,mt6357-rtc
5562306a36Sopenharmony_ci      start-year: true
5662306a36Sopenharmony_ci    required:
5762306a36Sopenharmony_ci      - compatible
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci  keys:
6062306a36Sopenharmony_ci    type: object
6162306a36Sopenharmony_ci    $ref: /schemas/input/mediatek,pmic-keys.yaml
6262306a36Sopenharmony_ci    description:
6362306a36Sopenharmony_ci      MT6357 power and home keys.
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_cirequired:
6662306a36Sopenharmony_ci  - compatible
6762306a36Sopenharmony_ci  - regulators
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciadditionalProperties: false
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ciexamples:
7262306a36Sopenharmony_ci  - |
7362306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci    pwrap {
7662306a36Sopenharmony_ci        pmic {
7762306a36Sopenharmony_ci            compatible = "mediatek,mt6357";
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci            interrupt-parent = <&pio>;
8062306a36Sopenharmony_ci            interrupts = <145 IRQ_TYPE_LEVEL_HIGH>;
8162306a36Sopenharmony_ci            interrupt-controller;
8262306a36Sopenharmony_ci            #interrupt-cells = <2>;
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci            regulators {
8562306a36Sopenharmony_ci                mt6357_vproc_reg: buck-vproc {
8662306a36Sopenharmony_ci                    regulator-name = "vproc";
8762306a36Sopenharmony_ci                    regulator-min-microvolt = <518750>;
8862306a36Sopenharmony_ci                    regulator-max-microvolt = <1312500>;
8962306a36Sopenharmony_ci                    regulator-ramp-delay = <6250>;
9062306a36Sopenharmony_ci                    regulator-enable-ramp-delay = <220>;
9162306a36Sopenharmony_ci                    regulator-always-on;
9262306a36Sopenharmony_ci                };
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci                // ...
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci                mt6357_vusb33_reg: ldo-vusb33 {
9762306a36Sopenharmony_ci                    regulator-name = "vusb33";
9862306a36Sopenharmony_ci                    regulator-min-microvolt = <3000000>;
9962306a36Sopenharmony_ci                    regulator-max-microvolt = <3100000>;
10062306a36Sopenharmony_ci                    regulator-enable-ramp-delay = <264>;
10162306a36Sopenharmony_ci                };
10262306a36Sopenharmony_ci            };
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci            rtc {
10562306a36Sopenharmony_ci                compatible = "mediatek,mt6357-rtc";
10662306a36Sopenharmony_ci            };
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci            keys {
10962306a36Sopenharmony_ci                compatible = "mediatek,mt6357-keys";
11062306a36Sopenharmony_ci            };
11162306a36Sopenharmony_ci        };
11262306a36Sopenharmony_ci    };
113