283 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/mediatek,mt6370.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: MediaTek MT6370 SubPMIC8 9maintainers:10 - ChiYuan Huang <cy_huang@richtek.com>11 12description: |13 MT6370 is a highly-integrated smart power management IC, which includes a14 single cell Li-Ion/Li-Polymer switching battery charger, a USB Type-C &15 Power Delivery (PD) controller, dual flash LED current sources, a RGB LED16 driver, a backlight WLED driver, a display bias driver and a general LDO for17 portable devices.18 19properties:20 compatible:21 const: mediatek,mt637022 23 reg:24 maxItems: 125 26 wakeup-source: true27 28 interrupts:29 maxItems: 130 31 interrupt-controller: true32 33 "#interrupt-cells":34 const: 135 36 adc:37 type: object38 additionalProperties: false39 description: |40 Provides 9 channels for system monitoring, including VBUSDIV5 (lower41 accuracy, higher measure range), VBUSDIV2 (higher accuracy, lower42 measure range), VBAT, VSYS, CHG_VDDP, TS_BAT, IBUS, IBAT, and TEMP_JC.43 44 properties:45 compatible:46 const: mediatek,mt6370-adc47 48 "#io-channel-cells":49 const: 150 51 required:52 - compatible53 - "#io-channel-cells"54 55 backlight:56 type: object57 $ref: /schemas/leds/backlight/mediatek,mt6370-backlight.yaml#58 59 charger:60 type: object61 $ref: /schemas/power/supply/mediatek,mt6370-charger.yaml#62 63 tcpc:64 type: object65 $ref: /schemas/usb/mediatek,mt6370-tcpc.yaml#66 67 indicator:68 type: object69 $ref: /schemas/leds/mediatek,mt6370-indicator.yaml#70 71 flashlight:72 type: object73 $ref: /schemas/leds/mediatek,mt6370-flashlight.yaml#74 75 regulators:76 type: object77 additionalProperties: false78 description: |79 List all supported regulators, which support the control for DisplayBias80 voltages and one general purpose LDO which commonly used to drive the81 vibrator.82 83 patternProperties:84 "^(dsvbst|vibldo)$":85 $ref: /schemas/regulator/regulator.yaml#86 type: object87 unevaluatedProperties: false88 89 "^(dsvpos|dsvneg)$":90 $ref: /schemas/regulator/regulator.yaml#91 type: object92 unevaluatedProperties: false93 94 properties:95 enable-gpios:96 maxItems: 197 98required:99 - compatible100 - reg101 - interrupts102 - interrupt-controller103 - "#interrupt-cells"104 - regulators105 - adc106 - backlight107 - indicator108 - tcpc109 - charger110 - flashlight111 112additionalProperties: false113 114examples:115 - |116 #include <dt-bindings/interrupt-controller/irq.h>117 #include <dt-bindings/leds/common.h>118 #include <dt-bindings/iio/adc/mediatek,mt6370_adc.h>119 #include <dt-bindings/usb/pd.h>120 i2c {121 #address-cells = <1>;122 #size-cells = <0>;123 124 pmic@34 {125 compatible = "mediatek,mt6370";126 reg = <0x34>;127 wakeup-source;128 interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;129 interrupt-controller;130 #interrupt-cells = <1>;131 132 mt6370_adc: adc {133 compatible = "mediatek,mt6370-adc";134 #io-channel-cells = <1>;135 };136 137 backlight {138 compatible = "mediatek,mt6370-backlight";139 mediatek,bled-channel-use = /bits/ 8 <15>;140 };141 142 charger {143 compatible = "mediatek,mt6370-charger";144 interrupts = <68>, <48>, <6>;145 interrupt-names = "uvp_d_evt", "attach_i", "mivr";146 io-channels = <&mt6370_adc MT6370_CHAN_IBUS>;147 148 mt6370_otg_vbus: usb-otg-vbus-regulator {149 regulator-name = "mt6370-usb-otg-vbus";150 regulator-min-microvolt = <4350000>;151 regulator-max-microvolt = <5800000>;152 regulator-min-microamp = <500000>;153 regulator-max-microamp = <3000000>;154 };155 };156 157 indicator {158 compatible = "mediatek,mt6370-indicator";159 #address-cells = <1>;160 #size-cells = <0>;161 162 multi-led@0 {163 reg = <0>;164 function = LED_FUNCTION_INDICATOR;165 color = <LED_COLOR_ID_RGB>;166 led-max-microamp = <24000>;167 #address-cells = <1>;168 #size-cells = <0>;169 led@0 {170 reg = <0>;171 color = <LED_COLOR_ID_RED>;172 };173 led@1 {174 reg = <1>;175 color = <LED_COLOR_ID_GREEN>;176 };177 led@2 {178 reg = <2>;179 color = <LED_COLOR_ID_BLUE>;180 };181 };182 led@3 {183 reg = <3>;184 function = LED_FUNCTION_INDICATOR;185 color = <LED_COLOR_ID_WHITE>;186 led-max-microamp = <6000>;187 };188 };189 190 flashlight {191 compatible = "mediatek,mt6370-flashlight";192 #address-cells = <1>;193 #size-cells = <0>;194 led@0 {195 reg = <0>;196 led-sources = <0>;197 function = LED_FUNCTION_FLASH;198 color = <LED_COLOR_ID_WHITE>;199 function-enumerator = <1>;200 led-max-microamp = <200000>;201 flash-max-microamp = <500000>;202 flash-max-timeout-us = <1248000>;203 };204 led@1 {205 reg = <1>;206 led-sources = <1>;207 function = LED_FUNCTION_FLASH;208 color = <LED_COLOR_ID_WHITE>;209 function-enumerator = <2>;210 led-max-microamp = <200000>;211 flash-max-microamp = <500000>;212 flash-max-timeout-us = <1248000>;213 };214 };215 216 tcpc {217 compatible = "mediatek,mt6370-tcpc";218 interrupts-extended = <&gpio26 4 IRQ_TYPE_LEVEL_LOW>;219 220 connector {221 compatible = "usb-c-connector";222 label = "USB-C";223 vbus-supply = <&mt6370_otg_vbus>;224 data-role = "dual";225 power-role = "dual";226 try-power-role = "sink";227 source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;228 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;229 op-sink-microwatt = <10000000>;230 231 ports {232 #address-cells = <1>;233 #size-cells = <0>;234 235 port@0 {236 reg = <0>;237 endpoint {238 remote-endpoint = <&usb_hs>;239 };240 };241 port@1 {242 reg = <1>;243 endpoint {244 remote-endpoint = <&usb_ss>;245 };246 };247 port@2 {248 reg = <2>;249 endpoint {250 remote-endpoint = <&dp_aux>;251 };252 };253 };254 };255 };256 257 regulators {258 dsvbst {259 regulator-name = "mt6370-dsv-vbst";260 regulator-min-microvolt = <4000000>;261 regulator-max-microvolt = <6200000>;262 };263 dsvpos {264 regulator-name = "mt6370-dsv-vpos";265 regulator-min-microvolt = <4000000>;266 regulator-max-microvolt = <6000000>;267 regulator-boot-on;268 };269 dsvneg {270 regulator-name = "mt6370-dsv-vneg";271 regulator-min-microvolt = <4000000>;272 regulator-max-microvolt = <6000000>;273 regulator-boot-on;274 };275 vibldo {276 regulator-name = "mt6370-vib-ldo";277 regulator-min-microvolt = <1600000>;278 regulator-max-microvolt = <4000000>;279 };280 };281 };282 };283