brintos

brintos / linux-shallow public Read only

0
0
Text · 9.8 KiB · f3c3f64 Raw
325 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/mfd/maxim,max8998.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Maxim MAX8998, National/TI LP3974 Power Management IC8 9maintainers:10  - Krzysztof Kozlowski <krzk@kernel.org>11 12description:13  The Maxim MAX8998 is a Power Management IC which includes voltage/current14  regulators, real time clock, battery charging controller and several other15  sub-blocks. It is interfaced using an I2C interface. Each sub-block is16  addressed by the host system using different i2c slave address.17 18properties:19  compatible:20    enum:21      - maxim,max899822      - national,lp397423      - ti,lp397424 25  reg:26    maxItems: 127 28  interrupts:29    minItems: 130    items:31      - description: Main interrupt32      - description: Power-on/-off interrupt33 34  max8998,pmic-buck1-dvs-gpios:35    maxItems: 236    description:37      Two host gpios used for buck1 DVS.38 39  max8998,pmic-buck2-dvs-gpio:40    maxItems: 141    description:42      Host gpio used for buck2 DVS.43 44  max8998,pmic-buck1-default-dvs-idx:45    $ref: /schemas/types.yaml#/definitions/uint3246    enum: [0, 1, 2, 3]47    default: 048    description:49      Default voltage setting selected from the possible 4 options selectable50      by the DVS gpios.51 52  max8998,pmic-buck2-default-dvs-idx:53    $ref: /schemas/types.yaml#/definitions/uint3254    enum: [0, 1]55    default: 056    description:57      Default voltage setting selected from the possible 2 options selectable58      by the DVS GPIOs.59 60  max8998,pmic-buck-voltage-lock:61    type: boolean62    description:63      If present, disallows changing of preprogrammed buck DVS voltages.64 65  max8998,pmic-buck1-dvs-voltage:66    $ref: /schemas/types.yaml#/definitions/uint32-array67    maxItems: 468    description:69      Four voltage values in microvolts for buck1 regulator that can be70      selected using DVS GPIO.71 72  max8998,pmic-buck2-dvs-voltage:73    $ref: /schemas/types.yaml#/definitions/uint32-array74    maxItems: 275    description:76      Two voltage values in microvolts for buck2 regulator that can be77      selected using DVS GPIO.78 79  regulators:80    type: object81    additionalProperties: false82 83    properties:84      CHARGER:85        type: object86        $ref: /schemas/regulator/regulator.yaml#87        unevaluatedProperties: false88        description:89          CHARGER is main battery charger current control, wrongly represented90          as regulator.91 92        properties:93          regulator-min-microamp:94            minimum: 9000095            maximum: 80000096 97          regulator-max-microamp:98            minimum: 9000099            maximum: 800000100 101          regulator-min-microvolt: false102          regulator-max-microvolt: false103 104        required:105          - regulator-name106 107    patternProperties:108      "^(LDO([2-9]|1[0-7])|BUCK[1-4])$":109        type: object110        $ref: /schemas/regulator/regulator.yaml#111        unevaluatedProperties: false112 113        required:114          - regulator-name115 116      "^(EN32KHz-AP|EN32KHz-CP|ENVICHG|ESAFEOUT[12])$":117        type: object118        $ref: /schemas/regulator/regulator.yaml#119        unevaluatedProperties: false120        description: |121          EN32KHz-AP and EN32KHz-CP are 32768 Hz clocks, wrongly represented as122          regulators.123          ENVICHG is a Battery Charging Current Monitor Output.124 125        properties:126          regulator-min-microvolt: false127          regulator-max-microvolt: false128 129        required:130          - regulator-name131 132dependencies:133  max8998,pmic-buck1-dvs-gpios: [ "max8998,pmic-buck1-dvs-voltage" ]134  max8998,pmic-buck2-dvs-gpio: [ "max8998,pmic-buck2-dvs-voltage" ]135 136required:137  - compatible138  - reg139  - regulators140 141additionalProperties: false142 143examples:144  - |145    #include <dt-bindings/gpio/gpio.h>146    #include <dt-bindings/interrupt-controller/irq.h>147 148    i2c {149        #address-cells = <1>;150        #size-cells = <0>;151 152        pmic@66 {153            compatible = "national,lp3974";154            reg = <0x66>;155            interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,156                                  <&gpx2 7 IRQ_TYPE_LEVEL_LOW>;157            pinctrl-names = "default";158            pinctrl-0 = <&lp3974_irq>;159 160            max8998,pmic-buck1-default-dvs-idx = <0>;161            max8998,pmic-buck1-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,162                                           <&gpx0 6 GPIO_ACTIVE_HIGH>;163            max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,164                                             <1100000>, <1000000>;165            max8998,pmic-buck2-default-dvs-idx = <0>;166            max8998,pmic-buck2-dvs-gpio = <&gpe2 0 GPIO_ACTIVE_HIGH>;167            max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;168 169            regulators {170                LDO2 {171                    regulator-name = "VALIVE_1.2V";172                    regulator-min-microvolt = <1200000>;173                    regulator-max-microvolt = <1200000>;174                    regulator-always-on;175                };176 177                LDO3 {178                    regulator-name = "VUSB+MIPI_1.1V";179                    regulator-min-microvolt = <1100000>;180                    regulator-max-microvolt = <1100000>;181                    regulator-always-on;182                };183 184                LDO4 {185                    regulator-name = "VADC_3.3V";186                    regulator-min-microvolt = <3300000>;187                    regulator-max-microvolt = <3300000>;188                };189 190                LDO5 {191                    regulator-name = "VTF_2.8V";192                    regulator-min-microvolt = <2800000>;193                    regulator-max-microvolt = <2800000>;194                };195 196                LDO6 {197                    regulator-name = "LDO6";198                    regulator-min-microvolt = <2000000>;199                    regulator-max-microvolt = <2000000>;200                };201 202                LDO7 {203                    regulator-name = "VLCD+VMIPI_1.8V";204                    regulator-min-microvolt = <1800000>;205                    regulator-max-microvolt = <1800000>;206                };207 208                LDO8 {209                    regulator-name = "VUSB+VDAC_3.3V";210                    regulator-min-microvolt = <3300000>;211                    regulator-max-microvolt = <3300000>;212                    regulator-always-on;213                };214 215                LDO9 {216                    regulator-name = "VCC_2.8V";217                    regulator-min-microvolt = <2800000>;218                    regulator-max-microvolt = <2800000>;219                    regulator-always-on;220                };221 222                LDO10 {223                    regulator-name = "VPLL_1.1V";224                    regulator-min-microvolt = <1100000>;225                    regulator-max-microvolt = <1100000>;226                    regulator-boot-on;227                    regulator-always-on;228                };229 230                LDO11 {231                    regulator-name = "CAM_AF_3.3V";232                    regulator-min-microvolt = <3300000>;233                    regulator-max-microvolt = <3300000>;234                };235 236                LDO12 {237                    regulator-name = "PS_2.8V";238                    regulator-min-microvolt = <2800000>;239                    regulator-max-microvolt = <2800000>;240                };241 242                LDO13 {243                    regulator-name = "VHIC_1.2V";244                    regulator-min-microvolt = <1200000>;245                    regulator-max-microvolt = <1200000>;246                };247 248                LDO14 {249                    regulator-name = "CAM_I_HOST_1.8V";250                    regulator-min-microvolt = <1800000>;251                    regulator-max-microvolt = <1800000>;252                };253 254                LDO15 {255                    regulator-name = "CAM_S_DIG+FM33_CORE_1.2V";256                    regulator-min-microvolt = <1200000>;257                    regulator-max-microvolt = <1200000>;258                };259 260                LDO16 {261                    regulator-name = "CAM_S_ANA_2.8V";262                    regulator-min-microvolt = <2800000>;263                    regulator-max-microvolt = <2800000>;264                };265 266                LDO17 {267                    regulator-name = "VCC_3.0V_LCD";268                    regulator-min-microvolt = <3000000>;269                    regulator-max-microvolt = <3000000>;270                };271 272                BUCK1 {273                    regulator-name = "VINT_1.1V";274                    regulator-min-microvolt = <750000>;275                    regulator-max-microvolt = <1500000>;276                    regulator-boot-on;277                    regulator-always-on;278                };279 280                BUCK2 {281                    regulator-name = "VG3D_1.1V";282                    regulator-min-microvolt = <750000>;283                    regulator-max-microvolt = <1500000>;284                    regulator-boot-on;285                };286 287                BUCK3 {288                    regulator-name = "VCC_1.8V";289                    regulator-min-microvolt = <1800000>;290                    regulator-max-microvolt = <1800000>;291                    regulator-always-on;292                };293 294                BUCK4 {295                    regulator-name = "VMEM_1.2V";296                    regulator-min-microvolt = <1200000>;297                    regulator-max-microvolt = <1200000>;298                    regulator-always-on;299                };300 301                EN32KHz-AP {302                    regulator-name = "32KHz AP";303                    regulator-always-on;304                };305 306                EN32KHz-CP {307                    regulator-name = "32KHz CP";308                };309 310                ENVICHG {311                    regulator-name = "VICHG";312                };313 314                ESAFEOUT1 {315                    regulator-name = "SAFEOUT1";316                };317 318                ESAFEOUT2 {319                    regulator-name = "SAFEOUT2";320                    regulator-boot-on;321                };322            };323        };324    };325