xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/qcom,pm8008.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
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    description:
235956d97fSEmmanuel Vadot      I2C slave address.
245956d97fSEmmanuel Vadot
255956d97fSEmmanuel Vadot    maxItems: 1
265956d97fSEmmanuel Vadot
275956d97fSEmmanuel Vadot  interrupts:
285956d97fSEmmanuel Vadot    maxItems: 1
295956d97fSEmmanuel Vadot
305956d97fSEmmanuel Vadot    description: Parent interrupt.
315956d97fSEmmanuel Vadot
325956d97fSEmmanuel Vadot  "#interrupt-cells":
335956d97fSEmmanuel Vadot    const: 2
345956d97fSEmmanuel Vadot
355956d97fSEmmanuel Vadot    description: |
365956d97fSEmmanuel Vadot      The first cell is the IRQ number, the second cell is the IRQ trigger
375956d97fSEmmanuel Vadot      flag. All interrupts are listed in include/dt-bindings/mfd/qcom-pm8008.h.
385956d97fSEmmanuel Vadot
395956d97fSEmmanuel Vadot  interrupt-controller: true
405956d97fSEmmanuel Vadot
415956d97fSEmmanuel Vadot  "#address-cells":
425956d97fSEmmanuel Vadot    const: 1
435956d97fSEmmanuel Vadot
445956d97fSEmmanuel Vadot  "#size-cells":
455956d97fSEmmanuel Vadot    const: 0
465956d97fSEmmanuel Vadot
475956d97fSEmmanuel VadotpatternProperties:
485956d97fSEmmanuel Vadot  "^gpio@[0-9a-f]+$":
495956d97fSEmmanuel Vadot    type: object
505956d97fSEmmanuel Vadot
515956d97fSEmmanuel Vadot    description: |
525956d97fSEmmanuel Vadot      The GPIO peripheral. This node may be specified twice, one for each GPIO.
535956d97fSEmmanuel Vadot
545956d97fSEmmanuel Vadot    properties:
555956d97fSEmmanuel Vadot      compatible:
56354d7675SEmmanuel Vadot        items:
57354d7675SEmmanuel Vadot          - const: qcom,pm8008-gpio
58354d7675SEmmanuel Vadot          - const: qcom,spmi-gpio
595956d97fSEmmanuel Vadot
605956d97fSEmmanuel Vadot      reg:
615956d97fSEmmanuel Vadot        description: Peripheral address of one of the two GPIO peripherals.
625956d97fSEmmanuel Vadot        maxItems: 1
635956d97fSEmmanuel Vadot
645956d97fSEmmanuel Vadot      gpio-controller: true
655956d97fSEmmanuel Vadot
66354d7675SEmmanuel Vadot      gpio-ranges:
67354d7675SEmmanuel Vadot        maxItems: 1
68354d7675SEmmanuel Vadot
695956d97fSEmmanuel Vadot      interrupt-controller: true
705956d97fSEmmanuel Vadot
715956d97fSEmmanuel Vadot      "#interrupt-cells":
725956d97fSEmmanuel Vadot        const: 2
735956d97fSEmmanuel Vadot
745956d97fSEmmanuel Vadot      "#gpio-cells":
755956d97fSEmmanuel Vadot        const: 2
765956d97fSEmmanuel Vadot
775956d97fSEmmanuel Vadot    required:
785956d97fSEmmanuel Vadot      - compatible
795956d97fSEmmanuel Vadot      - reg
805956d97fSEmmanuel Vadot      - gpio-controller
815956d97fSEmmanuel Vadot      - interrupt-controller
825956d97fSEmmanuel Vadot      - "#gpio-cells"
83354d7675SEmmanuel Vadot      - gpio-ranges
845956d97fSEmmanuel Vadot      - "#interrupt-cells"
855956d97fSEmmanuel Vadot
865956d97fSEmmanuel Vadot    additionalProperties: false
875956d97fSEmmanuel Vadot
885956d97fSEmmanuel Vadotrequired:
895956d97fSEmmanuel Vadot  - compatible
905956d97fSEmmanuel Vadot  - reg
915956d97fSEmmanuel Vadot  - interrupts
925956d97fSEmmanuel Vadot  - "#address-cells"
935956d97fSEmmanuel Vadot  - "#size-cells"
945956d97fSEmmanuel Vadot  - "#interrupt-cells"
955956d97fSEmmanuel Vadot
965956d97fSEmmanuel VadotadditionalProperties: false
975956d97fSEmmanuel Vadot
985956d97fSEmmanuel Vadotexamples:
995956d97fSEmmanuel Vadot  - |
1005956d97fSEmmanuel Vadot    #include <dt-bindings/mfd/qcom-pm8008.h>
1015956d97fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
102*8d13bc63SEmmanuel Vadot
103*8d13bc63SEmmanuel Vadot    i2c {
1045956d97fSEmmanuel Vadot      #address-cells = <1>;
1055956d97fSEmmanuel Vadot      #size-cells = <0>;
106*8d13bc63SEmmanuel Vadot
107*8d13bc63SEmmanuel Vadot      pmic@8 {
1085956d97fSEmmanuel Vadot        compatible = "qcom,pm8008";
1095956d97fSEmmanuel Vadot        reg = <0x8>;
1105956d97fSEmmanuel Vadot        #address-cells = <1>;
1115956d97fSEmmanuel Vadot        #size-cells = <0>;
1125956d97fSEmmanuel Vadot        interrupt-controller;
1135956d97fSEmmanuel Vadot        #interrupt-cells = <2>;
1145956d97fSEmmanuel Vadot
1155956d97fSEmmanuel Vadot        interrupt-parent = <&tlmm>;
1165956d97fSEmmanuel Vadot        interrupts = <32 IRQ_TYPE_EDGE_RISING>;
1175956d97fSEmmanuel Vadot
118354d7675SEmmanuel Vadot        pm8008_gpios: gpio@c000 {
119354d7675SEmmanuel Vadot          compatible = "qcom,pm8008-gpio", "qcom,spmi-gpio";
1205956d97fSEmmanuel Vadot          reg = <0xc000>;
1215956d97fSEmmanuel Vadot          gpio-controller;
122354d7675SEmmanuel Vadot          gpio-ranges = <&pm8008_gpios 0 0 2>;
1235956d97fSEmmanuel Vadot          #gpio-cells = <2>;
1245956d97fSEmmanuel Vadot          interrupt-controller;
1255956d97fSEmmanuel Vadot          #interrupt-cells = <2>;
1265956d97fSEmmanuel Vadot        };
1275956d97fSEmmanuel Vadot      };
1285956d97fSEmmanuel Vadot    };
1295956d97fSEmmanuel Vadot
1305956d97fSEmmanuel Vadot...
131