Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/st,stpmic1.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: STMicroelectonics STPMIC1 Power Management IC bindings
0008 
0009 description: STMicroelectronics STPMIC1 Power Management IC
0010 
0011 maintainers:
0012   - pascal Paillet <p.paillet@foss.st.com>
0013 
0014 properties:
0015   compatible:
0016     const: st,stpmic1
0017 
0018   reg:
0019     const: 0x33
0020 
0021   interrupts:
0022     maxItems: 1
0023 
0024   "#interrupt-cells":
0025     const: 2
0026 
0027   interrupt-controller: true
0028 
0029   onkey:
0030     type: object
0031 
0032     $ref: ../input/input.yaml
0033 
0034     properties:
0035       compatible:
0036         const: st,stpmic1-onkey
0037 
0038       interrupts:
0039         items:
0040           - description: onkey-falling, happens when onkey is pressed. IT_PONKEY_F of pmic
0041           - description: onkey-rising, happens when onkey is released. IT_PONKEY_R of pmic
0042 
0043       interrupt-names:
0044         items:
0045           - const: onkey-falling
0046           - const: onkey-rising
0047 
0048       st,onkey-clear-cc-flag:
0049         description: onkey is able power on after an over-current shutdown event.
0050         $ref: /schemas/types.yaml#/definitions/flag
0051 
0052       st,onkey-pu-inactive:
0053         description: onkey pull up is not active
0054         $ref: /schemas/types.yaml#/definitions/flag
0055 
0056       power-off-time-sec:
0057         minimum: 1
0058         maximum: 16
0059 
0060     required:
0061       - compatible
0062       - interrupts
0063       - interrupt-names
0064 
0065     additionalProperties: false
0066 
0067   watchdog:
0068     type: object
0069 
0070     $ref: ../watchdog/watchdog.yaml
0071 
0072     properties:
0073       compatible:
0074         const: st,stpmic1-wdt
0075 
0076       timeout-sec: true
0077 
0078     required:
0079       - compatible
0080 
0081     additionalProperties: false
0082 
0083   regulators:
0084     type: object
0085 
0086     description: |
0087       Available Regulators in STPMIC1 device are:
0088         - buck1 for Buck BUCK1
0089         - buck2 for Buck BUCK2
0090         - buck3 for Buck BUCK3
0091         - buck4 for Buck BUCK4
0092         - ldo1 for LDO LDO1
0093         - ldo2 for LDO LDO2
0094         - ldo3 for LDO LDO3
0095         - ldo4 for LDO LDO4
0096         - ldo5 for LDO LDO5
0097         - ldo6 for LDO LDO6
0098         - vref_ddr for LDO Vref DDR
0099         - boost for Buck BOOST
0100         - pwr_sw1 for VBUS_OTG switch
0101         - pwr_sw2 for SW_OUT switch
0102       Switches are fixed voltage regulators with only enable/disable capability.
0103 
0104     properties:
0105       compatible:
0106         const: st,stpmic1-regulators
0107 
0108       ldo3:
0109         type: object
0110 
0111         properties:
0112           interrupts:
0113             maxItems: 1
0114 
0115           st,mask-reset:
0116             description: mask reset for this regulator, the regulator configuration
0117               is maintained during pmic reset.
0118             $ref: /schemas/types.yaml#/definitions/flag
0119 
0120           regulator-name: true
0121           regulator-boot-on: true
0122           regulator-always-on: true
0123           regulator-min-microvolt: true
0124           regulator-max-microvolt: true
0125           regulator-allow-bypass: true
0126           regulator-over-current-protection: true
0127 
0128         additionalProperties: false
0129 
0130       ldo4:
0131         type: object
0132 
0133         properties:
0134           interrupts:
0135             maxItems: 1
0136 
0137           st,mask-reset:
0138             description: mask reset for this regulator, the regulator configuration
0139               is maintained during pmic reset.
0140             $ref: /schemas/types.yaml#/definitions/flag
0141 
0142           regulator-name: true
0143           regulator-boot-on: true
0144           regulator-always-on: true
0145           regulator-over-current-protection: true
0146 
0147         additionalProperties: false
0148 
0149       vref_ddr:
0150         type: object
0151 
0152         properties:
0153           interrupts:
0154             maxItems: 1
0155 
0156           st,mask-reset:
0157             description: mask reset for this regulator, the regulator configuration
0158               is maintained during pmic reset.
0159             $ref: /schemas/types.yaml#/definitions/flag
0160 
0161           regulator-name: true
0162           regulator-boot-on: true
0163           regulator-always-on: true
0164 
0165         additionalProperties: false
0166 
0167       boost:
0168         type: object
0169 
0170         properties:
0171           interrupts:
0172             maxItems: 1
0173 
0174           st,mask-reset:
0175             description: mask reset for this regulator, the regulator configuration
0176               is maintained during pmic reset.
0177             $ref: /schemas/types.yaml#/definitions/flag
0178 
0179           regulator-name: true
0180           regulator-boot-on: true
0181           regulator-always-on: true
0182           regulator-over-current-protection: true
0183 
0184         additionalProperties: false
0185 
0186     patternProperties:
0187       "^(buck[1-4]|ldo[1-6]|boost|pwr_sw[1-2])-supply$":
0188         description: STPMIC1 voltage regulators supplies
0189 
0190       "^(buck[1-4]|ldo[1-6]|boost|vref_ddr|pwr_sw[1-2])$":
0191         $ref: ../regulator/regulator.yaml
0192 
0193       "^ldo[1-2,5-6]$":
0194         type: object
0195 
0196         properties:
0197           interrupts:
0198             maxItems: 1
0199 
0200           st,mask-reset:
0201             description: mask reset for this regulator, the regulator configuration
0202               is maintained during pmic reset.
0203             $ref: /schemas/types.yaml#/definitions/flag
0204 
0205           regulator-name: true
0206           regulator-boot-on: true
0207           regulator-always-on: true
0208           regulator-min-microvolt: true
0209           regulator-max-microvolt: true
0210           regulator-over-current-protection: true
0211           regulator-enable-ramp-delay: true
0212 
0213         additionalProperties: false
0214 
0215       "^buck[1-4]$":
0216         type: object
0217 
0218         properties:
0219           interrupts:
0220             maxItems: 1
0221 
0222           st,mask-reset:
0223             description: mask reset for this regulator, the regulator configuration
0224               is maintained during pmic reset.
0225             $ref: /schemas/types.yaml#/definitions/flag
0226 
0227           regulator-name: true
0228           regulator-boot-on: true
0229           regulator-always-on: true
0230           regulator-min-microvolt: true
0231           regulator-max-microvolt: true
0232           regulator-initial-mode: true
0233           regulator-pull-down: true
0234           regulator-over-current-protection: true
0235           regulator-enable-ramp-delay: true
0236 
0237         additionalProperties: false
0238 
0239       "^pwr_sw[1-2]$":
0240         type: object
0241 
0242         properties:
0243           interrupts:
0244             maxItems: 1
0245 
0246           regulator-name: true
0247           regulator-boot-on: true
0248           regulator-always-on: true
0249           regulator-over-current-protection: true
0250           regulator-active-discharge: true
0251 
0252         additionalProperties: false
0253 
0254     required:
0255       - compatible
0256 
0257     additionalProperties: false
0258 
0259 additionalProperties: false
0260 
0261 required:
0262   - compatible
0263   - reg
0264   - interrupts
0265   - "#interrupt-cells"
0266   - interrupt-controller
0267 
0268 examples:
0269   - |
0270     #include <dt-bindings/mfd/st,stpmic1.h>
0271     #include <dt-bindings/interrupt-controller/arm-gic.h>
0272     i2c {
0273       #address-cells = <1>;
0274       #size-cells = <0>;
0275       pmic@33 {
0276         compatible = "st,stpmic1";
0277         reg = <0x33>;
0278         interrupt-parent = <&gpioa>;
0279         interrupts = <0 2>;
0280 
0281         interrupt-controller;
0282         #interrupt-cells = <2>;
0283 
0284         onkey {
0285           compatible = "st,stpmic1-onkey";
0286           interrupts = <IT_PONKEY_F 0>,<IT_PONKEY_R 1>;
0287           interrupt-names = "onkey-falling", "onkey-rising";
0288           power-off-time-sec = <10>;
0289         };
0290 
0291         watchdog {
0292           compatible = "st,stpmic1-wdt";
0293         };
0294 
0295         regulators {
0296           compatible = "st,stpmic1-regulators";
0297 
0298           ldo6-supply = <&v3v3>;
0299 
0300           buck1 {
0301             regulator-name = "vdd_core";
0302             interrupts = <IT_CURLIM_BUCK1 0>;
0303             st,mask-reset;
0304             regulator-boot-on;
0305             regulator-min-microvolt = <700000>;
0306             regulator-max-microvolt = <1200000>;
0307           };
0308 
0309           buck3 {
0310             regulator-name = "vdd";
0311             regulator-min-microvolt = <3300000>;
0312             regulator-max-microvolt = <3300000>;
0313             regulator-boot-on;
0314             regulator-pull-down;
0315           };
0316 
0317           buck4 {
0318             regulator-name = "v3v3";
0319             interrupts = <IT_CURLIM_BUCK4 0>;
0320             regulator-min-microvolt = <3300000>;
0321             regulator-max-microvolt = <3300000>;
0322           };
0323 
0324           ldo6 {
0325             regulator-name = "v1v8";
0326             regulator-min-microvolt = <1800000>;
0327             regulator-max-microvolt = <1800000>;
0328             regulator-over-current-protection;
0329           };
0330         };
0331       };
0332     };
0333 
0334 ...