Back to home page

OSCL-LXR

 
 

    


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     };