xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/qcom,pm8008.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/qcom,pm8008.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm Technologies, Inc. PM8008 PMIC
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
10aa1a8ff2SEmmanuel Vadot  - Guru Das Srinagesh <quic_gurus@quicinc.com>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel Vadotdescription: |
135956d97fSEmmanuel Vadot  Qualcomm Technologies, Inc. PM8008 is a dedicated camera PMIC that integrates
145956d97fSEmmanuel Vadot  all the necessary power management, housekeeping, and interface support
155956d97fSEmmanuel Vadot  functions into a single IC.
165956d97fSEmmanuel Vadot
175956d97fSEmmanuel Vadotproperties:
185956d97fSEmmanuel Vadot  compatible:
195956d97fSEmmanuel Vadot    const: qcom,pm8008
205956d97fSEmmanuel Vadot
215956d97fSEmmanuel Vadot  reg:
225956d97fSEmmanuel Vadot    maxItems: 1
235956d97fSEmmanuel Vadot
245956d97fSEmmanuel Vadot  interrupts:
255956d97fSEmmanuel Vadot    maxItems: 1
265956d97fSEmmanuel Vadot
27*0e8011faSEmmanuel Vadot  reset-gpios:
285956d97fSEmmanuel Vadot    maxItems: 1
295956d97fSEmmanuel Vadot
30*0e8011faSEmmanuel Vadot  vdd-l1-l2-supply: true
31*0e8011faSEmmanuel Vadot  vdd-l3-l4-supply: true
32*0e8011faSEmmanuel Vadot  vdd-l5-supply: true
33*0e8011faSEmmanuel Vadot  vdd-l6-supply: true
34*0e8011faSEmmanuel Vadot  vdd-l7-supply: true
35*0e8011faSEmmanuel Vadot
365956d97fSEmmanuel Vadot  gpio-controller: true
375956d97fSEmmanuel Vadot
38*0e8011faSEmmanuel Vadot  "#gpio-cells":
39*0e8011faSEmmanuel Vadot    const: 2
40*0e8011faSEmmanuel Vadot
41354d7675SEmmanuel Vadot  gpio-ranges:
42354d7675SEmmanuel Vadot    maxItems: 1
43354d7675SEmmanuel Vadot
445956d97fSEmmanuel Vadot  interrupt-controller: true
455956d97fSEmmanuel Vadot
465956d97fSEmmanuel Vadot  "#interrupt-cells":
475956d97fSEmmanuel Vadot    const: 2
485956d97fSEmmanuel Vadot
49*0e8011faSEmmanuel Vadot  "#thermal-sensor-cells":
50*0e8011faSEmmanuel Vadot    const: 0
51*0e8011faSEmmanuel Vadot
52*0e8011faSEmmanuel Vadot  pinctrl:
53*0e8011faSEmmanuel Vadot    type: object
54*0e8011faSEmmanuel Vadot    additionalProperties: false
55*0e8011faSEmmanuel Vadot    patternProperties:
56*0e8011faSEmmanuel Vadot      "-state$":
57*0e8011faSEmmanuel Vadot        type: object
58*0e8011faSEmmanuel Vadot
59*0e8011faSEmmanuel Vadot        allOf:
60*0e8011faSEmmanuel Vadot          - $ref: /schemas/pinctrl/pinmux-node.yaml
61*0e8011faSEmmanuel Vadot          - $ref: /schemas/pinctrl/pincfg-node.yaml
62*0e8011faSEmmanuel Vadot
63*0e8011faSEmmanuel Vadot        properties:
64*0e8011faSEmmanuel Vadot          pins:
65*0e8011faSEmmanuel Vadot            items:
66*0e8011faSEmmanuel Vadot              pattern: "^gpio[12]$"
67*0e8011faSEmmanuel Vadot
68*0e8011faSEmmanuel Vadot          function:
69*0e8011faSEmmanuel Vadot            items:
70*0e8011faSEmmanuel Vadot              - enum:
71*0e8011faSEmmanuel Vadot                  - normal
725956d97fSEmmanuel Vadot
735956d97fSEmmanuel Vadot        required:
74*0e8011faSEmmanuel Vadot          - pins
75*0e8011faSEmmanuel Vadot          - function
765956d97fSEmmanuel Vadot
775956d97fSEmmanuel Vadot        additionalProperties: false
785956d97fSEmmanuel Vadot
79*0e8011faSEmmanuel Vadot  regulators:
80*0e8011faSEmmanuel Vadot    type: object
81*0e8011faSEmmanuel Vadot    additionalProperties: false
82*0e8011faSEmmanuel Vadot    patternProperties:
83*0e8011faSEmmanuel Vadot      "^ldo[1-7]$":
84*0e8011faSEmmanuel Vadot        type: object
85*0e8011faSEmmanuel Vadot        $ref: /schemas/regulator/regulator.yaml#
86*0e8011faSEmmanuel Vadot        unevaluatedProperties: false
87*0e8011faSEmmanuel Vadot
885956d97fSEmmanuel Vadotrequired:
895956d97fSEmmanuel Vadot  - compatible
905956d97fSEmmanuel Vadot  - reg
915956d97fSEmmanuel Vadot  - interrupts
92*0e8011faSEmmanuel Vadot  - vdd-l1-l2-supply
93*0e8011faSEmmanuel Vadot  - vdd-l3-l4-supply
94*0e8011faSEmmanuel Vadot  - vdd-l5-supply
95*0e8011faSEmmanuel Vadot  - vdd-l6-supply
96*0e8011faSEmmanuel Vadot  - vdd-l7-supply
97*0e8011faSEmmanuel Vadot  - gpio-controller
98*0e8011faSEmmanuel Vadot  - "#gpio-cells"
99*0e8011faSEmmanuel Vadot  - gpio-ranges
100*0e8011faSEmmanuel Vadot  - interrupt-controller
1015956d97fSEmmanuel Vadot  - "#interrupt-cells"
102*0e8011faSEmmanuel Vadot  - "#thermal-sensor-cells"
1035956d97fSEmmanuel Vadot
1045956d97fSEmmanuel VadotadditionalProperties: false
1055956d97fSEmmanuel Vadot
1065956d97fSEmmanuel Vadotexamples:
1075956d97fSEmmanuel Vadot  - |
108*0e8011faSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
1095956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
1108d13bc63SEmmanuel Vadot
1118d13bc63SEmmanuel Vadot    i2c {
1125956d97fSEmmanuel Vadot      #address-cells = <1>;
1135956d97fSEmmanuel Vadot      #size-cells = <0>;
1148d13bc63SEmmanuel Vadot
115*0e8011faSEmmanuel Vadot      pm8008: pmic@8 {
1165956d97fSEmmanuel Vadot        compatible = "qcom,pm8008";
1175956d97fSEmmanuel Vadot        reg = <0x8>;
1185956d97fSEmmanuel Vadot
1195956d97fSEmmanuel Vadot        interrupt-parent = <&tlmm>;
1205956d97fSEmmanuel Vadot        interrupts = <32 IRQ_TYPE_EDGE_RISING>;
1215956d97fSEmmanuel Vadot
122*0e8011faSEmmanuel Vadot        reset-gpios = <&tlmm 42 GPIO_ACTIVE_LOW>;
123*0e8011faSEmmanuel Vadot
124*0e8011faSEmmanuel Vadot        vdd-l1-l2-supply = <&vreg_s8b_1p2>;
125*0e8011faSEmmanuel Vadot        vdd-l3-l4-supply = <&vreg_s1b_1p8>;
126*0e8011faSEmmanuel Vadot        vdd-l5-supply = <&vreg_bob>;
127*0e8011faSEmmanuel Vadot        vdd-l6-supply = <&vreg_bob>;
128*0e8011faSEmmanuel Vadot        vdd-l7-supply = <&vreg_bob>;
129*0e8011faSEmmanuel Vadot
1305956d97fSEmmanuel Vadot        gpio-controller;
1315956d97fSEmmanuel Vadot        #gpio-cells = <2>;
132*0e8011faSEmmanuel Vadot        gpio-ranges = <&pm8008 0 0 2>;
133*0e8011faSEmmanuel Vadot
1345956d97fSEmmanuel Vadot        interrupt-controller;
1355956d97fSEmmanuel Vadot        #interrupt-cells = <2>;
136*0e8011faSEmmanuel Vadot
137*0e8011faSEmmanuel Vadot        #thermal-sensor-cells = <0>;
138*0e8011faSEmmanuel Vadot
139*0e8011faSEmmanuel Vadot        pinctrl {
140*0e8011faSEmmanuel Vadot          gpio-keys-state {
141*0e8011faSEmmanuel Vadot            pins = "gpio1";
142*0e8011faSEmmanuel Vadot            function = "normal";
143*0e8011faSEmmanuel Vadot          };
144*0e8011faSEmmanuel Vadot        };
145*0e8011faSEmmanuel Vadot
146*0e8011faSEmmanuel Vadot        regulators {
147*0e8011faSEmmanuel Vadot          ldo1 {
148*0e8011faSEmmanuel Vadot            regulator-name = "vreg_l1";
149*0e8011faSEmmanuel Vadot            regulator-min-microvolt = <950000>;
150*0e8011faSEmmanuel Vadot            regulator-max-microvolt = <1300000>;
151*0e8011faSEmmanuel Vadot          };
1525956d97fSEmmanuel Vadot        };
1535956d97fSEmmanuel Vadot      };
1545956d97fSEmmanuel Vadot    };
1555956d97fSEmmanuel Vadot
1565956d97fSEmmanuel Vadot...
157