# 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-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-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-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-name = "mt6360,ldo6"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <2100000>; regulator-allowed-modes = <MT6360_OPMODE_NORMAL MT6360_OPMODE_LP>; }; ldo7 { regulator-name = "mt6360,ldo7"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <2100000>; regulator-allowed-modes = <MT6360_OPMODE_NORMAL MT6360_OPMODE_LP>; }; ldo1 { regulator-name = "mt6360,ldo1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = <MT6360_OPMODE_NORMAL MT6360_OPMODE_LP>; }; ldo2 { regulator-name = "mt6360,ldo2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = <MT6360_OPMODE_NORMAL MT6360_OPMODE_LP>; }; ldo3 { regulator-name = "mt6360,ldo3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3600000>; regulator-allowed-modes = <MT6360_OPMODE_NORMAL MT6360_OPMODE_LP>; }; 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>; }; }; }; }; }; }; };