| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/mfd/mediatek,mt6360.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: MT6360 PMIC from MediaTek Integrated |
| |
| maintainers: |
| - Gene Chen <gene_chen@richtek.com> |
| |
| description: | |
| MT6360 is a PMIC device with the following sub modules. |
| It is interfaced to host controller using I2C interface. |
| |
| This document describes the binding for PMIC device and its sub module. |
| |
| properties: |
| compatible: |
| const: mediatek,mt6360 |
| |
| reg: |
| maxItems: 1 |
| |
| wakeup-source: true |
| |
| interrupts: |
| maxItems: 1 |
| |
| interrupt-names: |
| const: IRQB |
| |
| interrupt-controller: true |
| |
| "#interrupt-cells": |
| const: 1 |
| description: |
| The first cell is the IRQ number. |
| |
| regulators: |
| $ref: /schemas/regulator/mt6360-regulator.yaml# |
| |
| charger: |
| $ref: /schemas/power/supply/mt6360_charger.yaml# |
| |
| tcpc: |
| $ref: /schemas/usb/mediatek,mt6360-tcpc.yaml# |
| |
| led-controller: |
| $ref: /schemas/leds/leds-mt6360.yaml# |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - interrupt-controller |
| - "#interrupt-cells" |
| |
| additionalProperties: |
| type: object |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/regulator/mediatek,mt6360-regulator.h> |
| #include <dt-bindings/leds/common.h> |
| #include <dt-bindings/usb/pd.h> |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pmic@34 { |
| compatible = "mediatek,mt6360"; |
| reg = <0x34>; |
| wakeup-source; |
| interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>; |
| interrupt-names = "IRQB"; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| |
| mt6360_charger: charger { |
| compatible = "mediatek,mt6360-chg"; |
| richtek,vinovp-microvolt = <14500000>; |
| |
| otg_vbus_regulator: usb-otg-vbus-regulator { |
| regulator-compatible = "usb-otg-vbus"; |
| regulator-name = "usb-otg-vbus"; |
| regulator-min-microvolt = <4425000>; |
| regulator-max-microvolt = <5825000>; |
| }; |
| }; |
| |
| led-controller { |
| compatible = "mediatek,mt6360-led"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| multi-led@0 { |
| reg = <0>; |
| function = LED_FUNCTION_INDICATOR; |
| color = <LED_COLOR_ID_RGB>; |
| led-max-microamp = <24000>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| led@0 { |
| reg = <0>; |
| color = <LED_COLOR_ID_RED>; |
| }; |
| led@1 { |
| reg = <1>; |
| color = <LED_COLOR_ID_GREEN>; |
| }; |
| led@2 { |
| reg = <2>; |
| color = <LED_COLOR_ID_BLUE>; |
| }; |
| }; |
| led@3 { |
| reg = <3>; |
| function = LED_FUNCTION_INDICATOR; |
| color = <LED_COLOR_ID_WHITE>; |
| led-max-microamp = <150000>; |
| }; |
| led@4 { |
| reg = <4>; |
| function = LED_FUNCTION_FLASH; |
| color = <LED_COLOR_ID_WHITE>; |
| function-enumerator = <1>; |
| led-max-microamp = <200000>; |
| flash-max-microamp = <500000>; |
| flash-max-timeout-us = <1024000>; |
| }; |
| led@5 { |
| reg = <5>; |
| function = LED_FUNCTION_FLASH; |
| color = <LED_COLOR_ID_WHITE>; |
| function-enumerator = <2>; |
| led-max-microamp = <200000>; |
| flash-max-microamp = <500000>; |
| flash-max-timeout-us = <1024000>; |
| }; |
| }; |
| |
| regulators { |
| compatible = "mediatek,mt6360-regulator"; |
| LDO_VIN3-supply = <&BUCK2>; |
| buck1 { |
| regulator-compatible = "BUCK1"; |
| regulator-name = "mt6360,buck1"; |
| regulator-min-microvolt = <300000>; |
| regulator-max-microvolt = <1300000>; |
| regulator-allowed-modes = <MT6360_OPMODE_NORMAL |
| MT6360_OPMODE_LP |
| MT6360_OPMODE_ULP>; |
| }; |
| BUCK2: buck2 { |
| regulator-compatible = "BUCK2"; |
| regulator-name = "mt6360,buck2"; |
| regulator-min-microvolt = <300000>; |
| regulator-max-microvolt = <1300000>; |
| regulator-allowed-modes = <MT6360_OPMODE_NORMAL |
| MT6360_OPMODE_LP |
| MT6360_OPMODE_ULP>; |
| }; |
| ldo6 { |
| regulator-compatible = "LDO6"; |
| regulator-name = "mt6360,ldo6"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <2100000>; |
| regulator-allowed-modes = <MT6360_OPMODE_NORMAL |
| MT6360_OPMODE_LP>; |
| }; |
| ldo7 { |
| regulator-compatible = "LDO7"; |
| regulator-name = "mt6360,ldo7"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <2100000>; |
| regulator-allowed-modes = <MT6360_OPMODE_NORMAL |
| MT6360_OPMODE_LP>; |
| }; |
| ldo1 { |
| regulator-compatible = "LDO1"; |
| regulator-name = "mt6360,ldo1"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <3600000>; |
| regulator-allowed-modes = <MT6360_OPMODE_NORMAL |
| MT6360_OPMODE_LP>; |
| }; |
| ldo2 { |
| regulator-compatible = "LDO2"; |
| regulator-name = "mt6360,ldo2"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <3600000>; |
| regulator-allowed-modes = <MT6360_OPMODE_NORMAL |
| MT6360_OPMODE_LP>; |
| }; |
| ldo3 { |
| regulator-compatible = "LDO3"; |
| regulator-name = "mt6360,ldo3"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <3600000>; |
| regulator-allowed-modes = <MT6360_OPMODE_NORMAL |
| MT6360_OPMODE_LP>; |
| }; |
| ldo5 { |
| regulator-compatible = "LDO5"; |
| regulator-name = "mt6360,ldo5"; |
| regulator-min-microvolt = <2700000>; |
| regulator-max-microvolt = <3600000>; |
| regulator-allowed-modes = <MT6360_OPMODE_NORMAL |
| MT6360_OPMODE_LP>; |
| }; |
| }; |
| |
| tcpc { |
| compatible = "mediatek,mt6360-tcpc"; |
| interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>; |
| interrupt-names = "PD_IRQB"; |
| |
| connector { |
| compatible = "usb-c-connector"; |
| label = "USB-C"; |
| data-role = "dual"; |
| power-role = "dual"; |
| try-power-role = "sink"; |
| source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>; |
| sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>; |
| op-sink-microwatt = <10000000>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| endpoint { |
| remote-endpoint = <&usb_hs>; |
| }; |
| }; |
| port@1 { |
| reg = <1>; |
| endpoint { |
| remote-endpoint = <&usb_ss>; |
| }; |
| }; |
| port@2 { |
| reg = <2>; |
| endpoint { |
| remote-endpoint = <&dp_aux>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |