File Index
Files and directories
Sign in
FILE

qcom,sm8350-pas.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/remoteproc/qcom,sm8350-pas.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm SM8350/SM8450 Peripheral Authentication Service
  8
  9maintainers:
 10  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 11
 12description:
 13  Qualcomm SM8350/SM8450 SoC Peripheral Authentication Service loads and boots
 14  firmware on the Qualcomm DSP Hexagon cores.
 15
 16properties:
 17  compatible:
 18    oneOf:
 19      - enum:
 20          - qcom,sar2130p-adsp-pas
 21          - qcom,sm8350-adsp-pas
 22          - qcom,sm8350-cdsp-pas
 23          - qcom,sm8350-slpi-pas
 24          - qcom,sm8350-mpss-pas
 25          - qcom,sm8450-adsp-pas
 26          - qcom,sm8450-cdsp-pas
 27          - qcom,sm8450-mpss-pas
 28          - qcom,sm8450-slpi-pas
 29      - items:
 30          - const: qcom,sc8280xp-slpi-pas
 31          - const: qcom,sm8350-slpi-pas
 32
 33  reg:
 34    maxItems: 1
 35
 36  clocks:
 37    items:
 38      - description: XO clock
 39
 40  clock-names:
 41    items:
 42      - const: xo
 43
 44  qcom,qmp:
 45    $ref: /schemas/types.yaml#/definitions/phandle
 46    description: Reference to the AOSS side-channel message RAM.
 47
 48  smd-edge: false
 49
 50  memory-region:
 51    maxItems: 1
 52    description: Reference to the reserved-memory for the Hexagon core
 53
 54  firmware-name:
 55    maxItems: 1
 56    description: Firmware name for the Hexagon core
 57
 58required:
 59  - compatible
 60  - reg
 61  - memory-region
 62
 63allOf:
 64  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
 65  - if:
 66      properties:
 67        compatible:
 68          contains:
 69            enum:
 70              - qcom,sar2130p-adsp-pas
 71              - qcom,sm8350-adsp-pas
 72              - qcom,sm8350-cdsp-pas
 73              - qcom,sm8350-slpi-pas
 74              - qcom,sm8450-adsp-pas
 75              - qcom,sm8450-cdsp-pas
 76              - qcom,sm8450-slpi-pas
 77    then:
 78      properties:
 79        interrupts:
 80          maxItems: 5
 81        interrupt-names:
 82          maxItems: 5
 83    else:
 84      properties:
 85        interrupts:
 86          minItems: 6
 87        interrupt-names:
 88          minItems: 6
 89
 90  - if:
 91      properties:
 92        compatible:
 93          enum:
 94            - qcom,sm8350-mpss-pas
 95            - qcom,sm8450-mpss-pas
 96    then:
 97      properties:
 98        power-domains:
 99          items:
100            - description: CX power domain
101            - description: MSS power domain
102        power-domain-names:
103          items:
104            - const: cx
105            - const: mss
106
107  - if:
108      properties:
109        compatible:
110          contains:
111            enum:
112              - qcom,sar2130p-adsp-pas
113              - qcom,sm8350-adsp-pas
114              - qcom,sm8350-slpi-pas
115              - qcom,sm8450-adsp-pas
116              - qcom,sm8450-slpi-pas
117    then:
118      properties:
119        power-domains:
120          items:
121            - description: LCX power domain
122            - description: LMX power domain
123        power-domain-names:
124          items:
125            - const: lcx
126            - const: lmx
127
128  - if:
129      properties:
130        compatible:
131          enum:
132            - qcom,sm8350-cdsp-pas
133            - qcom,sm8450-cdsp-pas
134    then:
135      properties:
136        power-domains:
137          items:
138            - description: CX power domain
139            - description: MXC power domain
140        power-domain-names:
141          items:
142            - const: cx
143            - const: mxc
144
145unevaluatedProperties: false
146
147examples:
148  - |
149    #include <dt-bindings/clock/qcom,rpmh.h>
150    #include <dt-bindings/interrupt-controller/irq.h>
151    #include <dt-bindings/mailbox/qcom-ipcc.h>
152    #include <dt-bindings/power/qcom,rpmhpd.h>
153
154    remoteproc@30000000 {
155        compatible = "qcom,sm8450-adsp-pas";
156        reg = <0x030000000 0x100>;
157
158        clocks = <&rpmhcc RPMH_CXO_CLK>;
159        clock-names = "xo";
160
161        firmware-name = "qcom/sm8450/adsp.mbn";
162
163        interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
164                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
165                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
166                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
167                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
168        interrupt-names = "wdog", "fatal", "ready",
169                          "handover", "stop-ack";
170
171        memory-region = <&adsp_mem>;
172
173        power-domains = <&rpmhpd RPMHPD_LCX>,
174                        <&rpmhpd RPMHPD_LMX>;
175        power-domain-names = "lcx", "lmx";
176
177        qcom,qmp = <&aoss_qmp>;
178        qcom,smem-states = <&smp2p_adsp_out 0>;
179        qcom,smem-state-names = "stop";
180
181        glink-edge {
182            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
183                                         IPCC_MPROC_SIGNAL_GLINK_QMP
184                                         IRQ_TYPE_EDGE_RISING>;
185            mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>;
186
187            label = "lpass";
188            qcom,remote-pid = <2>;
189
190            /* ... */
191        };
192    };
~/ Read-only file preview.