xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/qcom,sm8350-pas.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
14e8b39a4SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
24e8b39a4SKrzysztof Kozlowski%YAML 1.2
34e8b39a4SKrzysztof Kozlowski---
44e8b39a4SKrzysztof Kozlowski$id: http://devicetree.org/schemas/remoteproc/qcom,sm8350-pas.yaml#
54e8b39a4SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
64e8b39a4SKrzysztof Kozlowski
74e8b39a4SKrzysztof Kozlowskititle: Qualcomm SM8350/SM8450 Peripheral Authentication Service
84e8b39a4SKrzysztof Kozlowski
94e8b39a4SKrzysztof Kozlowskimaintainers:
104e8b39a4SKrzysztof Kozlowski  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
114e8b39a4SKrzysztof Kozlowski
124e8b39a4SKrzysztof Kozlowskidescription:
134e8b39a4SKrzysztof Kozlowski  Qualcomm SM8350/SM8450 SoC Peripheral Authentication Service loads and boots
144e8b39a4SKrzysztof Kozlowski  firmware on the Qualcomm DSP Hexagon cores.
154e8b39a4SKrzysztof Kozlowski
164e8b39a4SKrzysztof Kozlowskiproperties:
174e8b39a4SKrzysztof Kozlowski  compatible:
184e8b39a4SKrzysztof Kozlowski    enum:
194e8b39a4SKrzysztof Kozlowski      - qcom,sm8350-adsp-pas
204e8b39a4SKrzysztof Kozlowski      - qcom,sm8350-cdsp-pas
214e8b39a4SKrzysztof Kozlowski      - qcom,sm8350-slpi-pas
224e8b39a4SKrzysztof Kozlowski      - qcom,sm8350-mpss-pas
234e8b39a4SKrzysztof Kozlowski      - qcom,sm8450-adsp-pas
244e8b39a4SKrzysztof Kozlowski      - qcom,sm8450-cdsp-pas
254e8b39a4SKrzysztof Kozlowski      - qcom,sm8450-mpss-pas
264e8b39a4SKrzysztof Kozlowski      - qcom,sm8450-slpi-pas
274e8b39a4SKrzysztof Kozlowski
284e8b39a4SKrzysztof Kozlowski  reg:
294e8b39a4SKrzysztof Kozlowski    maxItems: 1
304e8b39a4SKrzysztof Kozlowski
314e8b39a4SKrzysztof Kozlowski  clocks:
324e8b39a4SKrzysztof Kozlowski    items:
334e8b39a4SKrzysztof Kozlowski      - description: XO clock
344e8b39a4SKrzysztof Kozlowski
354e8b39a4SKrzysztof Kozlowski  clock-names:
364e8b39a4SKrzysztof Kozlowski    items:
374e8b39a4SKrzysztof Kozlowski      - const: xo
384e8b39a4SKrzysztof Kozlowski
394e8b39a4SKrzysztof Kozlowski  qcom,qmp:
404e8b39a4SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
414e8b39a4SKrzysztof Kozlowski    description: Reference to the AOSS side-channel message RAM.
424e8b39a4SKrzysztof Kozlowski
434e8b39a4SKrzysztof Kozlowski  smd-edge: false
444e8b39a4SKrzysztof Kozlowski
45cee616c6SNeil Armstrong  memory-region:
461e5c6933SKrzysztof Kozlowski    maxItems: 1
47cee616c6SNeil Armstrong    description: Reference to the reserved-memory for the Hexagon core
48cee616c6SNeil Armstrong
49cee616c6SNeil Armstrong  firmware-name:
50cee616c6SNeil Armstrong    $ref: /schemas/types.yaml#/definitions/string
51cee616c6SNeil Armstrong    description: Firmware name for the Hexagon core
52cee616c6SNeil Armstrong
534e8b39a4SKrzysztof Kozlowskirequired:
544e8b39a4SKrzysztof Kozlowski  - compatible
554e8b39a4SKrzysztof Kozlowski  - reg
561e5c6933SKrzysztof Kozlowski  - memory-region
574e8b39a4SKrzysztof Kozlowski
584e8b39a4SKrzysztof KozlowskiallOf:
594e8b39a4SKrzysztof Kozlowski  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
604e8b39a4SKrzysztof Kozlowski  - if:
614e8b39a4SKrzysztof Kozlowski      properties:
624e8b39a4SKrzysztof Kozlowski        compatible:
634e8b39a4SKrzysztof Kozlowski          enum:
644e8b39a4SKrzysztof Kozlowski            - qcom,sm8350-adsp-pas
654e8b39a4SKrzysztof Kozlowski            - qcom,sm8350-cdsp-pas
664e8b39a4SKrzysztof Kozlowski            - qcom,sm8350-slpi-pas
674e8b39a4SKrzysztof Kozlowski            - qcom,sm8450-adsp-pas
684e8b39a4SKrzysztof Kozlowski            - qcom,sm8450-cdsp-pas
694e8b39a4SKrzysztof Kozlowski            - qcom,sm8450-slpi-pas
704e8b39a4SKrzysztof Kozlowski    then:
714e8b39a4SKrzysztof Kozlowski      properties:
724e8b39a4SKrzysztof Kozlowski        interrupts:
734e8b39a4SKrzysztof Kozlowski          maxItems: 5
744e8b39a4SKrzysztof Kozlowski        interrupt-names:
754e8b39a4SKrzysztof Kozlowski          maxItems: 5
764e8b39a4SKrzysztof Kozlowski    else:
774e8b39a4SKrzysztof Kozlowski      properties:
784e8b39a4SKrzysztof Kozlowski        interrupts:
794e8b39a4SKrzysztof Kozlowski          minItems: 6
804e8b39a4SKrzysztof Kozlowski        interrupt-names:
814e8b39a4SKrzysztof Kozlowski          minItems: 6
824e8b39a4SKrzysztof Kozlowski
834e8b39a4SKrzysztof Kozlowski  - if:
844e8b39a4SKrzysztof Kozlowski      properties:
854e8b39a4SKrzysztof Kozlowski        compatible:
864e8b39a4SKrzysztof Kozlowski          enum:
874e8b39a4SKrzysztof Kozlowski            - qcom,sm8350-mpss-pas
884e8b39a4SKrzysztof Kozlowski            - qcom,sm8450-mpss-pas
894e8b39a4SKrzysztof Kozlowski    then:
904e8b39a4SKrzysztof Kozlowski      properties:
914e8b39a4SKrzysztof Kozlowski        power-domains:
924e8b39a4SKrzysztof Kozlowski          items:
934e8b39a4SKrzysztof Kozlowski            - description: CX power domain
944e8b39a4SKrzysztof Kozlowski            - description: MSS power domain
954e8b39a4SKrzysztof Kozlowski        power-domain-names:
964e8b39a4SKrzysztof Kozlowski          items:
974e8b39a4SKrzysztof Kozlowski            - const: cx
984e8b39a4SKrzysztof Kozlowski            - const: mss
994e8b39a4SKrzysztof Kozlowski
1004e8b39a4SKrzysztof Kozlowski  - if:
1014e8b39a4SKrzysztof Kozlowski      properties:
1024e8b39a4SKrzysztof Kozlowski        compatible:
1034e8b39a4SKrzysztof Kozlowski          enum:
1044e8b39a4SKrzysztof Kozlowski            - qcom,sm8350-adsp-pas
1054e8b39a4SKrzysztof Kozlowski            - qcom,sm8350-slpi-pas
1064e8b39a4SKrzysztof Kozlowski            - qcom,sm8450-adsp-pas
1074e8b39a4SKrzysztof Kozlowski            - qcom,sm8450-slpi-pas
1084e8b39a4SKrzysztof Kozlowski    then:
1094e8b39a4SKrzysztof Kozlowski      properties:
1104e8b39a4SKrzysztof Kozlowski        power-domains:
1114e8b39a4SKrzysztof Kozlowski          items:
1124e8b39a4SKrzysztof Kozlowski            - description: LCX power domain
1134e8b39a4SKrzysztof Kozlowski            - description: LMX power domain
1144e8b39a4SKrzysztof Kozlowski        power-domain-names:
1154e8b39a4SKrzysztof Kozlowski          items:
1164e8b39a4SKrzysztof Kozlowski            - const: lcx
1174e8b39a4SKrzysztof Kozlowski            - const: lmx
1184e8b39a4SKrzysztof Kozlowski
1194e8b39a4SKrzysztof Kozlowski  - if:
1204e8b39a4SKrzysztof Kozlowski      properties:
1214e8b39a4SKrzysztof Kozlowski        compatible:
1224e8b39a4SKrzysztof Kozlowski          enum:
1234e8b39a4SKrzysztof Kozlowski            - qcom,sm8350-cdsp-pas
1244e8b39a4SKrzysztof Kozlowski            - qcom,sm8450-cdsp-pas
1254e8b39a4SKrzysztof Kozlowski    then:
1264e8b39a4SKrzysztof Kozlowski      properties:
1274e8b39a4SKrzysztof Kozlowski        power-domains:
1284e8b39a4SKrzysztof Kozlowski          items:
1294e8b39a4SKrzysztof Kozlowski            - description: CX power domain
1304e8b39a4SKrzysztof Kozlowski            - description: MXC power domain
1314e8b39a4SKrzysztof Kozlowski        power-domain-names:
1324e8b39a4SKrzysztof Kozlowski          items:
1334e8b39a4SKrzysztof Kozlowski            - const: cx
1344e8b39a4SKrzysztof Kozlowski            - const: mxc
1354e8b39a4SKrzysztof Kozlowski
1364e8b39a4SKrzysztof KozlowskiunevaluatedProperties: false
1374e8b39a4SKrzysztof Kozlowski
1384e8b39a4SKrzysztof Kozlowskiexamples:
1394e8b39a4SKrzysztof Kozlowski  - |
1404e8b39a4SKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
1414e8b39a4SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/irq.h>
1424e8b39a4SKrzysztof Kozlowski    #include <dt-bindings/mailbox/qcom-ipcc.h>
143*014f3272SRohit Agarwal    #include <dt-bindings/power/qcom,rpmhpd.h>
1444e8b39a4SKrzysztof Kozlowski
1454e8b39a4SKrzysztof Kozlowski    remoteproc@30000000 {
1464e8b39a4SKrzysztof Kozlowski        compatible = "qcom,sm8450-adsp-pas";
1474e8b39a4SKrzysztof Kozlowski        reg = <0x030000000 0x100>;
1484e8b39a4SKrzysztof Kozlowski
1494e8b39a4SKrzysztof Kozlowski        clocks = <&rpmhcc RPMH_CXO_CLK>;
1504e8b39a4SKrzysztof Kozlowski        clock-names = "xo";
1514e8b39a4SKrzysztof Kozlowski
1524e8b39a4SKrzysztof Kozlowski        firmware-name = "qcom/sm8450/adsp.mbn";
1534e8b39a4SKrzysztof Kozlowski
1544e8b39a4SKrzysztof Kozlowski        interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
1554e8b39a4SKrzysztof Kozlowski                              <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1564e8b39a4SKrzysztof Kozlowski                              <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1574e8b39a4SKrzysztof Kozlowski                              <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1584e8b39a4SKrzysztof Kozlowski                              <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
1594e8b39a4SKrzysztof Kozlowski        interrupt-names = "wdog", "fatal", "ready",
1604e8b39a4SKrzysztof Kozlowski                          "handover", "stop-ack";
1614e8b39a4SKrzysztof Kozlowski
1624e8b39a4SKrzysztof Kozlowski        memory-region = <&adsp_mem>;
1634e8b39a4SKrzysztof Kozlowski
164*014f3272SRohit Agarwal        power-domains = <&rpmhpd RPMHPD_LCX>,
165*014f3272SRohit Agarwal                        <&rpmhpd RPMHPD_LMX>;
1664e8b39a4SKrzysztof Kozlowski        power-domain-names = "lcx", "lmx";
1674e8b39a4SKrzysztof Kozlowski
1684e8b39a4SKrzysztof Kozlowski        qcom,qmp = <&aoss_qmp>;
1694e8b39a4SKrzysztof Kozlowski        qcom,smem-states = <&smp2p_adsp_out 0>;
1704e8b39a4SKrzysztof Kozlowski        qcom,smem-state-names = "stop";
1714e8b39a4SKrzysztof Kozlowski
1724e8b39a4SKrzysztof Kozlowski        glink-edge {
1734e8b39a4SKrzysztof Kozlowski            interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1744e8b39a4SKrzysztof Kozlowski                                         IPCC_MPROC_SIGNAL_GLINK_QMP
1754e8b39a4SKrzysztof Kozlowski                                         IRQ_TYPE_EDGE_RISING>;
1764e8b39a4SKrzysztof Kozlowski            mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>;
1774e8b39a4SKrzysztof Kozlowski
1784e8b39a4SKrzysztof Kozlowski            label = "lpass";
1794e8b39a4SKrzysztof Kozlowski            qcom,remote-pid = <2>;
1804e8b39a4SKrzysztof Kozlowski
1814e8b39a4SKrzysztof Kozlowski            /* ... */
1824e8b39a4SKrzysztof Kozlowski        };
1834e8b39a4SKrzysztof Kozlowski    };
184