File Index
Files and directories
Sign in
FILE

qcom,sa8775p-pas.yaml

File preview with syntax highlighting.

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