xref: /freebsd/sys/contrib/device-tree/Bindings/remoteproc/wkup_m3_rproc.txt (revision d500a85e640d1cd270747c12e17c511b53864436)
1TI 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};
53