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