brintos

brintos / linux-shallow public Read only

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