xref: /linux/Documentation/devicetree/bindings/remoteproc/qcom,sm6375-pas.yaml (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
16d3211e0SKonrad Dybcio# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
26d3211e0SKonrad Dybcio%YAML 1.2
36d3211e0SKonrad Dybcio---
46d3211e0SKonrad Dybcio$id: http://devicetree.org/schemas/remoteproc/qcom,sm6375-pas.yaml#
56d3211e0SKonrad Dybcio$schema: http://devicetree.org/meta-schemas/core.yaml#
66d3211e0SKonrad Dybcio
76d3211e0SKonrad Dybciotitle: Qualcomm SM6375 Peripheral Authentication Service
86d3211e0SKonrad Dybcio
96d3211e0SKonrad Dybciomaintainers:
106d3211e0SKonrad Dybcio  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
116d3211e0SKonrad Dybcio
126d3211e0SKonrad Dybciodescription:
136d3211e0SKonrad Dybcio  Qualcomm SM6375 SoC Peripheral Authentication Service loads and boots
146d3211e0SKonrad Dybcio  firmware on the Qualcomm DSP Hexagon cores.
156d3211e0SKonrad Dybcio
166d3211e0SKonrad Dybcioproperties:
176d3211e0SKonrad Dybcio  compatible:
186d3211e0SKonrad Dybcio    enum:
196d3211e0SKonrad Dybcio      - qcom,sm6375-adsp-pas
206d3211e0SKonrad Dybcio      - qcom,sm6375-cdsp-pas
216d3211e0SKonrad Dybcio      - qcom,sm6375-mpss-pas
226d3211e0SKonrad Dybcio
236d3211e0SKonrad Dybcio  reg:
246d3211e0SKonrad Dybcio    maxItems: 1
256d3211e0SKonrad Dybcio
266d3211e0SKonrad Dybcio  clocks:
276d3211e0SKonrad Dybcio    items:
286d3211e0SKonrad Dybcio      - description: XO clock
296d3211e0SKonrad Dybcio
306d3211e0SKonrad Dybcio  clock-names:
316d3211e0SKonrad Dybcio    items:
326d3211e0SKonrad Dybcio      - const: xo
336d3211e0SKonrad Dybcio
346d3211e0SKonrad Dybcio  memory-region:
356d3211e0SKonrad Dybcio    maxItems: 1
366d3211e0SKonrad Dybcio    description: Reference to the reserved-memory for the Hexagon core
376d3211e0SKonrad Dybcio
386d3211e0SKonrad Dybcio  firmware-name:
39*506355c5SKrzysztof Kozlowski    maxItems: 1
406d3211e0SKonrad Dybcio    description: Firmware name for the Hexagon core
416d3211e0SKonrad Dybcio
426d3211e0SKonrad Dybcio  smd-edge: false
436d3211e0SKonrad Dybcio
446d3211e0SKonrad Dybciorequired:
456d3211e0SKonrad Dybcio  - compatible
466d3211e0SKonrad Dybcio  - reg
476d3211e0SKonrad Dybcio
486d3211e0SKonrad DybcioallOf:
496d3211e0SKonrad Dybcio  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
506d3211e0SKonrad Dybcio  - if:
516d3211e0SKonrad Dybcio      properties:
526d3211e0SKonrad Dybcio        compatible:
536d3211e0SKonrad Dybcio          enum:
546d3211e0SKonrad Dybcio            - qcom,sm6375-adsp-pas
556d3211e0SKonrad Dybcio            - qcom,sm6375-cdsp-pas
566d3211e0SKonrad Dybcio    then:
576d3211e0SKonrad Dybcio      properties:
586d3211e0SKonrad Dybcio        interrupts:
596d3211e0SKonrad Dybcio          maxItems: 5
606d3211e0SKonrad Dybcio        interrupt-names:
616d3211e0SKonrad Dybcio          maxItems: 5
626d3211e0SKonrad Dybcio    else:
636d3211e0SKonrad Dybcio      properties:
646d3211e0SKonrad Dybcio        interrupts:
656d3211e0SKonrad Dybcio          minItems: 6
666d3211e0SKonrad Dybcio        interrupt-names:
676d3211e0SKonrad Dybcio          minItems: 6
686d3211e0SKonrad Dybcio
696d3211e0SKonrad Dybcio  - if:
706d3211e0SKonrad Dybcio      properties:
716d3211e0SKonrad Dybcio        compatible:
726d3211e0SKonrad Dybcio          enum:
736d3211e0SKonrad Dybcio            - qcom,sm6375-adsp-pas
746d3211e0SKonrad Dybcio    then:
756d3211e0SKonrad Dybcio      properties:
766d3211e0SKonrad Dybcio        power-domains:
776d3211e0SKonrad Dybcio          items:
786d3211e0SKonrad Dybcio            - description: LCX power domain
796d3211e0SKonrad Dybcio            - description: LMX power domain
806d3211e0SKonrad Dybcio        power-domain-names:
816d3211e0SKonrad Dybcio          items:
826d3211e0SKonrad Dybcio            - const: lcx
836d3211e0SKonrad Dybcio            - const: lmx
846d3211e0SKonrad Dybcio
856d3211e0SKonrad Dybcio  - if:
866d3211e0SKonrad Dybcio      properties:
876d3211e0SKonrad Dybcio        compatible:
886d3211e0SKonrad Dybcio          enum:
896d3211e0SKonrad Dybcio            - qcom,sm6375-cdsp-pas
906d3211e0SKonrad Dybcio            - qcom,sm6375-mpss-pas
916d3211e0SKonrad Dybcio    then:
926d3211e0SKonrad Dybcio      properties:
936d3211e0SKonrad Dybcio        power-domains:
946d3211e0SKonrad Dybcio          items:
956d3211e0SKonrad Dybcio            - description: CX power domain
966d3211e0SKonrad Dybcio        power-domain-names:
976d3211e0SKonrad Dybcio          items:
986d3211e0SKonrad Dybcio            - const: cx
996d3211e0SKonrad Dybcio
1006d3211e0SKonrad DybciounevaluatedProperties: false
1016d3211e0SKonrad Dybcio
1026d3211e0SKonrad Dybcioexamples:
1036d3211e0SKonrad Dybcio  - |
1046d3211e0SKonrad Dybcio    #include <dt-bindings/clock/qcom,rpmcc.h>
1056d3211e0SKonrad Dybcio    #include <dt-bindings/interrupt-controller/arm-gic.h>
1066d3211e0SKonrad Dybcio    #include <dt-bindings/mailbox/qcom-ipcc.h>
1076d3211e0SKonrad Dybcio    #include <dt-bindings/power/qcom-rpmpd.h>
1086d3211e0SKonrad Dybcio
1096d3211e0SKonrad Dybcio    remoteproc_adsp: remoteproc@a400000 {
1106d3211e0SKonrad Dybcio        compatible = "qcom,sm6375-adsp-pas";
1116d3211e0SKonrad Dybcio        reg = <0x0a400000 0x100>;
1126d3211e0SKonrad Dybcio
1136d3211e0SKonrad Dybcio        interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
1146d3211e0SKonrad Dybcio                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1156d3211e0SKonrad Dybcio                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1166d3211e0SKonrad Dybcio                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1176d3211e0SKonrad Dybcio                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
1186d3211e0SKonrad Dybcio        interrupt-names = "wdog", "fatal", "ready",
1196d3211e0SKonrad Dybcio                          "handover", "stop-ack";
1206d3211e0SKonrad Dybcio
1216d3211e0SKonrad Dybcio        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
1226d3211e0SKonrad Dybcio        clock-names = "xo";
1236d3211e0SKonrad Dybcio
1246d3211e0SKonrad Dybcio        power-domains = <&rpmpd SM6375_VDD_LPI_CX>,
1256d3211e0SKonrad Dybcio                        <&rpmpd SM6375_VDD_LPI_MX>;
1266d3211e0SKonrad Dybcio        power-domain-names = "lcx", "lmx";
1276d3211e0SKonrad Dybcio
1286d3211e0SKonrad Dybcio        memory-region = <&pil_adsp_mem>;
1296d3211e0SKonrad Dybcio
1306d3211e0SKonrad Dybcio        qcom,smem-states = <&smp2p_adsp_out 0>;
1316d3211e0SKonrad Dybcio        qcom,smem-state-names = "stop";
1326d3211e0SKonrad Dybcio
1336d3211e0SKonrad Dybcio        glink-edge {
1346d3211e0SKonrad Dybcio            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1356d3211e0SKonrad Dybcio                                         IPCC_MPROC_SIGNAL_GLINK_QMP
1366d3211e0SKonrad Dybcio                                         IRQ_TYPE_EDGE_RISING>;
1376d3211e0SKonrad Dybcio            mboxes = <&ipcc IPCC_CLIENT_LPASS
1386d3211e0SKonrad Dybcio                            IPCC_MPROC_SIGNAL_GLINK_QMP>;
1396d3211e0SKonrad Dybcio
1406d3211e0SKonrad Dybcio            label = "lpass";
1416d3211e0SKonrad Dybcio            qcom,remote-pid = <2>;
1426d3211e0SKonrad Dybcio
1436d3211e0SKonrad Dybcio            /* ... */
1446d3211e0SKonrad Dybcio        };
1456d3211e0SKonrad Dybcio    };
146