Documentation / devicetree / bindings / remoteproc / qcom,shikra-pas.yaml


Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/qcom,shikra-pas.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Shikra SoC Peripheral Authentication Service

maintainers:
  - Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
  - Komal Bajaj <komal.bajaj@oss.qualcomm.com>

description:
  Qualcomm Shikra SoC Peripheral Authentication Service loads and boots
  firmware on the Qualcomm DSP Hexagon cores.

properties:
  compatible:
    enum:
      - qcom,shikra-cdsp-pas
      - qcom,shikra-lpaicp-pas
      - qcom,shikra-mpss-pas

  reg:
    maxItems: 1

  clocks:
    items:
      - description: XO clock

  clock-names:
    items:
      - const: xo

  memory-region:
    minItems: 1
    maxItems: 2

  smd-edge: false

  firmware-name:
    minItems: 1
    items:
      - description: Firmware name of the Hexagon core
      - description: Firmware name of the Hexagon Devicetree

  glink-edge:
    $ref: /schemas/remoteproc/qcom,glink-edge.yaml#
    description:
      Qualcomm G-Link subnode which represents communication edge, channels
      and devices related to the remoteproc core.
    unevaluatedProperties: false

  qcom,smem-states:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: States used by the AP to signal the Hexagon core
    items:
      - description: Stop the remote processor
        items:
          - description: Phandle to the Shared Memory Point 2 Point device
              handling the communication with a remote processor
          - description: Single bit index to toggle in the value sent to
              the remote processor
            maximum: 32

  qcom,smem-state-names:
    description: The names of the state bits used for SMP2P output
    items:
      - const: stop

required:
  - compatible
  - reg
  - memory-region

allOf:
  - $ref: /schemas/remoteproc/qcom,pas-common.yaml#

  - if:
      properties:
        compatible:
          enum:
            - qcom,shikra-cdsp-pas
            - qcom,shikra-mpss-pas
    then:
      properties:
        interrupts:
          minItems: 6
        interrupt-names:
          minItems: 6
        memory-region:
          maxItems: 1
        firmware-name:
          maxItems: 1
        power-domains:
          items:
            - description: CX power domain
        power-domain-names:
          items:
            - const: cx

  - if:
      properties:
        compatible:
          enum:
            - qcom,shikra-lpaicp-pas
    then:
      properties:
        interrupts:
          maxItems: 5
        interrupt-names:
          maxItems: 5
        memory-region:
          minItems: 2
        firmware-name:
          minItems: 2
        power-domains: false
        power-domain-names: false

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmcc.h>
    #include <dt-bindings/interconnect/qcom,icc.h>
    #include <dt-bindings/interconnect/qcom,rpm-icc.h>
    #include <dt-bindings/interconnect/qcom,shikra.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/power/qcom-rpmpd.h>
 
    remoteproc@b300000 {
        compatible = "qcom,shikra-cdsp-pas";
        reg = <0x0b300000 0x100000>;
 
        interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
                              <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
                              <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
                              <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
                              <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
                              <&cdsp_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
        interrupt-names = "wdog", "fatal", "ready",
                          "handover", "stop-ack", "shutdown-ack";
 
        clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
        clock-names = "xo";
 
        interconnects = <&mem_noc MASTER_AMPSS_M0 RPM_ALWAYS_TAG
                         &mc_virt SLAVE_EBI_CH0 RPM_ALWAYS_TAG>;
 
        power-domains = <&rpmpd RPMHPD_CX>;
        power-domain-names = "cx";
 
        memory-region = <&cdsp_mem>;
 
        qcom,smem-states = <&cdsp_smp2p_out 0>;
        qcom,smem-state-names = "stop";
 
        firmware-name = "qcom/shikra/cdsp.mbn";
 
        glink-edge {
            interrupts = <GIC_SPI 261 IRQ_TYPE_EDGE_RISING>;
            mboxes = <&apcs_glb 4>;
            qcom,remote-pid = <5>;
            label = "cdsp";
        };
    };