File Index
Files and directories
Sign in
FILE

qcom,x1e80100-spmi-pmic-arb.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/spmi/qcom,x1e80100-spmi-pmic-arb.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/spmi/qcom,x1e80100-spmi-pmic-arb.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm X1E80100 SPMI Controller (PMIC Arbiter v7)
  8
  9maintainers:
 10  - Stephen Boyd <sboyd@kernel.org>
 11
 12description: |
 13  The X1E80100 SPMI PMIC Arbiter implements HW version 7 and it's an SPMI
 14  controller with wrapping arbitration logic to allow for multiple on-chip
 15  devices to control up to 2 SPMI separate buses.
 16
 17  The PMIC Arbiter can also act as an interrupt controller, providing interrupts
 18  to slave devices.
 19
 20properties:
 21  compatible:
 22    oneOf:
 23      - items:
 24          - const: qcom,sar2130p-spmi-pmic-arb
 25          - const: qcom,x1e80100-spmi-pmic-arb
 26      - const: qcom,x1e80100-spmi-pmic-arb
 27
 28  reg:
 29    items:
 30      - description: core registers
 31      - description: tx-channel per virtual slave registers
 32      - description: rx-channel (called observer) per virtual slave registers
 33
 34  reg-names:
 35    items:
 36      - const: core
 37      - const: chnls
 38      - const: obsrvr
 39
 40  ranges: true
 41
 42  '#address-cells':
 43    const: 2
 44
 45  '#size-cells':
 46    const: 2
 47
 48  qcom,ee:
 49    $ref: /schemas/types.yaml#/definitions/uint32
 50    minimum: 0
 51    maximum: 5
 52    description: >
 53      indicates the active Execution Environment identifier
 54
 55  qcom,channel:
 56    $ref: /schemas/types.yaml#/definitions/uint32
 57    minimum: 0
 58    maximum: 5
 59    description: >
 60      which of the PMIC Arb provided channels to use for accesses
 61
 62patternProperties:
 63  "^spmi@[a-f0-9]+$":
 64    type: object
 65    $ref: /schemas/spmi/spmi.yaml
 66    unevaluatedProperties: false
 67
 68    properties:
 69      reg:
 70        items:
 71          - description: configuration registers
 72          - description: interrupt controller registers
 73
 74      reg-names:
 75        items:
 76          - const: cnfg
 77          - const: intr
 78
 79      interrupts:
 80        maxItems: 1
 81
 82      interrupt-names:
 83        const: periph_irq
 84
 85      interrupt-controller: true
 86
 87      '#interrupt-cells':
 88        const: 4
 89        description: |
 90          cell 1: slave ID for the requested interrupt (0-15)
 91          cell 2: peripheral ID for requested interrupt (0-255)
 92          cell 3: the requested peripheral interrupt (0-7)
 93          cell 4: interrupt flags indicating level-sense information,
 94                  as defined in dt-bindings/interrupt-controller/irq.h
 95
 96required:
 97  - compatible
 98  - reg-names
 99  - qcom,ee
100  - qcom,channel
101
102additionalProperties: false
103
104examples:
105  - |
106    #include <dt-bindings/interrupt-controller/arm-gic.h>
107
108    soc {
109      #address-cells = <2>;
110      #size-cells = <2>;
111
112      spmi: arbiter@c400000 {
113        compatible = "qcom,x1e80100-spmi-pmic-arb";
114        reg = <0 0x0c400000 0 0x3000>,
115              <0 0x0c500000 0 0x4000000>,
116              <0 0x0c440000 0 0x80000>;
117        reg-names = "core", "chnls", "obsrvr";
118
119        qcom,ee = <0>;
120        qcom,channel = <0>;
121
122        #address-cells = <2>;
123        #size-cells = <2>;
124        ranges;
125
126        spmi_bus0: spmi@c42d000 {
127          reg = <0 0x0c42d000 0 0x4000>,
128                <0 0x0c4c0000 0 0x10000>;
129          reg-names = "cnfg", "intr";
130
131          interrupt-names = "periph_irq";
132          interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
133          interrupt-controller;
134          #interrupt-cells = <4>;
135
136          #address-cells = <2>;
137          #size-cells = <0>;
138        };
139      };
140    };
~/ Read-only file preview.