1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2*0e8011faSEmmanuel Vadot%YAML 1.2 3*0e8011faSEmmanuel Vadot--- 4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/remoteproc/qcom,sa8775p-pas.yaml# 5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*0e8011faSEmmanuel Vadot 7*0e8011faSEmmanuel Vadottitle: Qualcomm SA8775p Peripheral Authentication Service 8*0e8011faSEmmanuel Vadot 9*0e8011faSEmmanuel Vadotmaintainers: 10*0e8011faSEmmanuel Vadot - Bartosz Golaszewski <bartosz.golaszewski@linaro.org> 11*0e8011faSEmmanuel Vadot 12*0e8011faSEmmanuel Vadotdescription: 13*0e8011faSEmmanuel Vadot Qualcomm SA8775p SoC Peripheral Authentication Service loads and boots firmware 14*0e8011faSEmmanuel Vadot on the Qualcomm DSP Hexagon cores. 15*0e8011faSEmmanuel Vadot 16*0e8011faSEmmanuel Vadotproperties: 17*0e8011faSEmmanuel Vadot compatible: 18*0e8011faSEmmanuel Vadot enum: 19*0e8011faSEmmanuel Vadot - qcom,sa8775p-adsp-pas 20*0e8011faSEmmanuel Vadot - qcom,sa8775p-cdsp0-pas 21*0e8011faSEmmanuel Vadot - qcom,sa8775p-cdsp1-pas 22*0e8011faSEmmanuel Vadot - qcom,sa8775p-gpdsp0-pas 23*0e8011faSEmmanuel Vadot - qcom,sa8775p-gpdsp1-pas 24*0e8011faSEmmanuel Vadot 25*0e8011faSEmmanuel Vadot reg: 26*0e8011faSEmmanuel Vadot maxItems: 1 27*0e8011faSEmmanuel Vadot 28*0e8011faSEmmanuel Vadot clocks: 29*0e8011faSEmmanuel Vadot items: 30*0e8011faSEmmanuel Vadot - description: XO clock 31*0e8011faSEmmanuel Vadot 32*0e8011faSEmmanuel Vadot clock-names: 33*0e8011faSEmmanuel Vadot items: 34*0e8011faSEmmanuel Vadot - const: xo 35*0e8011faSEmmanuel Vadot 36*0e8011faSEmmanuel Vadot qcom,qmp: 37*0e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 38*0e8011faSEmmanuel Vadot description: Reference to the AOSS side-channel message RAM. 39*0e8011faSEmmanuel Vadot 40*0e8011faSEmmanuel Vadot firmware-name: 41*0e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string-array 42*0e8011faSEmmanuel Vadot items: 43*0e8011faSEmmanuel Vadot - description: Firmware name of the Hexagon core 44*0e8011faSEmmanuel Vadot 45*0e8011faSEmmanuel Vadot memory-region: 46*0e8011faSEmmanuel Vadot items: 47*0e8011faSEmmanuel Vadot - description: Memory region for main Firmware authentication 48*0e8011faSEmmanuel Vadot 49*0e8011faSEmmanuel Vadot interrupts: 50*0e8011faSEmmanuel Vadot maxItems: 5 51*0e8011faSEmmanuel Vadot 52*0e8011faSEmmanuel Vadot interrupt-names: 53*0e8011faSEmmanuel Vadot maxItems: 5 54*0e8011faSEmmanuel Vadot 55*0e8011faSEmmanuel Vadotrequired: 56*0e8011faSEmmanuel Vadot - compatible 57*0e8011faSEmmanuel Vadot - reg 58*0e8011faSEmmanuel Vadot - memory-region 59*0e8011faSEmmanuel Vadot 60*0e8011faSEmmanuel VadotallOf: 61*0e8011faSEmmanuel Vadot - $ref: /schemas/remoteproc/qcom,pas-common.yaml# 62*0e8011faSEmmanuel Vadot 63*0e8011faSEmmanuel Vadot - if: 64*0e8011faSEmmanuel Vadot properties: 65*0e8011faSEmmanuel Vadot compatible: 66*0e8011faSEmmanuel Vadot enum: 67*0e8011faSEmmanuel Vadot - qcom,sa8775p-adsp-pas 68*0e8011faSEmmanuel Vadot then: 69*0e8011faSEmmanuel Vadot properties: 70*0e8011faSEmmanuel Vadot power-domains: 71*0e8011faSEmmanuel Vadot items: 72*0e8011faSEmmanuel Vadot - description: LCX power domain 73*0e8011faSEmmanuel Vadot - description: LMX power domain 74*0e8011faSEmmanuel Vadot power-domain-names: 75*0e8011faSEmmanuel Vadot items: 76*0e8011faSEmmanuel Vadot - const: lcx 77*0e8011faSEmmanuel Vadot - const: lmx 78*0e8011faSEmmanuel Vadot 79*0e8011faSEmmanuel Vadot - if: 80*0e8011faSEmmanuel Vadot properties: 81*0e8011faSEmmanuel Vadot compatible: 82*0e8011faSEmmanuel Vadot enum: 83*0e8011faSEmmanuel Vadot - qcom,sa8775p-cdsp0-pas 84*0e8011faSEmmanuel Vadot - qcom,sa8775p-cdsp1-pas 85*0e8011faSEmmanuel Vadot then: 86*0e8011faSEmmanuel Vadot properties: 87*0e8011faSEmmanuel Vadot power-domains: 88*0e8011faSEmmanuel Vadot items: 89*0e8011faSEmmanuel Vadot - description: CX power domain 90*0e8011faSEmmanuel Vadot - description: MXC power domain 91*0e8011faSEmmanuel Vadot - description: NSP0 power domain 92*0e8011faSEmmanuel Vadot power-domain-names: 93*0e8011faSEmmanuel Vadot items: 94*0e8011faSEmmanuel Vadot - const: cx 95*0e8011faSEmmanuel Vadot - const: mxc 96*0e8011faSEmmanuel Vadot - const: nsp 97*0e8011faSEmmanuel Vadot 98*0e8011faSEmmanuel Vadot - if: 99*0e8011faSEmmanuel Vadot properties: 100*0e8011faSEmmanuel Vadot compatible: 101*0e8011faSEmmanuel Vadot enum: 102*0e8011faSEmmanuel Vadot - qcom,sa8775p-gpdsp0-pas 103*0e8011faSEmmanuel Vadot - qcom,sa8775p-gpdsp1-pas 104*0e8011faSEmmanuel Vadot then: 105*0e8011faSEmmanuel Vadot properties: 106*0e8011faSEmmanuel Vadot power-domains: 107*0e8011faSEmmanuel Vadot items: 108*0e8011faSEmmanuel Vadot - description: CX power domain 109*0e8011faSEmmanuel Vadot - description: MXC power domain 110*0e8011faSEmmanuel Vadot power-domain-names: 111*0e8011faSEmmanuel Vadot items: 112*0e8011faSEmmanuel Vadot - const: cx 113*0e8011faSEmmanuel Vadot - const: mxc 114*0e8011faSEmmanuel Vadot 115*0e8011faSEmmanuel VadotunevaluatedProperties: false 116*0e8011faSEmmanuel Vadot 117*0e8011faSEmmanuel Vadotexamples: 118*0e8011faSEmmanuel Vadot - | 119*0e8011faSEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmh.h> 120*0e8011faSEmmanuel Vadot #include <dt-bindings/interconnect/qcom,sa8775p-rpmh.h> 121*0e8011faSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 122*0e8011faSEmmanuel Vadot #include <dt-bindings/mailbox/qcom-ipcc.h> 123*0e8011faSEmmanuel Vadot #include <dt-bindings/power/qcom,rpmhpd.h> 124*0e8011faSEmmanuel Vadot 125*0e8011faSEmmanuel Vadot remoteproc@30000000 { 126*0e8011faSEmmanuel Vadot compatible = "qcom,sa8775p-adsp-pas"; 127*0e8011faSEmmanuel Vadot reg = <0x30000000 0x100>; 128*0e8011faSEmmanuel Vadot 129*0e8011faSEmmanuel Vadot interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>, 130*0e8011faSEmmanuel Vadot <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>, 131*0e8011faSEmmanuel Vadot <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>, 132*0e8011faSEmmanuel Vadot <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>, 133*0e8011faSEmmanuel Vadot <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>; 134*0e8011faSEmmanuel Vadot interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 135*0e8011faSEmmanuel Vadot 136*0e8011faSEmmanuel Vadot clocks = <&rpmhcc RPMH_CXO_CLK>; 137*0e8011faSEmmanuel Vadot clock-names = "xo"; 138*0e8011faSEmmanuel Vadot 139*0e8011faSEmmanuel Vadot power-domains = <&rpmhpd RPMHPD_LCX>, <&rpmhpd RPMHPD_LMX>; 140*0e8011faSEmmanuel Vadot power-domain-names = "lcx", "lmx"; 141*0e8011faSEmmanuel Vadot 142*0e8011faSEmmanuel Vadot interconnects = <&lpass_ag_noc MASTER_LPASS_PROC 0 &mc_virt SLAVE_EBI1 0>; 143*0e8011faSEmmanuel Vadot 144*0e8011faSEmmanuel Vadot memory-region = <&pil_adsp_mem>; 145*0e8011faSEmmanuel Vadot 146*0e8011faSEmmanuel Vadot qcom,qmp = <&aoss_qmp>; 147*0e8011faSEmmanuel Vadot 148*0e8011faSEmmanuel Vadot qcom,smem-states = <&smp2p_adsp_out 0>; 149*0e8011faSEmmanuel Vadot qcom,smem-state-names = "stop"; 150*0e8011faSEmmanuel Vadot 151*0e8011faSEmmanuel Vadot glink-edge { 152*0e8011faSEmmanuel Vadot interrupts-extended = <&ipcc IPCC_CLIENT_LPASS 153*0e8011faSEmmanuel Vadot IPCC_MPROC_SIGNAL_GLINK_QMP 154*0e8011faSEmmanuel Vadot IRQ_TYPE_EDGE_RISING>; 155*0e8011faSEmmanuel Vadot mboxes = <&ipcc IPCC_CLIENT_LPASS IPCC_MPROC_SIGNAL_GLINK_QMP>; 156*0e8011faSEmmanuel Vadot 157*0e8011faSEmmanuel Vadot label = "lpass"; 158*0e8011faSEmmanuel Vadot qcom,remote-pid = <2>; 159*0e8011faSEmmanuel Vadot }; 160*0e8011faSEmmanuel Vadot }; 161