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