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/actions,atc260x.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: Actions Semi ATC260x Power Management IC bindings
0008 
0009 maintainers:
0010   - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
0011   - Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
0012 
0013 description: |
0014   ATC260x series PMICs integrates Audio Codec, Power Management, RTC, IR
0015   and GPIO controller blocks. Currently only the PM related functionalities
0016   (i.e. regulators and system power-off/reboot) for the ATC2603C and ATC2609A
0017   chip variants are supported.
0018   ATC2603C includes 3 programmable DC-DC converters, 9 programmable LDO
0019   regulators and 1 fixed LDO regulator.
0020   ATC2609A includes 5 programmable DC-DC converters and 10 programmable LDO
0021   regulators.
0022 
0023 allOf:
0024   - $ref: ../input/input.yaml
0025 
0026 properties:
0027   compatible:
0028     enum:
0029       - actions,atc2603c
0030       - actions,atc2609a
0031 
0032   reg:
0033     maxItems: 1
0034 
0035   interrupts:
0036     maxItems: 1
0037 
0038   reset-time-sec:
0039     description: |
0040       Duration in seconds which the key should be kept pressed for device
0041       to reset automatically. The hardware default is 8. Use 0 to disable
0042       this functionality.
0043     enum: [0, 6, 8, 10, 12]
0044 
0045   regulators:
0046     type: object
0047     description: |
0048       List of child nodes specifying the regulators, depending on chip variant:
0049       * ATC2603C: dcdc[1-3], ldo[1-3,5-8,11,12], switchldo1
0050       * ATC2609A: dcdc[0-4], ldo[0-9]
0051 
0052     properties:
0053       compatible:
0054         enum:
0055           - actions,atc2603c-regulator
0056           - actions,atc2609a-regulator
0057 
0058       switchldo1:
0059         type: object
0060         $ref: ../regulator/regulator.yaml
0061 
0062         properties:
0063           regulator-name: true
0064           regulator-boot-on: true
0065           regulator-always-on: true
0066           regulator-min-microvolt: true
0067           regulator-max-microvolt: true
0068           regulator-allow-bypass: true
0069           regulator-active-discharge: true
0070 
0071         additionalProperties: false
0072 
0073     patternProperties:
0074       "^(dcdc[0-4]|ldo[0-9]|ldo1[1-2]|switchldo1)-supply$":
0075         description: ATC260x voltage regulators supplies
0076 
0077       "^(dcdc[0-4]|ldo[0-9]|ldo1[1-2])$":
0078         type: object
0079         $ref: ../regulator/regulator.yaml
0080 
0081         properties:
0082           regulator-name: true
0083           regulator-boot-on: true
0084           regulator-always-on: true
0085           regulator-min-microvolt: true
0086           regulator-max-microvolt: true
0087           regulator-allow-bypass: true
0088 
0089         additionalProperties: false
0090 
0091     allOf:
0092       - if:
0093           properties:
0094             compatible:
0095               contains:
0096                 const: actions,atc2603c-regulator
0097         then:
0098           patternProperties:
0099             "^(dcdc[0,4]|ldo[0,4,9])(-supply)?$": false
0100 
0101             "^(ldo|dcdc)":
0102               properties:
0103                 regulator-allow-bypass: false
0104       - if:
0105           properties:
0106             compatible:
0107               contains:
0108                 const: actions,atc2609a-regulator
0109         then:
0110           patternProperties:
0111             "^(ldo1[1-2]|switchldo1)(-supply)?$": false
0112 
0113             "^(dcdc|ldo[3-9])":
0114               properties:
0115                 regulator-allow-bypass: false
0116 
0117     required:
0118       - compatible
0119 
0120     additionalProperties: false
0121 
0122 additionalProperties: false
0123 
0124 required:
0125   - compatible
0126   - reg
0127   - interrupts
0128 
0129 examples:
0130   - |
0131     #include <dt-bindings/interrupt-controller/arm-gic.h>
0132     i2c0 {
0133         #address-cells = <1>;
0134         #size-cells = <0>;
0135 
0136         pmic@65 {
0137             compatible = "actions,atc2603c";
0138             reg = <0x65>;
0139             interrupt-parent = <&sirq>;
0140             interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
0141 
0142             reset-time-sec = <6>;
0143 
0144             regulators {
0145                 compatible = "actions,atc2603c-regulator";
0146 
0147                 dcdc1-supply = <&reg_5v0>;
0148                 dcdc3-supply = <&reg_5v0>;
0149                 ldo5-supply = <&reg_5v0>;
0150                 switchldo1-supply = <&vcc>;
0151 
0152                 vdd_cpu: dcdc1 {
0153                     regulator-name = "VDD_CPU";
0154                     regulator-min-microvolt = <700000>;
0155                     regulator-max-microvolt = <1400000>;
0156                     regulator-always-on;
0157                 };
0158 
0159                 vcc: dcdc3 {
0160                     regulator-name = "VCC";
0161                     regulator-min-microvolt = <2600000>;
0162                     regulator-max-microvolt = <3300000>;
0163                     regulator-always-on;
0164                 };
0165 
0166                 vcc_3v1: ldo5 {
0167                     regulator-name = "VCC_3V1";
0168                     regulator-min-microvolt = <2600000>;
0169                     regulator-max-microvolt = <3300000>;
0170                 };
0171 
0172                 sd_vcc: switchldo1 {
0173                     regulator-name = "SD_VCC";
0174                     regulator-min-microvolt = <3000000>;
0175                     regulator-max-microvolt = <3300000>;
0176                     regulator-always-on;
0177                     regulator-boot-on;
0178                 };
0179             };
0180         };
0181     };
0182 
0183 ...