blob: 3a70073797eb83a340fe75fb41d3296c8c81b9ef [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001TI Wakeup M3 Remoteproc Driver
2==============================
3
4The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor
5(commonly referred to as Wakeup M3 or CM3) to help with various low power tasks
6that cannot be controlled from the MPU. This CM3 processor requires a firmware
7binary to accomplish this. The wkup_m3 remoteproc driver handles the loading of
8the firmware and booting of the CM3.
9
10Wkup M3 Device Node:
11====================
12A wkup_m3 device node is used to represent the Wakeup M3 processor instance
13within the SoC. It is added as a child node of the parent interconnect bus
14(l4_wkup) through which it is accessible to the MPU.
15
16Required properties:
17--------------------
18- compatible: Should be one of,
19 "ti,am3352-wkup-m3" for AM33xx SoCs
20 "ti,am4372-wkup-m3" for AM43xx SoCs
21- reg: Should contain the address ranges for the two internal
22 memory regions, UMEM and DMEM. The parent node should
23 provide an appropriate ranges property for properly
24 translating these into bus addresses.
25- reg-names: Contains the corresponding names for the two memory
26 regions. These should be named "umem" & "dmem".
27- ti,hwmods: Name of the hwmod associated with the wkupm3 device.
28- ti,pm-firmware: Name of firmware file to be used for loading and
29 booting the wkup_m3 remote processor.
30
31Example:
32--------
33/* AM33xx */
34ocp {
35 l4_wkup: l4_wkup@44c00000 {
36 compatible = "am335-l4-wkup", "simple-bus";
37 ranges = <0 0x44c00000 0x400000>;
38 #address-cells = <1>;
39 #size-cells = <1>;
40
41 wkup_m3: wkup_m3@100000 {
42 compatible = "ti,am3352-wkup-m3";
43 reg = <0x100000 0x4000>,
44 <0x180000 0x2000>;
45 reg-names = "umem", "dmem";
46 ti,hwmods = "wkup_m3";
47 ti,pm-firmware = "am335x-pm-firmware.elf";
48 };
49 };
50
51 ...
52};