0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/mediatek,mt6360.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: MT6360 PMIC from MediaTek Integrated
0008
0009 maintainers:
0010 - Gene Chen <gene_chen@richtek.com>
0011
0012 description: |
0013 MT6360 is a PMIC device with the following sub modules.
0014 It is interfaced to host controller using I2C interface.
0015
0016 This document describes the binding for PMIC device and its sub module.
0017
0018 properties:
0019 compatible:
0020 const: mediatek,mt6360
0021
0022 reg:
0023 maxItems: 1
0024
0025 wakeup-source: true
0026
0027 interrupts:
0028 maxItems: 1
0029
0030 interrupt-names:
0031 const: IRQB
0032
0033 interrupt-controller: true
0034
0035 "#interrupt-cells":
0036 const: 1
0037 description:
0038 The first cell is the IRQ number.
0039
0040 regulators:
0041 $ref: /schemas/regulator/mt6360-regulator.yaml#
0042
0043 charger:
0044 $ref: /schemas/power/supply/mt6360_charger.yaml#
0045
0046 tcpc:
0047 $ref: /schemas/usb/mediatek,mt6360-tcpc.yaml#
0048
0049 led-controller:
0050 $ref: /schemas/leds/leds-mt6360.yaml#
0051
0052 required:
0053 - compatible
0054 - reg
0055 - interrupts
0056 - interrupt-controller
0057 - "#interrupt-cells"
0058
0059 additionalProperties:
0060 type: object
0061
0062 examples:
0063 - |
0064 #include <dt-bindings/interrupt-controller/irq.h>
0065 #include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
0066 #include <dt-bindings/leds/common.h>
0067 #include <dt-bindings/usb/pd.h>
0068 i2c {
0069 #address-cells = <1>;
0070 #size-cells = <0>;
0071
0072 pmic@34 {
0073 compatible = "mediatek,mt6360";
0074 reg = <0x34>;
0075 wakeup-source;
0076 interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
0077 interrupt-names = "IRQB";
0078 interrupt-controller;
0079 #interrupt-cells = <1>;
0080
0081 mt6360_charger: charger {
0082 compatible = "mediatek,mt6360-chg";
0083 richtek,vinovp-microvolt = <14500000>;
0084
0085 otg_vbus_regulator: usb-otg-vbus-regulator {
0086 regulator-compatible = "usb-otg-vbus";
0087 regulator-name = "usb-otg-vbus";
0088 regulator-min-microvolt = <4425000>;
0089 regulator-max-microvolt = <5825000>;
0090 };
0091 };
0092
0093 led-controller {
0094 compatible = "mediatek,mt6360-led";
0095 #address-cells = <1>;
0096 #size-cells = <0>;
0097
0098 multi-led@0 {
0099 reg = <0>;
0100 function = LED_FUNCTION_INDICATOR;
0101 color = <LED_COLOR_ID_RGB>;
0102 led-max-microamp = <24000>;
0103 #address-cells = <1>;
0104 #size-cells = <0>;
0105 led@0 {
0106 reg = <0>;
0107 color = <LED_COLOR_ID_RED>;
0108 };
0109 led@1 {
0110 reg = <1>;
0111 color = <LED_COLOR_ID_GREEN>;
0112 };
0113 led@2 {
0114 reg = <2>;
0115 color = <LED_COLOR_ID_BLUE>;
0116 };
0117 };
0118 led@3 {
0119 reg = <3>;
0120 function = LED_FUNCTION_INDICATOR;
0121 color = <LED_COLOR_ID_WHITE>;
0122 led-max-microamp = <150000>;
0123 };
0124 led@4 {
0125 reg = <4>;
0126 function = LED_FUNCTION_FLASH;
0127 color = <LED_COLOR_ID_WHITE>;
0128 function-enumerator = <1>;
0129 led-max-microamp = <200000>;
0130 flash-max-microamp = <500000>;
0131 flash-max-timeout-us = <1024000>;
0132 };
0133 led@5 {
0134 reg = <5>;
0135 function = LED_FUNCTION_FLASH;
0136 color = <LED_COLOR_ID_WHITE>;
0137 function-enumerator = <2>;
0138 led-max-microamp = <200000>;
0139 flash-max-microamp = <500000>;
0140 flash-max-timeout-us = <1024000>;
0141 };
0142 };
0143
0144 regulators {
0145 compatible = "mediatek,mt6360-regulator";
0146 LDO_VIN3-supply = <&BUCK2>;
0147 buck1 {
0148 regulator-compatible = "BUCK1";
0149 regulator-name = "mt6360,buck1";
0150 regulator-min-microvolt = <300000>;
0151 regulator-max-microvolt = <1300000>;
0152 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
0153 MT6360_OPMODE_LP
0154 MT6360_OPMODE_ULP>;
0155 };
0156 BUCK2: buck2 {
0157 regulator-compatible = "BUCK2";
0158 regulator-name = "mt6360,buck2";
0159 regulator-min-microvolt = <300000>;
0160 regulator-max-microvolt = <1300000>;
0161 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
0162 MT6360_OPMODE_LP
0163 MT6360_OPMODE_ULP>;
0164 };
0165 ldo6 {
0166 regulator-compatible = "LDO6";
0167 regulator-name = "mt6360,ldo6";
0168 regulator-min-microvolt = <500000>;
0169 regulator-max-microvolt = <2100000>;
0170 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
0171 MT6360_OPMODE_LP>;
0172 };
0173 ldo7 {
0174 regulator-compatible = "LDO7";
0175 regulator-name = "mt6360,ldo7";
0176 regulator-min-microvolt = <500000>;
0177 regulator-max-microvolt = <2100000>;
0178 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
0179 MT6360_OPMODE_LP>;
0180 };
0181 ldo1 {
0182 regulator-compatible = "LDO1";
0183 regulator-name = "mt6360,ldo1";
0184 regulator-min-microvolt = <1200000>;
0185 regulator-max-microvolt = <3600000>;
0186 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
0187 MT6360_OPMODE_LP>;
0188 };
0189 ldo2 {
0190 regulator-compatible = "LDO2";
0191 regulator-name = "mt6360,ldo2";
0192 regulator-min-microvolt = <1200000>;
0193 regulator-max-microvolt = <3600000>;
0194 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
0195 MT6360_OPMODE_LP>;
0196 };
0197 ldo3 {
0198 regulator-compatible = "LDO3";
0199 regulator-name = "mt6360,ldo3";
0200 regulator-min-microvolt = <1200000>;
0201 regulator-max-microvolt = <3600000>;
0202 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
0203 MT6360_OPMODE_LP>;
0204 };
0205 ldo5 {
0206 regulator-compatible = "LDO5";
0207 regulator-name = "mt6360,ldo5";
0208 regulator-min-microvolt = <2700000>;
0209 regulator-max-microvolt = <3600000>;
0210 regulator-allowed-modes = <MT6360_OPMODE_NORMAL
0211 MT6360_OPMODE_LP>;
0212 };
0213 };
0214
0215 tcpc {
0216 compatible = "mediatek,mt6360-tcpc";
0217 interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
0218 interrupt-names = "PD_IRQB";
0219
0220 connector {
0221 compatible = "usb-c-connector";
0222 label = "USB-C";
0223 data-role = "dual";
0224 power-role = "dual";
0225 try-power-role = "sink";
0226 source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
0227 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
0228 op-sink-microwatt = <10000000>;
0229
0230 ports {
0231 #address-cells = <1>;
0232 #size-cells = <0>;
0233
0234 port@0 {
0235 reg = <0>;
0236 endpoint {
0237 remote-endpoint = <&usb_hs>;
0238 };
0239 };
0240 port@1 {
0241 reg = <1>;
0242 endpoint {
0243 remote-endpoint = <&usb_ss>;
0244 };
0245 };
0246 port@2 {
0247 reg = <2>;
0248 endpoint {
0249 remote-endpoint = <&dp_aux>;
0250 };
0251 };
0252 };
0253 };
0254 };
0255 };
0256 };