0001 TI Wakeup M3 Remoteproc Driver
0002 ==============================
0003
0004 The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor
0005 (commonly referred to as Wakeup M3 or CM3) to help with various low power tasks
0006 that cannot be controlled from the MPU. This CM3 processor requires a firmware
0007 binary to accomplish this. The wkup_m3 remoteproc driver handles the loading of
0008 the firmware and booting of the CM3.
0009
0010 Wkup M3 Device Node:
0011 ====================
0012 A wkup_m3 device node is used to represent the Wakeup M3 processor instance
0013 within the SoC. It is added as a child node of the parent interconnect bus
0014 (l4_wkup) through which it is accessible to the MPU.
0015
0016 Required properties:
0017 --------------------
0018 - compatible: Should be one of,
0019 "ti,am3352-wkup-m3" for AM33xx SoCs
0020 "ti,am4372-wkup-m3" for AM43xx SoCs
0021 - reg: Should contain the address ranges for the two internal
0022 memory regions, UMEM and DMEM. The parent node should
0023 provide an appropriate ranges property for properly
0024 translating these into bus addresses.
0025 - reg-names: Contains the corresponding names for the two memory
0026 regions. These should be named "umem" & "dmem".
0027 - ti,hwmods: Name of the hwmod associated with the wkupm3 device.
0028 - ti,pm-firmware: Name of firmware file to be used for loading and
0029 booting the wkup_m3 remote processor.
0030
0031 Example:
0032 --------
0033 /* AM33xx */
0034 ocp {
0035 l4_wkup: l4_wkup@44c00000 {
0036 compatible = "am335-l4-wkup", "simple-bus";
0037 ranges = <0 0x44c00000 0x400000>;
0038 #address-cells = <1>;
0039 #size-cells = <1>;
0040
0041 wkup_m3: wkup_m3@100000 {
0042 compatible = "ti,am3352-wkup-m3";
0043 reg = <0x100000 0x4000>,
0044 <0x180000 0x2000>;
0045 reg-names = "umem", "dmem";
0046 ti,hwmods = "wkup_m3";
0047 ti,pm-firmware = "am335x-pm-firmware.elf";
0048 };
0049 };
0050
0051 ...
0052 };