1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 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 Integrated 8 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,mt6360 21 22 reg: 23 maxItems: 1 24 25 wakeup-source: true 26 27 interrupts: 28 maxItems: 1 29 30 interrupt-names: 31 const: IRQB 32 33 interrupt-controller: true 34 35 "#interrupt-cells": 36 const: 1 37 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 - compatible 54 - reg 55 - interrupts 56 - interrupt-controller 57 - "#interrupt-cells" 58 59additionalProperties: 60 type: object 61 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_NORMAL 151 MT6360_OPMODE_LP 152 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_NORMAL 159 MT6360_OPMODE_LP 160 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_NORMAL 167 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_NORMAL 174 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_NORMAL 181 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_NORMAL 188 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_NORMAL 195 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_NORMAL 202 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