248 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/mediatek,mt6360.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: MT6360 PMIC from MediaTek Integrated8 9maintainers:10 - Gene Chen <gene_chen@richtek.com>11 12description: |13 MT6360 is a PMIC device with the following sub modules.14 It is interfaced to host controller using I2C interface.15 16 This document describes the binding for PMIC device and its sub module.17 18properties:19 compatible:20 const: mediatek,mt636021 22 reg:23 maxItems: 124 25 wakeup-source: true26 27 interrupts:28 maxItems: 129 30 interrupt-names:31 const: IRQB32 33 interrupt-controller: true34 35 "#interrupt-cells":36 const: 137 description:38 The first cell is the IRQ number.39 40 regulators:41 $ref: /schemas/regulator/mt6360-regulator.yaml#42 43 charger:44 $ref: /schemas/power/supply/mt6360_charger.yaml#45 46 tcpc:47 $ref: /schemas/usb/mediatek,mt6360-tcpc.yaml#48 49 led-controller:50 $ref: /schemas/leds/leds-mt6360.yaml#51 52required:53 - compatible54 - reg55 - interrupts56 - interrupt-controller57 - "#interrupt-cells"58 59additionalProperties:60 type: object61 62examples:63 - |64 #include <dt-bindings/interrupt-controller/irq.h>65 #include <dt-bindings/regulator/mediatek,mt6360-regulator.h>66 #include <dt-bindings/leds/common.h>67 #include <dt-bindings/usb/pd.h>68 i2c {69 #address-cells = <1>;70 #size-cells = <0>;71 72 pmic@34 {73 compatible = "mediatek,mt6360";74 reg = <0x34>;75 wakeup-source;76 interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;77 interrupt-names = "IRQB";78 interrupt-controller;79 #interrupt-cells = <1>;80 81 mt6360_charger: charger {82 compatible = "mediatek,mt6360-chg";83 richtek,vinovp-microvolt = <14500000>;84 85 otg_vbus_regulator: usb-otg-vbus-regulator {86 regulator-name = "usb-otg-vbus";87 regulator-min-microvolt = <4425000>;88 regulator-max-microvolt = <5825000>;89 };90 };91 92 led-controller {93 compatible = "mediatek,mt6360-led";94 #address-cells = <1>;95 #size-cells = <0>;96 97 multi-led@0 {98 reg = <0>;99 function = LED_FUNCTION_INDICATOR;100 color = <LED_COLOR_ID_RGB>;101 led-max-microamp = <24000>;102 #address-cells = <1>;103 #size-cells = <0>;104 led@0 {105 reg = <0>;106 color = <LED_COLOR_ID_RED>;107 };108 led@1 {109 reg = <1>;110 color = <LED_COLOR_ID_GREEN>;111 };112 led@2 {113 reg = <2>;114 color = <LED_COLOR_ID_BLUE>;115 };116 };117 led@3 {118 reg = <3>;119 function = LED_FUNCTION_INDICATOR;120 color = <LED_COLOR_ID_WHITE>;121 led-max-microamp = <150000>;122 };123 led@4 {124 reg = <4>;125 function = LED_FUNCTION_FLASH;126 color = <LED_COLOR_ID_WHITE>;127 function-enumerator = <1>;128 led-max-microamp = <200000>;129 flash-max-microamp = <500000>;130 flash-max-timeout-us = <1024000>;131 };132 led@5 {133 reg = <5>;134 function = LED_FUNCTION_FLASH;135 color = <LED_COLOR_ID_WHITE>;136 function-enumerator = <2>;137 led-max-microamp = <200000>;138 flash-max-microamp = <500000>;139 flash-max-timeout-us = <1024000>;140 };141 };142 143 regulators {144 compatible = "mediatek,mt6360-regulator";145 LDO_VIN3-supply = <&BUCK2>;146 buck1 {147 regulator-name = "mt6360,buck1";148 regulator-min-microvolt = <300000>;149 regulator-max-microvolt = <1300000>;150 regulator-allowed-modes = <MT6360_OPMODE_NORMAL151 MT6360_OPMODE_LP152 MT6360_OPMODE_ULP>;153 };154 BUCK2: buck2 {155 regulator-name = "mt6360,buck2";156 regulator-min-microvolt = <300000>;157 regulator-max-microvolt = <1300000>;158 regulator-allowed-modes = <MT6360_OPMODE_NORMAL159 MT6360_OPMODE_LP160 MT6360_OPMODE_ULP>;161 };162 ldo6 {163 regulator-name = "mt6360,ldo6";164 regulator-min-microvolt = <500000>;165 regulator-max-microvolt = <2100000>;166 regulator-allowed-modes = <MT6360_OPMODE_NORMAL167 MT6360_OPMODE_LP>;168 };169 ldo7 {170 regulator-name = "mt6360,ldo7";171 regulator-min-microvolt = <500000>;172 regulator-max-microvolt = <2100000>;173 regulator-allowed-modes = <MT6360_OPMODE_NORMAL174 MT6360_OPMODE_LP>;175 };176 ldo1 {177 regulator-name = "mt6360,ldo1";178 regulator-min-microvolt = <1200000>;179 regulator-max-microvolt = <3600000>;180 regulator-allowed-modes = <MT6360_OPMODE_NORMAL181 MT6360_OPMODE_LP>;182 };183 ldo2 {184 regulator-name = "mt6360,ldo2";185 regulator-min-microvolt = <1200000>;186 regulator-max-microvolt = <3600000>;187 regulator-allowed-modes = <MT6360_OPMODE_NORMAL188 MT6360_OPMODE_LP>;189 };190 ldo3 {191 regulator-name = "mt6360,ldo3";192 regulator-min-microvolt = <1200000>;193 regulator-max-microvolt = <3600000>;194 regulator-allowed-modes = <MT6360_OPMODE_NORMAL195 MT6360_OPMODE_LP>;196 };197 ldo5 {198 regulator-name = "mt6360,ldo5";199 regulator-min-microvolt = <2700000>;200 regulator-max-microvolt = <3600000>;201 regulator-allowed-modes = <MT6360_OPMODE_NORMAL202 MT6360_OPMODE_LP>;203 };204 };205 206 tcpc {207 compatible = "mediatek,mt6360-tcpc";208 interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;209 interrupt-names = "PD_IRQB";210 211 connector {212 compatible = "usb-c-connector";213 label = "USB-C";214 data-role = "dual";215 power-role = "dual";216 try-power-role = "sink";217 source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;218 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;219 op-sink-microwatt = <10000000>;220 221 ports {222 #address-cells = <1>;223 #size-cells = <0>;224 225 port@0 {226 reg = <0>;227 endpoint {228 remote-endpoint = <&usb_hs>;229 };230 };231 port@1 {232 reg = <1>;233 endpoint {234 remote-endpoint = <&usb_ss>;235 };236 };237 port@2 {238 reg = <2>;239 endpoint {240 remote-endpoint = <&dp_aux>;241 };242 };243 };244 };245 };246 };247 };248