Skip to content

Commit 9fedb82

Browse files
h-nagallamathieupoirier
authored andcommitted
dt-bindings: remoteproc: k3-m4f: Add K3 AM64x SoCs
K3 AM64x SoC has a Cortex M4F subsystem in the MCU voltage domain. The remote processor's life cycle management and IPC mechanisms are similar across the R5F and M4F cores from remote processor driver point of view. However, there are subtle differences in image loading and starting the M4F subsystems. The YAML binding document provides the various node properties to be configured by the consumers of the M4F subsystem. Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Hari Nagalla <[email protected]> Signed-off-by: Andrew Davis <[email protected]> Reviewed-by: Conor Dooley <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mathieu Poirier <[email protected]>
1 parent ea1d6fb commit 9fedb82

File tree

1 file changed

+125
-0
lines changed

1 file changed

+125
-0
lines changed
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/remoteproc/ti,k3-m4f-rproc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TI K3 M4F processor subsystems
8+
9+
maintainers:
10+
- Hari Nagalla <[email protected]>
11+
- Mathieu Poirier <[email protected]>
12+
13+
description: |
14+
Some K3 family SoCs have Arm Cortex M4F cores. AM64x is a SoC in K3
15+
family with a M4F core. Typically safety oriented applications may use
16+
the M4F core in isolation without an IPC. Where as some industrial and
17+
home automation applications, may use the M4F core as a remote processor
18+
with IPC communications.
19+
20+
$ref: /schemas/arm/keystone/ti,k3-sci-common.yaml#
21+
22+
properties:
23+
compatible:
24+
enum:
25+
- ti,am64-m4fss
26+
27+
power-domains:
28+
maxItems: 1
29+
30+
"#address-cells":
31+
const: 2
32+
33+
"#size-cells":
34+
const: 2
35+
36+
reg:
37+
items:
38+
- description: IRAM internal memory region
39+
- description: DRAM internal memory region
40+
41+
reg-names:
42+
items:
43+
- const: iram
44+
- const: dram
45+
46+
resets:
47+
maxItems: 1
48+
49+
firmware-name:
50+
maxItems: 1
51+
description: Name of firmware to load for the M4F core
52+
53+
mboxes:
54+
description:
55+
OMAP Mailbox specifier denoting the sub-mailbox, to be used for
56+
communication with the remote processor. This property should match
57+
with the sub-mailbox node used in the firmware image.
58+
maxItems: 1
59+
60+
memory-region:
61+
description:
62+
phandle to the reserved memory nodes to be associated with the
63+
remoteproc device. Optional memory regions available for firmware
64+
specific purposes.
65+
(see reserved-memory/reserved-memory.yaml in dtschema project)
66+
maxItems: 8
67+
items:
68+
- description: regions used for DMA allocations like vrings, vring buffers
69+
and memory dedicated to firmware's specific purposes.
70+
additionalItems: true
71+
72+
required:
73+
- compatible
74+
- reg
75+
- reg-names
76+
- ti,sci
77+
- ti,sci-dev-id
78+
- ti,sci-proc-ids
79+
- resets
80+
- firmware-name
81+
82+
unevaluatedProperties: false
83+
84+
examples:
85+
- |
86+
reserved-memory {
87+
#address-cells = <2>;
88+
#size-cells = <2>;
89+
90+
mcu_m4fss_dma_memory_region: m4f-dma-memory@9cb00000 {
91+
compatible = "shared-dma-pool";
92+
reg = <0x00 0x9cb00000 0x00 0x100000>;
93+
no-map;
94+
};
95+
96+
mcu_m4fss_memory_region: m4f-memory@9cc00000 {
97+
compatible = "shared-dma-pool";
98+
reg = <0x00 0x9cc00000 0x00 0xe00000>;
99+
no-map;
100+
};
101+
};
102+
103+
soc {
104+
#address-cells = <2>;
105+
#size-cells = <2>;
106+
107+
mailbox0_cluster0: mailbox-0 {
108+
#mbox-cells = <1>;
109+
};
110+
111+
remoteproc@5000000 {
112+
compatible = "ti,am64-m4fss";
113+
reg = <0x00 0x5000000 0x00 0x30000>,
114+
<0x00 0x5040000 0x00 0x10000>;
115+
reg-names = "iram", "dram";
116+
resets = <&k3_reset 9 1>;
117+
firmware-name = "am62-mcu-m4f0_0-fw";
118+
mboxes = <&mailbox0_cluster0>, <&mbox_m4_0>;
119+
memory-region = <&mcu_m4fss_dma_memory_region>,
120+
<&mcu_m4fss_memory_region>;
121+
ti,sci = <&dmsc>;
122+
ti,sci-dev-id = <9>;
123+
ti,sci-proc-ids = <0x18 0xff>;
124+
};
125+
};

0 commit comments

Comments
 (0)