| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/interrupt-controller/qcom,pdc.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: PDC interrupt controller
- maintainers:
- - Bjorn Andersson <bjorn.andersson@linaro.org>
- description: |
- Qualcomm Technologies Inc. SoCs based on the RPM Hardened architecture have a
- Power Domain Controller (PDC) that is on always-on domain. In addition to
- providing power control for the power domains, the hardware also has an
- interrupt controller that can be used to help detect edge low interrupts as
- well detect interrupts when the GIC is non-operational.
- GIC is parent interrupt controller at the highest level. Platform interrupt
- controller PDC is next in hierarchy, followed by others. Drivers requiring
- wakeup capabilities of their device interrupts routed through the PDC, must
- specify PDC as their interrupt controller and request the PDC port associated
- with the GIC interrupt. See example below.
- properties:
- compatible:
- items:
- - enum:
- - qcom,qdu1000-pdc
- - qcom,sa8255p-pdc
- - qcom,sa8775p-pdc
- - qcom,sc7180-pdc
- - qcom,sc7280-pdc
- - qcom,sc8180x-pdc
- - qcom,sc8280xp-pdc
- - qcom,sdm670-pdc
- - qcom,sdm845-pdc
- - qcom,sdx55-pdc
- - qcom,sdx65-pdc
- - qcom,sdx75-pdc
- - qcom,sm4450-pdc
- - qcom,sm6350-pdc
- - qcom,sm8150-pdc
- - qcom,sm8250-pdc
- - qcom,sm8350-pdc
- - qcom,sm8450-pdc
- - qcom,sm8550-pdc
- - qcom,sm8650-pdc
- - qcom,x1e80100-pdc
- - const: qcom,pdc
- reg:
- minItems: 1
- items:
- - description: PDC base register region
- - description: Edge or Level config register for SPI interrupts
- '#interrupt-cells':
- const: 2
- interrupt-controller: true
- qcom,pdc-ranges:
- $ref: /schemas/types.yaml#/definitions/uint32-matrix
- minItems: 1
- maxItems: 128 # no hard limit
- items:
- items:
- - description: starting PDC port
- - description: GIC hwirq number for the PDC port
- - description: number of interrupts in sequence
- description: |
- Specifies the PDC pin offset and the number of PDC ports.
- The tuples indicates the valid mapping of valid PDC ports
- and their hwirq mapping.
- required:
- - compatible
- - reg
- - '#interrupt-cells'
- - interrupt-controller
- - qcom,pdc-ranges
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/interrupt-controller/irq.h>
- pdc: interrupt-controller@b220000 {
- compatible = "qcom,sdm845-pdc", "qcom,pdc";
- reg = <0xb220000 0x30000>;
- qcom,pdc-ranges = <0 512 94>, <94 641 15>, <115 662 7>;
- #interrupt-cells = <2>;
- interrupt-parent = <&intc>;
- interrupt-controller;
- };
- wake-device {
- interrupts-extended = <&pdc 2 IRQ_TYPE_LEVEL_HIGH>;
- };
|