1e53da8c4SGene Chen# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2e53da8c4SGene Chen%YAML 1.2 3e53da8c4SGene Chen--- 4e53da8c4SGene Chen$id: http://devicetree.org/schemas/mfd/mediatek,mt6360.yaml# 5e53da8c4SGene Chen$schema: http://devicetree.org/meta-schemas/core.yaml# 6e53da8c4SGene Chen 7e53da8c4SGene Chentitle: MT6360 PMIC from MediaTek Integrated 8e53da8c4SGene Chen 9e53da8c4SGene Chenmaintainers: 10e53da8c4SGene Chen - Gene Chen <gene_chen@richtek.com> 11e53da8c4SGene Chen 12e53da8c4SGene Chendescription: | 13e53da8c4SGene Chen MT6360 is a PMIC device with the following sub modules. 14e53da8c4SGene Chen It is interfaced to host controller using I2C interface. 15e53da8c4SGene Chen 16e53da8c4SGene Chen This document describes the binding for PMIC device and its sub module. 17e53da8c4SGene Chen 18e53da8c4SGene Chenproperties: 19e53da8c4SGene Chen compatible: 20e53da8c4SGene Chen const: mediatek,mt6360 21e53da8c4SGene Chen 22e53da8c4SGene Chen reg: 23e53da8c4SGene Chen maxItems: 1 24e53da8c4SGene Chen 25e53da8c4SGene Chen wakeup-source: true 26e53da8c4SGene Chen 27e53da8c4SGene Chen interrupts: 28e53da8c4SGene Chen maxItems: 1 29e53da8c4SGene Chen 30e53da8c4SGene Chen interrupt-names: 31e53da8c4SGene Chen const: IRQB 32e53da8c4SGene Chen 33e53da8c4SGene Chen interrupt-controller: true 34e53da8c4SGene Chen 35e53da8c4SGene Chen "#interrupt-cells": 36e53da8c4SGene Chen const: 1 37e53da8c4SGene Chen description: 38e53da8c4SGene Chen The first cell is the IRQ number. 39e53da8c4SGene Chen 40*57274439SGene Chen regulators: 41*57274439SGene Chen $ref: /schemas/regulator/mt6360-regulator.yaml# 42*57274439SGene Chen 43*57274439SGene Chen charger: 44*57274439SGene Chen $ref: /schemas/power/supply/mt6360_charger.yaml# 45*57274439SGene Chen 46*57274439SGene Chen tcpc: 47*57274439SGene Chen $ref: /schemas/usb/mediatek,mt6360-tcpc.yaml# 48*57274439SGene Chen 49*57274439SGene Chen led-controller: 50*57274439SGene Chen $ref: /schemas/leds/leds-mt6360.yaml# 51*57274439SGene Chen 52e53da8c4SGene Chenrequired: 53e53da8c4SGene Chen - compatible 54e53da8c4SGene Chen - reg 55e53da8c4SGene Chen - interrupts 56e53da8c4SGene Chen - interrupt-controller 57e53da8c4SGene Chen - "#interrupt-cells" 58e53da8c4SGene Chen 59e53da8c4SGene ChenadditionalProperties: 60e53da8c4SGene Chen type: object 61e53da8c4SGene Chen 62e53da8c4SGene Chenexamples: 63e53da8c4SGene Chen - | 64e53da8c4SGene Chen #include <dt-bindings/interrupt-controller/irq.h> 65e53da8c4SGene Chen #include <dt-bindings/regulator/mediatek,mt6360-regulator.h> 66*57274439SGene Chen #include <dt-bindings/leds/common.h> 67*57274439SGene Chen #include <dt-bindings/usb/pd.h> 68e53da8c4SGene Chen i2c { 69e53da8c4SGene Chen #address-cells = <1>; 70e53da8c4SGene Chen #size-cells = <0>; 71e53da8c4SGene Chen 72e53da8c4SGene Chen pmic@34 { 73e53da8c4SGene Chen compatible = "mediatek,mt6360"; 74e53da8c4SGene Chen reg = <0x34>; 75e53da8c4SGene Chen wakeup-source; 76e53da8c4SGene Chen interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>; 77e53da8c4SGene Chen interrupt-names = "IRQB"; 78e53da8c4SGene Chen interrupt-controller; 79e53da8c4SGene Chen #interrupt-cells = <1>; 80*57274439SGene Chen 81*57274439SGene Chen mt6360_charger: charger { 82*57274439SGene Chen compatible = "mediatek,mt6360-chg"; 83*57274439SGene Chen richtek,vinovp-microvolt = <14500000>; 84*57274439SGene Chen 85*57274439SGene Chen otg_vbus_regulator: usb-otg-vbus-regulator { 86*57274439SGene Chen regulator-name = "usb-otg-vbus"; 87*57274439SGene Chen regulator-min-microvolt = <4425000>; 88*57274439SGene Chen regulator-max-microvolt = <5825000>; 89*57274439SGene Chen }; 90*57274439SGene Chen }; 91*57274439SGene Chen 92*57274439SGene Chen led-controller { 93*57274439SGene Chen compatible = "mediatek,mt6360-led"; 94*57274439SGene Chen #address-cells = <1>; 95*57274439SGene Chen #size-cells = <0>; 96*57274439SGene Chen 97*57274439SGene Chen multi-led@0 { 98*57274439SGene Chen reg = <0>; 99*57274439SGene Chen function = LED_FUNCTION_INDICATOR; 100*57274439SGene Chen color = <LED_COLOR_ID_RGB>; 101*57274439SGene Chen led-max-microamp = <24000>; 102*57274439SGene Chen #address-cells = <1>; 103*57274439SGene Chen #size-cells = <0>; 104*57274439SGene Chen led@0 { 105*57274439SGene Chen reg = <0>; 106*57274439SGene Chen color = <LED_COLOR_ID_RED>; 107*57274439SGene Chen }; 108*57274439SGene Chen led@1 { 109*57274439SGene Chen reg = <1>; 110*57274439SGene Chen color = <LED_COLOR_ID_GREEN>; 111*57274439SGene Chen }; 112*57274439SGene Chen led@2 { 113*57274439SGene Chen reg = <2>; 114*57274439SGene Chen color = <LED_COLOR_ID_BLUE>; 115*57274439SGene Chen }; 116*57274439SGene Chen }; 117*57274439SGene Chen led@3 { 118*57274439SGene Chen reg = <3>; 119*57274439SGene Chen function = LED_FUNCTION_INDICATOR; 120*57274439SGene Chen color = <LED_COLOR_ID_WHITE>; 121*57274439SGene Chen led-max-microamp = <150000>; 122*57274439SGene Chen }; 123*57274439SGene Chen led@4 { 124*57274439SGene Chen reg = <4>; 125*57274439SGene Chen function = LED_FUNCTION_FLASH; 126*57274439SGene Chen color = <LED_COLOR_ID_WHITE>; 127*57274439SGene Chen function-enumerator = <1>; 128*57274439SGene Chen led-max-microamp = <200000>; 129*57274439SGene Chen flash-max-microamp = <500000>; 130*57274439SGene Chen flash-max-timeout-us = <1024000>; 131*57274439SGene Chen }; 132*57274439SGene Chen led@5 { 133*57274439SGene Chen reg = <5>; 134*57274439SGene Chen function = LED_FUNCTION_FLASH; 135*57274439SGene Chen color = <LED_COLOR_ID_WHITE>; 136*57274439SGene Chen function-enumerator = <2>; 137*57274439SGene Chen led-max-microamp = <200000>; 138*57274439SGene Chen flash-max-microamp = <500000>; 139*57274439SGene Chen flash-max-timeout-us = <1024000>; 140*57274439SGene Chen }; 141*57274439SGene Chen }; 142*57274439SGene Chen 143*57274439SGene Chen regulators { 144*57274439SGene Chen compatible = "mediatek,mt6360-regulator"; 145*57274439SGene Chen LDO_VIN3-supply = <&BUCK2>; 146*57274439SGene Chen buck1 { 147*57274439SGene Chen regulator-name = "mt6360,buck1"; 148*57274439SGene Chen regulator-min-microvolt = <300000>; 149*57274439SGene Chen regulator-max-microvolt = <1300000>; 150*57274439SGene Chen regulator-allowed-modes = <MT6360_OPMODE_NORMAL 151*57274439SGene Chen MT6360_OPMODE_LP 152*57274439SGene Chen MT6360_OPMODE_ULP>; 153*57274439SGene Chen }; 154*57274439SGene Chen BUCK2: buck2 { 155*57274439SGene Chen regulator-name = "mt6360,buck2"; 156*57274439SGene Chen regulator-min-microvolt = <300000>; 157*57274439SGene Chen regulator-max-microvolt = <1300000>; 158*57274439SGene Chen regulator-allowed-modes = <MT6360_OPMODE_NORMAL 159*57274439SGene Chen MT6360_OPMODE_LP 160*57274439SGene Chen MT6360_OPMODE_ULP>; 161*57274439SGene Chen }; 162*57274439SGene Chen ldo6 { 163*57274439SGene Chen regulator-name = "mt6360,ldo6"; 164*57274439SGene Chen regulator-min-microvolt = <500000>; 165*57274439SGene Chen regulator-max-microvolt = <2100000>; 166*57274439SGene Chen regulator-allowed-modes = <MT6360_OPMODE_NORMAL 167*57274439SGene Chen MT6360_OPMODE_LP>; 168*57274439SGene Chen }; 169*57274439SGene Chen ldo7 { 170*57274439SGene Chen regulator-name = "mt6360,ldo7"; 171*57274439SGene Chen regulator-min-microvolt = <500000>; 172*57274439SGene Chen regulator-max-microvolt = <2100000>; 173*57274439SGene Chen regulator-allowed-modes = <MT6360_OPMODE_NORMAL 174*57274439SGene Chen MT6360_OPMODE_LP>; 175*57274439SGene Chen }; 176*57274439SGene Chen ldo1 { 177*57274439SGene Chen regulator-name = "mt6360,ldo1"; 178*57274439SGene Chen regulator-min-microvolt = <1200000>; 179*57274439SGene Chen regulator-max-microvolt = <3600000>; 180*57274439SGene Chen regulator-allowed-modes = <MT6360_OPMODE_NORMAL 181*57274439SGene Chen MT6360_OPMODE_LP>; 182*57274439SGene Chen }; 183*57274439SGene Chen ldo2 { 184*57274439SGene Chen regulator-name = "mt6360,ldo2"; 185*57274439SGene Chen regulator-min-microvolt = <1200000>; 186*57274439SGene Chen regulator-max-microvolt = <3600000>; 187*57274439SGene Chen regulator-allowed-modes = <MT6360_OPMODE_NORMAL 188*57274439SGene Chen MT6360_OPMODE_LP>; 189*57274439SGene Chen }; 190*57274439SGene Chen ldo3 { 191*57274439SGene Chen regulator-name = "mt6360,ldo3"; 192*57274439SGene Chen regulator-min-microvolt = <1200000>; 193*57274439SGene Chen regulator-max-microvolt = <3600000>; 194*57274439SGene Chen regulator-allowed-modes = <MT6360_OPMODE_NORMAL 195*57274439SGene Chen MT6360_OPMODE_LP>; 196*57274439SGene Chen }; 197*57274439SGene Chen ldo5 { 198*57274439SGene Chen regulator-name = "mt6360,ldo5"; 199*57274439SGene Chen regulator-min-microvolt = <2700000>; 200*57274439SGene Chen regulator-max-microvolt = <3600000>; 201*57274439SGene Chen regulator-allowed-modes = <MT6360_OPMODE_NORMAL 202*57274439SGene Chen MT6360_OPMODE_LP>; 203*57274439SGene Chen }; 204*57274439SGene Chen }; 205*57274439SGene Chen 206*57274439SGene Chen tcpc { 207*57274439SGene Chen compatible = "mediatek,mt6360-tcpc"; 208*57274439SGene Chen interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>; 209*57274439SGene Chen interrupt-names = "PD_IRQB"; 210*57274439SGene Chen 211*57274439SGene Chen connector { 212*57274439SGene Chen compatible = "usb-c-connector"; 213*57274439SGene Chen label = "USB-C"; 214*57274439SGene Chen data-role = "dual"; 215*57274439SGene Chen power-role = "dual"; 216*57274439SGene Chen try-power-role = "sink"; 217*57274439SGene Chen source-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>; 218*57274439SGene Chen sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>; 219*57274439SGene Chen op-sink-microwatt = <10000000>; 220*57274439SGene Chen 221*57274439SGene Chen ports { 222*57274439SGene Chen #address-cells = <1>; 223*57274439SGene Chen #size-cells = <0>; 224*57274439SGene Chen 225*57274439SGene Chen port@0 { 226*57274439SGene Chen reg = <0>; 227*57274439SGene Chen endpoint { 228*57274439SGene Chen remote-endpoint = <&usb_hs>; 229*57274439SGene Chen }; 230*57274439SGene Chen }; 231*57274439SGene Chen port@1 { 232*57274439SGene Chen reg = <1>; 233*57274439SGene Chen endpoint { 234*57274439SGene Chen remote-endpoint = <&usb_ss>; 235*57274439SGene Chen }; 236*57274439SGene Chen }; 237*57274439SGene Chen port@2 { 238*57274439SGene Chen reg = <2>; 239*57274439SGene Chen endpoint { 240*57274439SGene Chen remote-endpoint = <&dp_aux>; 241*57274439SGene Chen }; 242*57274439SGene Chen }; 243*57274439SGene Chen }; 244*57274439SGene Chen }; 245*57274439SGene Chen }; 246e53da8c4SGene Chen }; 247e53da8c4SGene Chen }; 248