This commit is contained in:
Mark Brown
2026-07-31 16:34:25 +01:00
64 changed files with 2072 additions and 651 deletions
@@ -0,0 +1,105 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/amd,bram-rproc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: AMD MicroBlaze/V BRAM-based Remote Processor
maintainers:
- Ben Levinsky <ben.levinsky@amd.com>
description: |
Soft-core processor subsystem instantiated in AMD programmable logic and
using dual-port BRAM for firmware storage and execution.
Hardware Architecture:
Host (PS) Programmable Logic (PL)
========= ======================
AXI Interface -----------------> AXI BRAM Controller (Host Port)
|
| Port A
v
+-----------------+
| Dual-Port BRAM |
| (shared memory) |
+-----------------+
^
| Port B
|
AXI BRAM Controller (Soft-core Port)
^
| LMB
|
Soft-core CPU (MicroBlaze/V)
GPIO --------------------------> Proc Sys Reset ----> CPU Reset Signal
Clock -------------------------> Clock Distribution -> CPU Clock
Memory Architecture:
The dual-port BRAM allows simultaneous access from both processors:
- Port A: Connected to the host AXI BRAM controller for firmware loading
- Port B: Connected to the soft-core local memory bus for execution
The reg property describes the executable BRAM window in the processor-local
address space. The parent bus node translates that window to the system
physical address space by using standard devicetree address translation
through ranges. A clock input and a reset GPIO control the subsystem.
properties:
compatible:
oneOf:
- const: xlnx,zynqmp-bram-rproc
- items:
- enum:
- amd,versal2-bram-rproc
- xlnx,versal-bram-rproc
- xlnx,versal-net-bram-rproc
- const: xlnx,zynqmp-bram-rproc
reg:
maxItems: 1
description:
Processor-local address and size of the BRAM firmware memory window,
as seen by the soft-core processor (typically 0x0 for reset vector).
The parent bus ranges property must translate this window to the
corresponding system physical address.
clocks:
maxItems: 1
description:
Clock input for the soft-core processor subsystem.
firmware-name:
maxItems: 1
description:
Name of the firmware ELF file to load.
reset-gpios:
maxItems: 1
description:
GPIO specifier controlling the soft-core reset input.
required:
- compatible
- reg
- clocks
- reset-gpios
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
remoteproc@0 {
compatible = "xlnx,zynqmp-bram-rproc";
reg = <0x0 0x40000>;
clocks = <&pl_clk>;
firmware-name = "firmware.elf";
reset-gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
};
...
@@ -25,7 +25,7 @@ properties:
- const: amlogic,meson-mx-ao-arc
firmware-name:
$ref: /schemas/types.yaml#/definitions/string
maxItems: 1
description:
The name of the firmware which should be loaded for this remote
processor.
@@ -32,6 +32,14 @@ properties:
reg:
maxItems: 1
clocks:
items:
- description: XO clock
clock-names:
items:
- const: xo
cx-supply: true
px-supply:
@@ -49,6 +57,30 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
interrupts:
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
interrupt-names:
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
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
- memory-region
@@ -57,56 +89,6 @@ unevaluatedProperties: false
allOf:
- $ref: /schemas/remoteproc/qcom,pas-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- qcom,msm8226-adsp-pil
- qcom,msm8953-adsp-pil
- qcom,msm8974-adsp-pil
- qcom,msm8996-adsp-pil
- qcom,msm8996-slpi-pil
- qcom,msm8998-adsp-pas
- qcom,msm8998-slpi-pas
- qcom,sdm660-adsp-pas
- qcom,sdm660-cdsp-pas
- qcom,sdm845-adsp-pas
- qcom,sdm845-cdsp-pas
- qcom,sdm845-slpi-pas
then:
properties:
clocks:
items:
- description: XO clock
clock-names:
items:
- const: xo
- if:
properties:
compatible:
contains:
enum:
- qcom,msm8226-adsp-pil
- qcom,msm8953-adsp-pil
- qcom,msm8974-adsp-pil
- qcom,msm8996-adsp-pil
- qcom,msm8996-slpi-pil
- qcom,msm8998-adsp-pas
- qcom,msm8998-slpi-pas
- qcom,sdm660-adsp-pas
- qcom,sdm660-cdsp-pas
- qcom,sdm845-adsp-pas
- qcom,sdm845-cdsp-pas
- qcom,sdm845-slpi-pas
then:
properties:
interrupts:
maxItems: 5
interrupt-names:
maxItems: 5
- if:
properties:
compatible:
@@ -0,0 +1,156 @@
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/qcom,kaanapali-soccp-pas.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Kaanapali SoCCP Peripheral Authentication Service
maintainers:
- Jingyi Wang <jingyi.wang@oss.qualcomm.com>
description:
The SoC Control Processor (SoCCP) is a small RISC-V MCU that controls USB
Type-C, battery charging and various other functions on Qualcomm SoCs, somewhat
analogous to traditional PC Embedded Controllers. This document describes
the Peripheral Authentication Service that loads and boots firmware for SoCCP.
properties:
compatible:
oneOf:
- items:
- enum:
- qcom,hawi-soccp-pas
- qcom,maili-soccp-pas
- const: qcom,kaanapali-soccp-pas
- enum:
- qcom,glymur-soccp-pas
- qcom,kaanapali-soccp-pas
reg:
maxItems: 1
clocks:
items:
- description: XO clock
clock-names:
items:
- const: xo
power-domains:
items:
- description: CX power domain
- description: MX power domain
power-domain-names:
items:
- const: cx
- const: mx
firmware-name:
items:
- description: Firmware name of the SoC Control Processor
- description: Firmware name of the SoCCP Devicetree
memory-region:
items:
- description: Memory region for main Firmware authentication
- description: Memory region for Devicetree Firmware authentication
interrupts:
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Pong interrupt
interrupt-names:
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: pong
qcom,smem-states:
minItems: 2
description: States used by the AP to signal the SoC Control Processor
qcom,smem-state-names:
minItems: 2
description: The names of the state bits used for SMP2P output
required:
- compatible
- reg
- memory-region
- power-domains
- power-domain-names
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/interrupt-controller/irq.h>
#include <dt-bindings/mailbox/qcom-ipcc.h>
#include <dt-bindings/power/qcom-rpmpd.h>
#define IPCC_MPROC_SOCCP
remoteproc@d00000 {
compatible = "qcom,kaanapali-soccp-pas";
reg = <0x00d00000 0x200000>;
clocks = <&rpmhcc RPMH_CXO_CLK>;
clock-names = "xo";
interrupts-extended = <&intc GIC_SPI 167 IRQ_TYPE_EDGE_RISING>,
<&soccp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
<&soccp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
<&soccp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
<&soccp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
<&soccp_smp2p_in 9 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "wdog",
"fatal",
"ready",
"handover",
"stop-ack",
"pong";
memory-region = <&soccp_mem>,
<&soccp_dtb_mem_mem>;
firmware-name = "qcom/kaanapali/soccp.mbn",
"qcom/kaanapali/soccp_dtb.mbn";
power-domains = <&rpmhpd RPMHPD_CX>,
<&rpmhpd RPMHPD_MX>;
power-domain-names = "cx",
"mx";
qcom,smem-states = <&soccp_smp2p_out 0>,
<&soccp_smp2p_out 8>;
qcom,smem-state-names = "stop",
"ping";
glink-edge {
interrupts-extended = <&ipcc IPCC_MPROC_SOCCP
IPCC_MPROC_SIGNAL_GLINK_QMP
IRQ_TYPE_EDGE_RISING>;
mboxes = <&ipcc IPCC_MPROC_SOCCP
IPCC_MPROC_SIGNAL_GLINK_QMP>;
label = "soccp";
qcom,remote-pid = <19>;
/* ... */
};
};
@@ -16,7 +16,6 @@ description:
properties:
compatible:
enum:
- qcom,eliza-adsp-pas
- qcom,milos-adsp-pas
- qcom,milos-cdsp-pas
- qcom,milos-mpss-pas
@@ -34,12 +33,22 @@ properties:
- const: xo
interrupts:
minItems: 6
maxItems: 6
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 6
maxItems: 6
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
qcom,qmp:
$ref: /schemas/types.yaml#/definitions/phandle
@@ -59,6 +68,14 @@ properties:
- description: Memory region for core Firmware authentication
- description: Memory region for Devicetree Firmware authentication
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
@@ -70,7 +87,6 @@ allOf:
properties:
compatible:
enum:
- qcom,eliza-adsp-pas
- qcom,milos-adsp-pas
- qcom,milos-cdsp-pas
then:
@@ -91,7 +107,6 @@ allOf:
compatible:
contains:
enum:
- qcom,eliza-adsp-pas
- qcom,milos-adsp-pas
then:
properties:
@@ -0,0 +1,173 @@
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/qcom,nord-pas.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Nord SoC Peripheral Authentication Service
maintainers:
- Shawn Guo <shengchao.guo@oss.qualcomm.com>
description:
Qualcomm Nord SoC Peripheral Authentication Service loads and boots firmware
on the Qualcomm DSP Hexagon cores.
properties:
compatible:
enum:
- qcom,nord-adsp-pas
- qcom,nord-cdsp0-pas
- qcom,nord-cdsp1-pas
- qcom,nord-cdsp2-pas
- qcom,nord-cdsp3-pas
power-domains:
minItems: 2
items:
- description: CX power domain
- description: MX power domain
- description: NSP power domain
power-domain-names:
minItems: 2
items:
- const: cx
- const: mx
- const: nsp
reg:
maxItems: 1
clocks:
items:
- description: XO clock
clock-names:
items:
- const: xo
qcom,qmp:
$ref: /schemas/types.yaml#/definitions/phandle
description: Reference to the AOSS side-channel message RAM.
smd-edge: false
firmware-name:
items:
- description: Firmware name of the Hexagon core
- description: Firmware name of the Hexagon Devicetree
memory-region:
items:
- description: Memory region for main Firmware authentication
- description: Memory region for Devicetree Firmware authentication
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
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#
- if:
properties:
compatible:
enum:
- qcom,nord-adsp-pas
then:
properties:
power-domains:
maxItems: 2
power-domain-names:
maxItems: 2
else:
properties:
power-domains:
minItems: 3
power-domain-names:
minItems: 3
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/mailbox/qcom-ipcc.h>
#include <dt-bindings/power/qcom,rpmhpd.h>
#define IPCC_MPROC_ADSP0
remoteproc@4c00000 {
compatible = "qcom,nord-adsp-pas";
reg = <0x04c00000 0x10000>;
clocks = <&rpmhcc RPMH_CXO_CLK>;
clock-names = "xo";
interrupts-extended = <&intc GIC_SPI 159 IRQ_TYPE_EDGE_RISING>,
<&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
<&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
<&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
<&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>,
<&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "wdog",
"fatal",
"ready",
"handover",
"stop-ack",
"shutdown-ack";
memory-region = <&hpass_dsp0_mem>, <&hpass_dsp0_dtb_mem>;
firmware-name = "qcom/nord/adsp.mbn",
"qcom/nord/adsp_dtb.mbn";
power-domains = <&rpmhpd RPMHPD_CX>,
<&rpmhpd RPMHPD_MX>;
power-domain-names = "cx",
"mx";
qcom,qmp = <&aoss_qmp>;
qcom,smem-states = <&smp2p_adsp_out 0>;
qcom,smem-state-names = "stop";
glink-edge {
interrupts-extended = <&ipcc IPCC_MPROC_ADSP0
IPCC_MPROC_SIGNAL_GLINK_QMP
IRQ_TYPE_EDGE_RISING>;
mboxes = <&ipcc IPCC_MPROC_ADSP0 IPCC_MPROC_SIGNAL_GLINK_QMP>;
label = "adsp";
qcom,remote-pid = <2>;
/* ... */
};
};
@@ -26,23 +26,11 @@ properties:
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
maxItems: 6
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
maxItems: 6
iommus:
maxItems: 1
@@ -58,8 +46,16 @@ properties:
qcom,smem-states:
$ref: /schemas/types.yaml#/definitions/phandle-array
description: States used by the AP to signal the Hexagon core
minItems: 1
items:
- description: Stop the modem
- description: Stop the remoteproc
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
- description: Ping the remoteproc
items:
- description: Phandle to the Shared Memory Point 2 Point device
handling the communication with a remote processor
@@ -69,8 +65,10 @@ properties:
qcom,smem-state-names:
description: The names of the state bits used for SMP2P output
minItems: 1
items:
- const: stop
- const: ping
smd-edge:
$ref: /schemas/remoteproc/qcom,smd-edge.yaml#
@@ -32,10 +32,20 @@ properties:
- const: xo
interrupts:
maxItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
interrupt-names:
maxItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
power-domains: false
power-domain-names: false
@@ -49,6 +59,14 @@ properties:
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
@@ -59,10 +59,28 @@ properties:
- description: Memory region for main Firmware authentication
interrupts:
maxItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
interrupt-names:
maxItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
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
@@ -48,6 +48,34 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
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
@@ -45,6 +45,34 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
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
@@ -30,10 +30,22 @@ properties:
- const: xo
interrupts:
minItems: 6
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 6
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
power-domains:
items:
@@ -59,6 +71,14 @@ properties:
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
@@ -51,6 +51,26 @@ properties:
and devices related to the remoteproc core.
unevaluatedProperties: false
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
qcom,smem-states:
$ref: /schemas/types.yaml#/definitions/phandle-array
description: States used by the AP to signal the Hexagon core
@@ -51,6 +51,34 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
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
@@ -45,6 +45,34 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
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
@@ -39,8 +39,36 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
smd-edge: false
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
@@ -61,6 +61,34 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
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
@@ -55,6 +55,34 @@ properties:
maxItems: 1
description: Firmware name for the Hexagon core
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
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
@@ -17,6 +17,9 @@ properties:
compatible:
oneOf:
- enum:
- qcom,eliza-cdsp-pas
- qcom,hawi-mpss-pas
- qcom,maili-mpss-pas
- qcom,sdx75-mpss-pas
- qcom,sm8550-adsp-pas
- qcom,sm8550-cdsp-pas
@@ -29,9 +32,11 @@ properties:
- qcom,x1e80100-cdsp-pas
- items:
- enum:
- qcom,eliza-adsp-pas
- qcom,glymur-adsp-pas
- qcom,hawi-adsp-pas
- qcom,kaanapali-adsp-pas
- qcom,maili-adsp-pas
- qcom,sm8750-adsp-pas
- const: qcom,sm8550-adsp-pas
- items:
@@ -39,6 +44,7 @@ properties:
- qcom,glymur-cdsp-pas
- qcom,hawi-cdsp-pas
- qcom,kaanapali-cdsp-pas
- qcom,maili-cdsp-pas
- const: qcom,sm8550-cdsp-pas
- items:
- const: qcom,sm8750-cdsp-pas
@@ -75,6 +81,34 @@ properties:
- description: DSM Memory region 2
- description: Memory region for Qlink Logging
interrupts:
minItems: 5
items:
- description: Watchdog interrupt
- description: Fatal interrupt
- description: Ready interrupt
- description: Handover interrupt
- description: Stop acknowledge interrupt
- description: Shutdown acknowledge interrupt
interrupt-names:
minItems: 5
items:
- const: wdog
- const: fatal
- const: ready
- const: handover
- const: stop-ack
- const: shutdown-ack
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
@@ -104,12 +138,15 @@ allOf:
compatible:
contains:
enum:
- qcom,eliza-adsp-pas
- qcom,glymur-adsp-pas
- qcom,glymur-cdsp-pas
- qcom,hawi-adsp-pas
- qcom,hawi-cdsp-pas
- qcom,kaanapali-adsp-pas
- qcom,kaanapali-cdsp-pas
- qcom,maili-adsp-pas
- qcom,maili-cdsp-pas
- qcom,sm8750-adsp-pas
then:
properties:
@@ -139,6 +176,7 @@ allOf:
compatible:
contains:
enum:
- qcom,eliza-cdsp-pas
- qcom,sm8750-cdsp-pas
then:
properties:
@@ -168,6 +206,8 @@ allOf:
properties:
compatible:
enum:
- qcom,hawi-mpss-pas
- qcom,maili-mpss-pas
- qcom,sdx75-mpss-pas
- qcom,sm8650-mpss-pas
then:
@@ -218,6 +258,8 @@ allOf:
properties:
compatible:
enum:
- qcom,hawi-mpss-pas
- qcom,maili-mpss-pas
- qcom,sdx75-mpss-pas
- qcom,sm8550-mpss-pas
- qcom,sm8650-mpss-pas
@@ -253,6 +295,25 @@ allOf:
- const: mxc
- const: nsp
- if:
properties:
compatible:
contains:
enum:
- qcom,eliza-cdsp-pas
then:
properties:
power-domains:
items:
- description: CX power domain
- description: MX power domain
- description: NSP power domain
power-domain-names:
items:
- const: cx
- const: mx
- const: nsp
unevaluatedProperties: false
examples:
@@ -0,0 +1,89 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/remoteproc/ti,am3352-wkup-m3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI AM33xx/AM43xx Wakeup M3 Remote Processor
maintainers:
- Suman Anna <s-anna@ti.com>
- Bhargav Joshi <j.bhargav.u@gmail.com>
description:
The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor
(commonly referred to as Wakeup M3 or CM3) to help with various low power
tasks that cannot be controlled from the MPU. This CM3 processor requires a
firmware binary to accomplish this. A wkup_m3 device node is used to
represent the Wakeup M3 processor instance within the SoC. It is added as a
child node of the parent interconnect bus (l4_wkup) through which it is
accessible to the MPU.
properties:
compatible:
enum:
- ti,am3352-wkup-m3
- ti,am4372-wkup-m3
reg:
items:
- description: Address range for UMEM
- description: Address range for DMEM
reg-names:
items:
- const: umem
- const: dmem
ti,pm-firmware:
$ref: /schemas/types.yaml#/definitions/string
description:
Name of firmware file to be used for loading and booting the wkup_m3
remote processor.
resets:
maxItems: 1
reset-names:
items:
- const: rstctrl
ti,hwmods:
$ref: /schemas/types.yaml#/definitions/string
deprecated: true
description:
Name of the hwmod associated with the wkupm3 device.
required:
- compatible
- reg
- reg-names
- ti,pm-firmware
dependencies:
resets: [reset-names]
reset-names: [resets]
additionalProperties: false
examples:
- |
target-module@0 {
compatible = "ti,sysc-omap4", "ti,sysc";
reg = <0x0 0x4>;
reg-names = "rev";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x00000000 0x00000000 0x4000>,
<0x00080000 0x00080000 0x2000>;
cpu@0 {
compatible = "ti,am3352-wkup-m3";
reg = <0x00000000 0x4000>,
<0x00080000 0x2000>;
reg-names = "umem", "dmem";
resets = <&prm_wkup 3>;
reset-names = "rstctrl";
ti,pm-firmware = "am335x-pm-firmware.elf";
};
};

Some files were not shown because too many files have changed in this diff Show More