summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/remoteproc/qcom,sdx55-pas.yaml
blob: 8c16b01c53e42846f0ae1f5934dc17e60def8d7e (plain)
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
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/qcom,sdx55-pas.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm SDX55 Peripheral Authentication Service

maintainers:
  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>

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

properties:
  compatible:
    enum:
      - qcom,sdx55-mpss-pas

  reg:
    maxItems: 1

  clocks:
    items:
      - description: XO clock

  clock-names:
    items:
      - const: xo

  interrupts:
    items:
      - description: Watchdog interrupt
      - description: Fatal interrupt
      - description: Ready interrupt
      - description: Handover interrupt
      - description: Stop acknowledge interrupt
      - description: Shutdown acknowledge interrupt

  interrupt-names:
    items:
      - const: wdog
      - const: fatal
      - const: ready
      - const: handover
      - const: stop-ack
      - const: shutdown-ack

  power-domains:
    items:
      - description: CX power domain
      - description: MSS power domain

  power-domain-names:
    items:
      - const: cx
      - const: mss

  memory-region:
    maxItems: 1
    description: Reference to the reserved-memory for the Hexagon core

  qcom,qmp:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: Reference to the AOSS side-channel message RAM.

  smd-edge: false

  firmware-name:
    maxItems: 1
    description: Firmware name for the Hexagon core

  qcom,smem-states:
    maxItems: 1
    description: States used by the AP to signal the Hexagon core

  qcom,smem-state-names:
    maxItems: 1
    description: The names of the state bits used for SMP2P output

required:
  - compatible
  - reg
  - memory-region

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

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/qcom,rpmh.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/power/qcom-rpmpd.h>

    remoteproc@4080000 {
        compatible = "qcom,sdx55-mpss-pas";
        reg = <0x04080000 0x4040>;

        clocks = <&rpmhcc RPMH_CXO_CLK>;
        clock-names = "xo";

        interrupts-extended = <&intc GIC_SPI 250 IRQ_TYPE_EDGE_RISING>,
                              <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
                              <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
                              <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
                              <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
                              <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
        interrupt-names = "wdog", "fatal", "ready", "handover",
                          "stop-ack", "shutdown-ack";

        memory-region = <&mpss_adsp_mem>;

        power-domains = <&rpmhpd SDX55_CX>, <&rpmhpd SDX55_MSS>;
        power-domain-names = "cx", "mss";

        qcom,smem-states = <&modem_smp2p_out 0>;
        qcom,smem-state-names = "stop";

        glink-edge {
            interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>;
            label = "mpss";
            mboxes = <&apcs 15>;
            qcom,remote-pid = <1>;

            /* ... */
        };
    };