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