15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 25956d97fSEmmanuel Vadot%YAML 1.2 35956d97fSEmmanuel Vadot--- 45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/remoteproc/qcom,adsp.yaml# 55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65956d97fSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Qualcomm ADSP Peripheral Image Loader 85956d97fSEmmanuel Vadot 95956d97fSEmmanuel Vadotmaintainers: 105956d97fSEmmanuel Vadot - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 115956d97fSEmmanuel Vadot 125956d97fSEmmanuel Vadotdescription: 135956d97fSEmmanuel Vadot This document defines the binding for a component that loads and boots 145956d97fSEmmanuel Vadot firmware on the Qualcomm ADSP Hexagon core. 155956d97fSEmmanuel Vadot 165956d97fSEmmanuel Vadotproperties: 175956d97fSEmmanuel Vadot compatible: 185956d97fSEmmanuel Vadot enum: 19d5b0e70fSEmmanuel Vadot - qcom,msm8226-adsp-pil 20cb7aa33aSEmmanuel Vadot - qcom,msm8953-adsp-pil 215956d97fSEmmanuel Vadot - qcom,msm8974-adsp-pil 225956d97fSEmmanuel Vadot - qcom,msm8996-adsp-pil 235956d97fSEmmanuel Vadot - qcom,msm8996-slpi-pil 245956d97fSEmmanuel Vadot - qcom,msm8998-adsp-pas 255956d97fSEmmanuel Vadot - qcom,msm8998-slpi-pas 26354d7675SEmmanuel Vadot - qcom,sdm660-adsp-pas 275956d97fSEmmanuel Vadot - qcom,sdm845-adsp-pas 285956d97fSEmmanuel Vadot - qcom,sdm845-cdsp-pas 29aa1a8ff2SEmmanuel Vadot - qcom,sdm845-slpi-pas 305956d97fSEmmanuel Vadot 315956d97fSEmmanuel Vadot reg: 325956d97fSEmmanuel Vadot maxItems: 1 335956d97fSEmmanuel Vadot 345956d97fSEmmanuel Vadot cx-supply: 355956d97fSEmmanuel Vadot description: Phandle to the CX regulator 365956d97fSEmmanuel Vadot 375956d97fSEmmanuel Vadot px-supply: 385956d97fSEmmanuel Vadot description: Phandle to the PX regulator 395956d97fSEmmanuel Vadot 40cb7aa33aSEmmanuel Vadot qcom,qmp: 41cb7aa33aSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 42cb7aa33aSEmmanuel Vadot description: Reference to the AOSS side-channel message RAM. 435956d97fSEmmanuel Vadot 445956d97fSEmmanuel Vadot memory-region: 455956d97fSEmmanuel Vadot maxItems: 1 465956d97fSEmmanuel Vadot description: Reference to the reserved-memory for the Hexagon core 475956d97fSEmmanuel Vadot 48aa1a8ff2SEmmanuel Vadot firmware-name: 49aa1a8ff2SEmmanuel Vadot maxItems: 1 50aa1a8ff2SEmmanuel Vadot description: Firmware name for the Hexagon core 51aa1a8ff2SEmmanuel Vadot 525956d97fSEmmanuel Vadotrequired: 535956d97fSEmmanuel Vadot - compatible 54aa1a8ff2SEmmanuel Vadot - memory-region 555956d97fSEmmanuel Vadot 56cb7aa33aSEmmanuel VadotunevaluatedProperties: false 575956d97fSEmmanuel Vadot 585956d97fSEmmanuel VadotallOf: 59cb7aa33aSEmmanuel Vadot - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 605956d97fSEmmanuel Vadot - if: 615956d97fSEmmanuel Vadot properties: 625956d97fSEmmanuel Vadot compatible: 635956d97fSEmmanuel Vadot contains: 645956d97fSEmmanuel Vadot enum: 65d5b0e70fSEmmanuel Vadot - qcom,msm8226-adsp-pil 66cb7aa33aSEmmanuel Vadot - qcom,msm8953-adsp-pil 675956d97fSEmmanuel Vadot - qcom,msm8974-adsp-pil 685956d97fSEmmanuel Vadot - qcom,msm8996-adsp-pil 69*84943d6fSEmmanuel Vadot - qcom,msm8996-slpi-pil 705956d97fSEmmanuel Vadot - qcom,msm8998-adsp-pas 71*84943d6fSEmmanuel Vadot - qcom,msm8998-slpi-pas 725956d97fSEmmanuel Vadot - qcom,sdm845-adsp-pas 735956d97fSEmmanuel Vadot - qcom,sdm845-cdsp-pas 74aa1a8ff2SEmmanuel Vadot - qcom,sdm845-slpi-pas 755956d97fSEmmanuel Vadot then: 765956d97fSEmmanuel Vadot properties: 775956d97fSEmmanuel Vadot clocks: 785956d97fSEmmanuel Vadot items: 795956d97fSEmmanuel Vadot - description: XO clock 805956d97fSEmmanuel Vadot clock-names: 815956d97fSEmmanuel Vadot items: 825956d97fSEmmanuel Vadot - const: xo 835956d97fSEmmanuel Vadot 845956d97fSEmmanuel Vadot - if: 855956d97fSEmmanuel Vadot properties: 865956d97fSEmmanuel Vadot compatible: 875956d97fSEmmanuel Vadot contains: 885956d97fSEmmanuel Vadot enum: 89d5b0e70fSEmmanuel Vadot - qcom,msm8226-adsp-pil 90cb7aa33aSEmmanuel Vadot - qcom,msm8953-adsp-pil 915956d97fSEmmanuel Vadot - qcom,msm8974-adsp-pil 925956d97fSEmmanuel Vadot - qcom,msm8996-adsp-pil 935956d97fSEmmanuel Vadot - qcom,msm8996-slpi-pil 945956d97fSEmmanuel Vadot - qcom,msm8998-adsp-pas 955956d97fSEmmanuel Vadot - qcom,msm8998-slpi-pas 965956d97fSEmmanuel Vadot - qcom,sdm845-adsp-pas 975956d97fSEmmanuel Vadot - qcom,sdm845-cdsp-pas 98aa1a8ff2SEmmanuel Vadot - qcom,sdm845-slpi-pas 995956d97fSEmmanuel Vadot then: 1005956d97fSEmmanuel Vadot properties: 1015956d97fSEmmanuel Vadot interrupts: 102b97ee269SEmmanuel Vadot maxItems: 5 1035956d97fSEmmanuel Vadot interrupt-names: 104b97ee269SEmmanuel Vadot maxItems: 5 1055956d97fSEmmanuel Vadot 1065956d97fSEmmanuel Vadot - if: 1075956d97fSEmmanuel Vadot properties: 1085956d97fSEmmanuel Vadot compatible: 1095956d97fSEmmanuel Vadot contains: 1105956d97fSEmmanuel Vadot enum: 1115956d97fSEmmanuel Vadot - qcom,msm8974-adsp-pil 1125956d97fSEmmanuel Vadot then: 1135956d97fSEmmanuel Vadot required: 1145956d97fSEmmanuel Vadot - cx-supply 1155956d97fSEmmanuel Vadot 1165956d97fSEmmanuel Vadot - if: 1175956d97fSEmmanuel Vadot properties: 1185956d97fSEmmanuel Vadot compatible: 1195956d97fSEmmanuel Vadot contains: 1205956d97fSEmmanuel Vadot enum: 121d5b0e70fSEmmanuel Vadot - qcom,msm8226-adsp-pil 122cb7aa33aSEmmanuel Vadot - qcom,msm8953-adsp-pil 1235956d97fSEmmanuel Vadot - qcom,msm8996-adsp-pil 1245956d97fSEmmanuel Vadot - qcom,msm8998-adsp-pas 1255956d97fSEmmanuel Vadot then: 1265956d97fSEmmanuel Vadot properties: 1275956d97fSEmmanuel Vadot power-domains: 1285956d97fSEmmanuel Vadot items: 1295956d97fSEmmanuel Vadot - description: CX power domain 1305956d97fSEmmanuel Vadot power-domain-names: 1315956d97fSEmmanuel Vadot items: 1325956d97fSEmmanuel Vadot - const: cx 1335956d97fSEmmanuel Vadot 1345956d97fSEmmanuel Vadot - if: 1355956d97fSEmmanuel Vadot properties: 1365956d97fSEmmanuel Vadot compatible: 1375956d97fSEmmanuel Vadot contains: 1385956d97fSEmmanuel Vadot enum: 1395956d97fSEmmanuel Vadot - qcom,msm8996-slpi-pil 1405956d97fSEmmanuel Vadot - qcom,msm8998-slpi-pas 1415956d97fSEmmanuel Vadot then: 1425956d97fSEmmanuel Vadot properties: 1435956d97fSEmmanuel Vadot power-domains: 1445956d97fSEmmanuel Vadot items: 1455956d97fSEmmanuel Vadot - description: SSC-CX power domain 1465956d97fSEmmanuel Vadot power-domain-names: 1475956d97fSEmmanuel Vadot items: 1485956d97fSEmmanuel Vadot - const: ssc_cx 1495956d97fSEmmanuel Vadot required: 1505956d97fSEmmanuel Vadot - px-supply 1515956d97fSEmmanuel Vadot 1525956d97fSEmmanuel Vadot - if: 1535956d97fSEmmanuel Vadot properties: 1545956d97fSEmmanuel Vadot compatible: 155aa1a8ff2SEmmanuel Vadot enum: 156aa1a8ff2SEmmanuel Vadot - qcom,sdm845-slpi-pas 157aa1a8ff2SEmmanuel Vadot then: 158aa1a8ff2SEmmanuel Vadot properties: 159aa1a8ff2SEmmanuel Vadot power-domains: 160aa1a8ff2SEmmanuel Vadot items: 161aa1a8ff2SEmmanuel Vadot - description: LCX power domain 162aa1a8ff2SEmmanuel Vadot - description: LMX power domain 163aa1a8ff2SEmmanuel Vadot power-domain-names: 164aa1a8ff2SEmmanuel Vadot items: 165aa1a8ff2SEmmanuel Vadot - const: lcx 166aa1a8ff2SEmmanuel Vadot - const: lmx 167aa1a8ff2SEmmanuel Vadot 168aa1a8ff2SEmmanuel Vadot - if: 169aa1a8ff2SEmmanuel Vadot properties: 170aa1a8ff2SEmmanuel Vadot compatible: 1715956d97fSEmmanuel Vadot contains: 1725956d97fSEmmanuel Vadot enum: 173d5b0e70fSEmmanuel Vadot - qcom,msm8226-adsp-pil 174cb7aa33aSEmmanuel Vadot - qcom,msm8953-adsp-pil 1758cc087a1SEmmanuel Vadot - qcom,msm8974-adsp-pil 1768cc087a1SEmmanuel Vadot - qcom,msm8996-adsp-pil 1778cc087a1SEmmanuel Vadot - qcom,msm8996-slpi-pil 1788cc087a1SEmmanuel Vadot - qcom,msm8998-adsp-pas 1798cc087a1SEmmanuel Vadot - qcom,msm8998-slpi-pas 1808cc087a1SEmmanuel Vadot - qcom,sdm660-adsp-pas 1818cc087a1SEmmanuel Vadot then: 1828cc087a1SEmmanuel Vadot properties: 1838cc087a1SEmmanuel Vadot qcom,qmp: false 1848cc087a1SEmmanuel Vadot 1855956d97fSEmmanuel Vadotexamples: 1865956d97fSEmmanuel Vadot - | 1875956d97fSEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmcc.h> 188b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 1895956d97fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1905956d97fSEmmanuel Vadot adsp { 1915956d97fSEmmanuel Vadot compatible = "qcom,msm8974-adsp-pil"; 1925956d97fSEmmanuel Vadot 193b97ee269SEmmanuel Vadot interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>, 1945956d97fSEmmanuel Vadot <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 1955956d97fSEmmanuel Vadot <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 1965956d97fSEmmanuel Vadot <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 1975956d97fSEmmanuel Vadot <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 1985956d97fSEmmanuel Vadot interrupt-names = "wdog", 1995956d97fSEmmanuel Vadot "fatal", 2005956d97fSEmmanuel Vadot "ready", 2015956d97fSEmmanuel Vadot "handover", 2025956d97fSEmmanuel Vadot "stop-ack"; 2035956d97fSEmmanuel Vadot 2045956d97fSEmmanuel Vadot clocks = <&rpmcc RPM_CXO_CLK>; 2055956d97fSEmmanuel Vadot clock-names = "xo"; 2065956d97fSEmmanuel Vadot 2075956d97fSEmmanuel Vadot cx-supply = <&pm8841_s2>; 2085956d97fSEmmanuel Vadot 2095956d97fSEmmanuel Vadot memory-region = <&adsp_region>; 2105956d97fSEmmanuel Vadot 2115956d97fSEmmanuel Vadot qcom,smem-states = <&adsp_smp2p_out 0>; 2125956d97fSEmmanuel Vadot qcom,smem-state-names = "stop"; 2135956d97fSEmmanuel Vadot 2145956d97fSEmmanuel Vadot smd-edge { 215b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>; 2165956d97fSEmmanuel Vadot 2175956d97fSEmmanuel Vadot qcom,ipc = <&apcs 8 8>; 2185956d97fSEmmanuel Vadot qcom,smd-edge = <1>; 2195956d97fSEmmanuel Vadot }; 2205956d97fSEmmanuel Vadot }; 221