1*41729b77SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2*41729b77SKrzysztof Kozlowski%YAML 1.2 3*41729b77SKrzysztof Kozlowski--- 4*41729b77SKrzysztof Kozlowski$id: http://devicetree.org/schemas/remoteproc/qcom,sm6350-pas.yaml# 5*41729b77SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*41729b77SKrzysztof Kozlowski 7*41729b77SKrzysztof Kozlowskititle: Qualcomm SM6350 Peripheral Authentication Service 8*41729b77SKrzysztof Kozlowski 9*41729b77SKrzysztof Kozlowskimaintainers: 10*41729b77SKrzysztof Kozlowski - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11*41729b77SKrzysztof Kozlowski 12*41729b77SKrzysztof Kozlowskidescription: 13*41729b77SKrzysztof Kozlowski Qualcomm SM6350 SoC Peripheral Authentication Service loads and boots 14*41729b77SKrzysztof Kozlowski firmware on the Qualcomm DSP Hexagon cores. 15*41729b77SKrzysztof Kozlowski 16*41729b77SKrzysztof Kozlowskiproperties: 17*41729b77SKrzysztof Kozlowski compatible: 18*41729b77SKrzysztof Kozlowski enum: 19*41729b77SKrzysztof Kozlowski - qcom,sm6350-adsp-pas 20*41729b77SKrzysztof Kozlowski - qcom,sm6350-cdsp-pas 21*41729b77SKrzysztof Kozlowski - qcom,sm6350-mpss-pas 22*41729b77SKrzysztof Kozlowski 23*41729b77SKrzysztof Kozlowski reg: 24*41729b77SKrzysztof Kozlowski maxItems: 1 25*41729b77SKrzysztof Kozlowski 26*41729b77SKrzysztof Kozlowski clocks: 27*41729b77SKrzysztof Kozlowski items: 28*41729b77SKrzysztof Kozlowski - description: XO clock 29*41729b77SKrzysztof Kozlowski 30*41729b77SKrzysztof Kozlowski clock-names: 31*41729b77SKrzysztof Kozlowski items: 32*41729b77SKrzysztof Kozlowski - const: xo 33*41729b77SKrzysztof Kozlowski 34*41729b77SKrzysztof Kozlowski qcom,qmp: 35*41729b77SKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/phandle 36*41729b77SKrzysztof Kozlowski description: Reference to the AOSS side-channel message RAM. 37*41729b77SKrzysztof Kozlowski 38*41729b77SKrzysztof Kozlowski smd-edge: false 39*41729b77SKrzysztof Kozlowski 40*41729b77SKrzysztof Kozlowskirequired: 41*41729b77SKrzysztof Kozlowski - compatible 42*41729b77SKrzysztof Kozlowski - reg 43*41729b77SKrzysztof Kozlowski 44*41729b77SKrzysztof KozlowskiallOf: 45*41729b77SKrzysztof Kozlowski - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 46*41729b77SKrzysztof Kozlowski - if: 47*41729b77SKrzysztof Kozlowski properties: 48*41729b77SKrzysztof Kozlowski compatible: 49*41729b77SKrzysztof Kozlowski enum: 50*41729b77SKrzysztof Kozlowski - qcom,sm6350-adsp-pas 51*41729b77SKrzysztof Kozlowski - qcom,sm6350-cdsp-pas 52*41729b77SKrzysztof Kozlowski then: 53*41729b77SKrzysztof Kozlowski properties: 54*41729b77SKrzysztof Kozlowski interrupts: 55*41729b77SKrzysztof Kozlowski maxItems: 5 56*41729b77SKrzysztof Kozlowski interrupt-names: 57*41729b77SKrzysztof Kozlowski maxItems: 5 58*41729b77SKrzysztof Kozlowski else: 59*41729b77SKrzysztof Kozlowski properties: 60*41729b77SKrzysztof Kozlowski interrupts: 61*41729b77SKrzysztof Kozlowski minItems: 6 62*41729b77SKrzysztof Kozlowski interrupt-names: 63*41729b77SKrzysztof Kozlowski minItems: 6 64*41729b77SKrzysztof Kozlowski 65*41729b77SKrzysztof Kozlowski - if: 66*41729b77SKrzysztof Kozlowski properties: 67*41729b77SKrzysztof Kozlowski compatible: 68*41729b77SKrzysztof Kozlowski enum: 69*41729b77SKrzysztof Kozlowski - qcom,sm6350-adsp-pas 70*41729b77SKrzysztof Kozlowski then: 71*41729b77SKrzysztof Kozlowski properties: 72*41729b77SKrzysztof Kozlowski power-domains: 73*41729b77SKrzysztof Kozlowski items: 74*41729b77SKrzysztof Kozlowski - description: LCX power domain 75*41729b77SKrzysztof Kozlowski - description: LMX power domain 76*41729b77SKrzysztof Kozlowski power-domain-names: 77*41729b77SKrzysztof Kozlowski items: 78*41729b77SKrzysztof Kozlowski - const: lcx 79*41729b77SKrzysztof Kozlowski - const: lmx 80*41729b77SKrzysztof Kozlowski 81*41729b77SKrzysztof Kozlowski - if: 82*41729b77SKrzysztof Kozlowski properties: 83*41729b77SKrzysztof Kozlowski compatible: 84*41729b77SKrzysztof Kozlowski enum: 85*41729b77SKrzysztof Kozlowski - qcom,sm6350-cdsp-pas 86*41729b77SKrzysztof Kozlowski then: 87*41729b77SKrzysztof Kozlowski properties: 88*41729b77SKrzysztof Kozlowski power-domains: 89*41729b77SKrzysztof Kozlowski items: 90*41729b77SKrzysztof Kozlowski - description: CX power domain 91*41729b77SKrzysztof Kozlowski - description: MX power domain 92*41729b77SKrzysztof Kozlowski power-domain-names: 93*41729b77SKrzysztof Kozlowski items: 94*41729b77SKrzysztof Kozlowski - const: cx 95*41729b77SKrzysztof Kozlowski - const: mx 96*41729b77SKrzysztof Kozlowski 97*41729b77SKrzysztof Kozlowski - if: 98*41729b77SKrzysztof Kozlowski properties: 99*41729b77SKrzysztof Kozlowski compatible: 100*41729b77SKrzysztof Kozlowski enum: 101*41729b77SKrzysztof Kozlowski - qcom,sm6350-mpss-pas 102*41729b77SKrzysztof Kozlowski then: 103*41729b77SKrzysztof Kozlowski properties: 104*41729b77SKrzysztof Kozlowski power-domains: 105*41729b77SKrzysztof Kozlowski items: 106*41729b77SKrzysztof Kozlowski - description: CX power domain 107*41729b77SKrzysztof Kozlowski - description: MSS power domain 108*41729b77SKrzysztof Kozlowski power-domain-names: 109*41729b77SKrzysztof Kozlowski items: 110*41729b77SKrzysztof Kozlowski - const: cx 111*41729b77SKrzysztof Kozlowski - const: mss 112*41729b77SKrzysztof Kozlowski 113*41729b77SKrzysztof KozlowskiunevaluatedProperties: false 114*41729b77SKrzysztof Kozlowski 115*41729b77SKrzysztof Kozlowskiexamples: 116*41729b77SKrzysztof Kozlowski - | 117*41729b77SKrzysztof Kozlowski #include <dt-bindings/clock/qcom,rpmh.h> 118*41729b77SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/irq.h> 119*41729b77SKrzysztof Kozlowski #include <dt-bindings/mailbox/qcom-ipcc.h> 120*41729b77SKrzysztof Kozlowski #include <dt-bindings/power/qcom-rpmpd.h> 121*41729b77SKrzysztof Kozlowski 122*41729b77SKrzysztof Kozlowski remoteproc@3000000 { 123*41729b77SKrzysztof Kozlowski compatible = "qcom,sm6350-adsp-pas"; 124*41729b77SKrzysztof Kozlowski reg = <0x03000000 0x100>; 125*41729b77SKrzysztof Kozlowski 126*41729b77SKrzysztof Kozlowski clocks = <&rpmhcc RPMH_CXO_CLK>; 127*41729b77SKrzysztof Kozlowski clock-names = "xo"; 128*41729b77SKrzysztof Kozlowski 129*41729b77SKrzysztof Kozlowski interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>, 130*41729b77SKrzysztof Kozlowski <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 131*41729b77SKrzysztof Kozlowski <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 132*41729b77SKrzysztof Kozlowski <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 133*41729b77SKrzysztof Kozlowski <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 134*41729b77SKrzysztof Kozlowski interrupt-names = "wdog", "fatal", "ready", 135*41729b77SKrzysztof Kozlowski "handover", "stop-ack"; 136*41729b77SKrzysztof Kozlowski 137*41729b77SKrzysztof Kozlowski memory-region = <&pil_adsp_mem>; 138*41729b77SKrzysztof Kozlowski 139*41729b77SKrzysztof Kozlowski power-domains = <&rpmhpd SM6350_LCX>, 140*41729b77SKrzysztof Kozlowski <&rpmhpd SM6350_LMX>; 141*41729b77SKrzysztof Kozlowski power-domain-names = "lcx", "lmx"; 142*41729b77SKrzysztof Kozlowski 143*41729b77SKrzysztof Kozlowski qcom,qmp = <&aoss_qmp>; 144*41729b77SKrzysztof Kozlowski qcom,smem-states = <&smp2p_adsp_out 0>; 145*41729b77SKrzysztof Kozlowski qcom,smem-state-names = "stop"; 146*41729b77SKrzysztof Kozlowski 147*41729b77SKrzysztof Kozlowski glink-edge { 148*41729b77SKrzysztof Kozlowski interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 149*41729b77SKrzysztof Kozlowski IPCC_MPROC_SIGNAL_GLINK_QMP 150*41729b77SKrzysztof Kozlowski IRQ_TYPE_EDGE_RISING>; 151*41729b77SKrzysztof Kozlowski mboxes = <&ipcc IPCC_CLIENT_LPASS 152*41729b77SKrzysztof Kozlowski IPCC_MPROC_SIGNAL_GLINK_QMP>; 153*41729b77SKrzysztof Kozlowski 154*41729b77SKrzysztof Kozlowski label = "lpass"; 155*41729b77SKrzysztof Kozlowski qcom,remote-pid = <2>; 156*41729b77SKrzysztof Kozlowski 157*41729b77SKrzysztof Kozlowski /* ... */ 158*41729b77SKrzysztof Kozlowski }; 159*41729b77SKrzysztof Kozlowski }; 160