Based on kernel version 7.0. Page generated on 2026-04-23 09:49 EST.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/spmi/qcom,glymur-spmi-pmic-arb.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm Technologies, Inc. Glymur SPMI Controller (PMIC Arbiter v8) maintainers: - David Collins <david.collins@oss.qualcomm.com> description: | The Glymur SPMI PMIC Arbiter implements HW version 8 and it's an SPMI controller with wrapping arbitration logic to allow for multiple on-chip devices to control up to 4 SPMI separate buses. The PMIC Arbiter can also act as an interrupt controller, providing interrupts to slave devices. allOf: - $ref: /schemas/spmi/qcom,spmi-pmic-arb-common.yaml properties: compatible: oneOf: - items: - enum: - qcom,kaanapali-spmi-pmic-arb - const: qcom,glymur-spmi-pmic-arb - enum: - qcom,glymur-spmi-pmic-arb reg: items: - description: core registers - description: tx-channel per virtual slave registers - description: rx-channel (called observer) per virtual slave registers - description: channel to PMIC peripheral mapping registers reg-names: items: - const: core - const: chnls - const: obsrvr - const: chnl_map ranges: true '#address-cells': const: 2 '#size-cells': const: 2 patternProperties: "^spmi@[a-f0-9]+$": type: object $ref: /schemas/spmi/spmi.yaml unevaluatedProperties: false properties: reg: items: - description: configuration registers - description: interrupt controller registers - description: channel owner EE mapping registers reg-names: items: - const: cnfg - const: intr - const: chnl_owner interrupts: maxItems: 1 interrupt-names: const: periph_irq interrupt-controller: true '#interrupt-cells': const: 4 description: | cell 1: slave ID for the requested interrupt (0-15) cell 2: peripheral ID for requested interrupt (0-255) cell 3: the requested peripheral interrupt (0-7) cell 4: interrupt flags indicating level-sense information, as defined in dt-bindings/interrupt-controller/irq.h required: - compatible - reg-names unevaluatedProperties: false examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> soc { #address-cells = <2>; #size-cells = <2>; arbiter@c400000 { compatible = "qcom,glymur-spmi-pmic-arb"; reg = <0x0 0xc400000 0x0 0x3000>, <0x0 0xc900000 0x0 0x400000>, <0x0 0xc4c0000 0x0 0x400000>, <0x0 0xc403000 0x0 0x8000>; reg-names = "core", "chnls", "obsrvr", "chnl_map"; qcom,ee = <0>; qcom,channel = <0>; #address-cells = <2>; #size-cells = <2>; ranges; spmi@c426000 { reg = <0x0 0xc426000 0x0 0x4000>, <0x0 0xc8c0000 0x0 0x10000>, <0x0 0xc42a000 0x0 0x8000>; reg-names = "cnfg", "intr", "chnl_owner"; interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "periph_irq"; interrupt-controller; #interrupt-cells = <4>; #address-cells = <2>; #size-cells = <0>; }; spmi@c437000 { reg = <0x0 0xc437000 0x0 0x4000>, <0x0 0xc8d0000 0x0 0x10000>, <0x0 0xc43b000 0x0 0x8000>; reg-names = "cnfg", "intr", "chnl_owner"; interrupts-extended = <&pdc 3 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "periph_irq"; interrupt-controller; #interrupt-cells = <4>; #address-cells = <2>; #size-cells = <0>; }; }; }; |