xref: /linux/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-pas.yaml (revision a23e1966932464e1c5226cb9ac4ce1d5fc10ba22)
18bb92d6fSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
28bb92d6fSKrzysztof Kozlowski%YAML 1.2
38bb92d6fSKrzysztof Kozlowski---
48bb92d6fSKrzysztof Kozlowski$id: http://devicetree.org/schemas/remoteproc/qcom,sc7180-pas.yaml#
58bb92d6fSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
68bb92d6fSKrzysztof Kozlowski
78bb92d6fSKrzysztof Kozlowskititle: Qualcomm SC7180/SC7280 Peripheral Authentication Service
88bb92d6fSKrzysztof Kozlowski
98bb92d6fSKrzysztof Kozlowskimaintainers:
108bb92d6fSKrzysztof Kozlowski  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
118bb92d6fSKrzysztof Kozlowski
128bb92d6fSKrzysztof Kozlowskidescription:
138bb92d6fSKrzysztof Kozlowski  Qualcomm SC7180/SC7280 SoC Peripheral Authentication Service loads and boots
148bb92d6fSKrzysztof Kozlowski  firmware on the Qualcomm DSP Hexagon cores.
158bb92d6fSKrzysztof Kozlowski
168bb92d6fSKrzysztof Kozlowskiproperties:
178bb92d6fSKrzysztof Kozlowski  compatible:
188bb92d6fSKrzysztof Kozlowski    enum:
19eadadb95SNikita Travkin      - qcom,sc7180-adsp-pas
208bb92d6fSKrzysztof Kozlowski      - qcom,sc7180-mpss-pas
2111eff102SLuca Weiss      - qcom,sc7280-adsp-pas
2211eff102SLuca Weiss      - qcom,sc7280-cdsp-pas
238bb92d6fSKrzysztof Kozlowski      - qcom,sc7280-mpss-pas
2411eff102SLuca Weiss      - qcom,sc7280-wpss-pas
258bb92d6fSKrzysztof Kozlowski
268bb92d6fSKrzysztof Kozlowski  reg:
278bb92d6fSKrzysztof Kozlowski    maxItems: 1
288bb92d6fSKrzysztof Kozlowski
298bb92d6fSKrzysztof Kozlowski  clocks:
308bb92d6fSKrzysztof Kozlowski    items:
318bb92d6fSKrzysztof Kozlowski      - description: XO clock
328bb92d6fSKrzysztof Kozlowski
338bb92d6fSKrzysztof Kozlowski  clock-names:
348bb92d6fSKrzysztof Kozlowski    items:
358bb92d6fSKrzysztof Kozlowski      - const: xo
368bb92d6fSKrzysztof Kozlowski
37cee616c6SNeil Armstrong  memory-region:
381e5c6933SKrzysztof Kozlowski    maxItems: 1
39cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
40cee616c6SNeil Armstrong
418bb92d6fSKrzysztof Kozlowski  qcom,qmp:
428bb92d6fSKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
438bb92d6fSKrzysztof Kozlowski    description: Reference to the AOSS side-channel message RAM.
448bb92d6fSKrzysztof Kozlowski
458bb92d6fSKrzysztof Kozlowski  smd-edge: false
468bb92d6fSKrzysztof Kozlowski
47cee616c6SNeil Armstrong  firmware-name:
48506355c5SKrzysztof Kozlowski    maxItems: 1
49cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
50cee616c6SNeil Armstrong
518bb92d6fSKrzysztof Kozlowskirequired:
528bb92d6fSKrzysztof Kozlowski  - compatible
538bb92d6fSKrzysztof Kozlowski  - reg
541e5c6933SKrzysztof Kozlowski  - memory-region
558bb92d6fSKrzysztof Kozlowski
568bb92d6fSKrzysztof KozlowskiallOf:
578bb92d6fSKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
588bb92d6fSKrzysztof Kozlowski  - if:
598bb92d6fSKrzysztof Kozlowski      properties:
608bb92d6fSKrzysztof Kozlowski        compatible:
618bb92d6fSKrzysztof Kozlowski          enum:
62eadadb95SNikita Travkin            - qcom,sc7180-adsp-pas
63eadadb95SNikita Travkin    then:
64eadadb95SNikita Travkin      properties:
65eadadb95SNikita Travkin        interrupts:
66eadadb95SNikita Travkin          maxItems: 5
67eadadb95SNikita Travkin        interrupt-names:
68eadadb95SNikita Travkin          maxItems: 5
69eadadb95SNikita Travkin    else:
70eadadb95SNikita Travkin      properties:
71eadadb95SNikita Travkin        interrupts:
72eadadb95SNikita Travkin          minItems: 6
73eadadb95SNikita Travkin        interrupt-names:
74eadadb95SNikita Travkin          minItems: 6
75eadadb95SNikita Travkin
76eadadb95SNikita Travkin  - if:
77eadadb95SNikita Travkin      properties:
78eadadb95SNikita Travkin        compatible:
79eadadb95SNikita Travkin          enum:
80eadadb95SNikita Travkin            - qcom,sc7180-adsp-pas
8111eff102SLuca Weiss            - qcom,sc7280-adsp-pas
82eadadb95SNikita Travkin    then:
83eadadb95SNikita Travkin      properties:
84eadadb95SNikita Travkin        power-domains:
85eadadb95SNikita Travkin          items:
86eadadb95SNikita Travkin            - description: LCX power domain
87eadadb95SNikita Travkin            - description: LMX power domain
88eadadb95SNikita Travkin        power-domain-names:
89eadadb95SNikita Travkin          items:
90eadadb95SNikita Travkin            - const: lcx
91eadadb95SNikita Travkin            - const: lmx
92eadadb95SNikita Travkin
93eadadb95SNikita Travkin  - if:
94eadadb95SNikita Travkin      properties:
95eadadb95SNikita Travkin        compatible:
96eadadb95SNikita Travkin          enum:
978bb92d6fSKrzysztof Kozlowski            - qcom,sc7180-mpss-pas
988bb92d6fSKrzysztof Kozlowski    then:
998bb92d6fSKrzysztof Kozlowski      properties:
1008bb92d6fSKrzysztof Kozlowski        power-domains:
101eadadb95SNikita Travkin          items:
102eadadb95SNikita Travkin            - description: CX power domain
103eadadb95SNikita Travkin            - description: MX power domain
104eadadb95SNikita Travkin            - description: MSS power domain
1058bb92d6fSKrzysztof Kozlowski        power-domain-names:
106eadadb95SNikita Travkin          items:
107eadadb95SNikita Travkin            - const: cx
108eadadb95SNikita Travkin            - const: mx
109eadadb95SNikita Travkin            - const: mss
110eadadb95SNikita Travkin
111eadadb95SNikita Travkin  - if:
112eadadb95SNikita Travkin      properties:
113eadadb95SNikita Travkin        compatible:
114eadadb95SNikita Travkin          enum:
115eadadb95SNikita Travkin            - qcom,sc7280-mpss-pas
116eadadb95SNikita Travkin    then:
1178bb92d6fSKrzysztof Kozlowski      properties:
1188bb92d6fSKrzysztof Kozlowski        power-domains:
119eadadb95SNikita Travkin          items:
120eadadb95SNikita Travkin            - description: CX power domain
1219d598fabSLuca Weiss            - description: MSS power domain
1228bb92d6fSKrzysztof Kozlowski        power-domain-names:
123eadadb95SNikita Travkin          items:
124eadadb95SNikita Travkin            - const: cx
1259d598fabSLuca Weiss            - const: mss
1268bb92d6fSKrzysztof Kozlowski
12711eff102SLuca Weiss  - if:
12811eff102SLuca Weiss      properties:
12911eff102SLuca Weiss        compatible:
13011eff102SLuca Weiss          enum:
13111eff102SLuca Weiss            - qcom,sc7280-cdsp-pas
13211eff102SLuca Weiss            - qcom,sc7280-wpss-pas
13311eff102SLuca Weiss    then:
13411eff102SLuca Weiss      properties:
13511eff102SLuca Weiss        power-domains:
13611eff102SLuca Weiss          items:
13711eff102SLuca Weiss            - description: CX power domain
13811eff102SLuca Weiss            - description: MX power domain
13911eff102SLuca Weiss        power-domain-names:
14011eff102SLuca Weiss          items:
14111eff102SLuca Weiss            - const: cx
14211eff102SLuca Weiss            - const: mx
14311eff102SLuca Weiss
1448bb92d6fSKrzysztof KozlowskiunevaluatedProperties: false
1458bb92d6fSKrzysztof Kozlowski
1468bb92d6fSKrzysztof Kozlowskiexamples:
1478bb92d6fSKrzysztof Kozlowski  - |
1488bb92d6fSKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
1498bb92d6fSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
1508bb92d6fSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
1518bb92d6fSKrzysztof Kozlowski    #include <dt-bindings/power/qcom-rpmpd.h>
1528bb92d6fSKrzysztof Kozlowski
1538bb92d6fSKrzysztof Kozlowski    remoteproc@4080000 {
1548bb92d6fSKrzysztof Kozlowski        compatible = "qcom,sc7180-mpss-pas";
1558bb92d6fSKrzysztof Kozlowski        reg = <0x04080000 0x4040>;
1568bb92d6fSKrzysztof Kozlowski
1578bb92d6fSKrzysztof Kozlowski        clocks = <&rpmhcc RPMH_CXO_CLK>;
1588bb92d6fSKrzysztof Kozlowski        clock-names = "xo";
1598bb92d6fSKrzysztof Kozlowski
1608bb92d6fSKrzysztof Kozlowski        interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
1618bb92d6fSKrzysztof Kozlowski                              <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1628bb92d6fSKrzysztof Kozlowski                              <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1638bb92d6fSKrzysztof Kozlowski                              <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1648bb92d6fSKrzysztof Kozlowski                              <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1658bb92d6fSKrzysztof Kozlowski                              <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1668bb92d6fSKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready", "handover",
1678bb92d6fSKrzysztof Kozlowski                          "stop-ack", "shutdown-ack";
1688bb92d6fSKrzysztof Kozlowski
1698bb92d6fSKrzysztof Kozlowski        memory-region = <&mpss_mem>;
1708bb92d6fSKrzysztof Kozlowski
1718bb92d6fSKrzysztof Kozlowski        power-domains = <&rpmhpd SC7180_CX>,
1728bb92d6fSKrzysztof Kozlowski                        <&rpmhpd SC7180_MX>,
1738bb92d6fSKrzysztof Kozlowski                        <&rpmhpd SC7180_MSS>;
1748bb92d6fSKrzysztof Kozlowski        power-domain-names = "cx", "mx", "mss";
1758bb92d6fSKrzysztof Kozlowski
1768bb92d6fSKrzysztof Kozlowski        qcom,qmp = <&aoss_qmp>;
1778bb92d6fSKrzysztof Kozlowski        qcom,smem-states = <&modem_smp2p_out 0>;
1788bb92d6fSKrzysztof Kozlowski        qcom,smem-state-names = "stop";
1798bb92d6fSKrzysztof Kozlowski
1808bb92d6fSKrzysztof Kozlowski        glink-edge {
1818bb92d6fSKrzysztof Kozlowski            interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
1828bb92d6fSKrzysztof Kozlowski            label = "modem";
1838bb92d6fSKrzysztof Kozlowski            qcom,remote-pid = <1>;
1848bb92d6fSKrzysztof Kozlowski            mboxes = <&apss_shared 12>;
1858bb92d6fSKrzysztof Kozlowski        };
1868bb92d6fSKrzysztof Kozlowski    };
187