mediatek,mt6360.yaml (8858B)
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-compatible = "usb-otg-vbus"; 87 regulator-name = "usb-otg-vbus"; 88 regulator-min-microvolt = <4425000>; 89 regulator-max-microvolt = <5825000>; 90 }; 91 }; 92 93 led-controller { 94 compatible = "mediatek,mt6360-led"; 95 #address-cells = <1>; 96 #size-cells = <0>; 97 98 multi-led@0 { 99 reg = <0>; 100 function = LED_FUNCTION_INDICATOR; 101 color = <LED_COLOR_ID_RGB>; 102 led-max-microamp = <24000>; 103 #address-cells = <1>; 104 #size-cells = <0>; 105 led@0 { 106 reg = <0>; 107 color = <LED_COLOR_ID_RED>; 108 }; 109 led@1 { 110 reg = <1>; 111 color = <LED_COLOR_ID_GREEN>; 112 }; 113 led@2 { 114 reg = <2>; 115 color = <LED_COLOR_ID_BLUE>; 116 }; 117 }; 118 led@3 { 119 reg = <3>; 120 function = LED_FUNCTION_INDICATOR; 121 color = <LED_COLOR_ID_WHITE>; 122 led-max-microamp = <150000>; 123 }; 124 led@4 { 125 reg = <4>; 126 function = LED_FUNCTION_FLASH; 127 color = <LED_COLOR_ID_WHITE>; 128 function-enumerator = <1>; 129 led-max-microamp = <200000>; 130 flash-max-microamp = <500000>; 131 flash-max-timeout-us = <1024000>; 132 }; 133 led@5 { 134 reg = <5>; 135 function = LED_FUNCTION_FLASH; 136 color = <LED_COLOR_ID_WHITE>; 137 function-enumerator = <2>; 138 led-max-microamp = <200000>; 139 flash-max-microamp = <500000>; 140 flash-max-timeout-us = <1024000>; 141 }; 142 }; 143 144 regulators { 145 compatible = "mediatek,mt6360-regulator"; 146 LDO_VIN3-supply = <&BUCK2>; 147 buck1 { 148 regulator-compatible = "BUCK1"; 149 regulator-name = "mt6360,buck1"; 150 regulator-min-microvolt = <300000>; 151 regulator-max-microvolt = <1300000>; 152 regulator-allowed-modes = <MT6360_OPMODE_NORMAL 153 MT6360_OPMODE_LP 154 MT6360_OPMODE_ULP>; 155 }; 156 BUCK2: buck2 { 157 regulator-compatible = "BUCK2"; 158 regulator-name = "mt6360,buck2"; 159 regulator-min-microvolt = <300000>; 160 regulator-max-microvolt = <1300000>; 161 regulator-allowed-modes = <MT6360_OPMODE_NORMAL 162 MT6360_OPMODE_LP 163 MT6360_OPMODE_ULP>; 164 }; 165 ldo6 { 166 regulator-compatible = "LDO6"; 167 regulator-name = "mt6360,ldo6"; 168 regulator-min-microvolt = <500000>; 169 regulator-max-microvolt = <2100000>; 170 regulator-allowed-modes = <MT6360_OPMODE_NORMAL 171 MT6360_OPMODE_LP>; 172 }; 173 ldo7 { 174 regulator-compatible = "LDO7"; 175 regulator-name = "mt6360,ldo7"; 176 regulator-min-microvolt = <500000>; 177 regulator-max-microvolt = <2100000>; 178 regulator-allowed-modes = <MT6360_OPMODE_NORMAL 179 MT6360_OPMODE_LP>; 180 }; 181 ldo1 { 182 regulator-compatible = "LDO1"; 183 regulator-name = "mt6360,ldo1"; 184 regulator-min-microvolt = <1200000>; 185 regulator-max-microvolt = <3600000>; 186 regulator-allowed-modes = <MT6360_OPMODE_NORMAL 187 MT6360_OPMODE_LP>; 188 }; 189 ldo2 { 190 regulator-compatible = "LDO2"; 191 regulator-name = "mt6360,ldo2"; 192 regulator-min-microvolt = <1200000>; 193 regulator-max-microvolt = <3600000>; 194 regulator-allowed-modes = <MT6360_OPMODE_NORMAL 195 MT6360_OPMODE_LP>; 196 }; 197 ldo3 { 198 regulator-compatible = "LDO3"; 199 regulator-name = "mt6360,ldo3"; 200 regulator-min-microvolt = <1200000>; 201 regulator-max-microvolt = <3600000>; 202 regulator-allowed-modes = <MT6360_OPMODE_NORMAL 203 MT6360_OPMODE_LP>; 204 }; 205 ldo5 { 206 regulator-compatible = "LDO5"; 207 regulator-name = "mt6360,ldo5"; 208 regulator-min-microvolt = <2700000>; 209 regulator-max-microvolt = <3600000>; 210 regulator-allowed-modes = <MT6360_OPMODE_NORMAL 211 MT6360_OPMODE_LP>; 212 }; 213 }; 214 215 tcpc { 216 compatible = "mediatek,mt6360-tcpc"; 217 interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>; 218 interrupt-names = "PD_IRQB"; 219 220 connector { 221 compatible = "usb-c-connector"; 222 label = "USB-C"; 223 data-role = "dual"; 224 power-role = "dual"; 225 try-power-role = "sink"; 226 source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>; 227 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>; 228 op-sink-microwatt = <10000000>; 229 230 ports { 231 #address-cells = <1>; 232 #size-cells = <0>; 233 234 port@0 { 235 reg = <0>; 236 endpoint { 237 remote-endpoint = <&usb_hs>; 238 }; 239 }; 240 port@1 { 241 reg = <1>; 242 endpoint { 243 remote-endpoint = <&usb_ss>; 244 }; 245 }; 246 port@2 { 247 reg = <2>; 248 endpoint { 249 remote-endpoint = <&dp_aux>; 250 }; 251 }; 252 }; 253 }; 254 }; 255 }; 256 };