TI Wakeup M3 Remoteproc Driver ============================== The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor (commonly referred to as Wakeup M3 or CM3) to help with various low power tasks that cannot be controlled from the MPU. This CM3 processor requires a firmware binary to accomplish this. The wkup_m3 remoteproc driver handles the loading of the firmware and booting of the CM3. Wkup M3 Device Node: ==================== A wkup_m3 device node is used to represent the Wakeup M3 processor instance within the SoC. It is added as a child node of the parent interconnect bus (l4_wkup) through which it is accessible to the MPU. Required properties: -------------------- - compatible: Should be one of, "ti,am3352-wkup-m3" for AM33xx SoCs "ti,am4372-wkup-m3" for AM43xx SoCs - reg: Should contain the address ranges for the two internal memory regions, UMEM and DMEM. The parent node should provide an appropriate ranges property for properly translating these into bus addresses. - reg-names: Contains the corresponding names for the two memory regions. These should be named "umem" & "dmem". - ti,hwmods: Name of the hwmod associated with the wkupm3 device. - ti,pm-firmware: Name of firmware file to be used for loading and booting the wkup_m3 remote processor. Example: -------- /* AM33xx */ ocp { l4_wkup: l4_wkup@44c00000 { compatible = "am335-l4-wkup", "simple-bus"; ranges = <0 0x44c00000 0x400000>; #address-cells = <1>; #size-cells = <1>; wkup_m3: wkup_m3@100000 { compatible = "ti,am3352-wkup-m3"; reg = <0x100000 0x4000>, <0x180000 0x2000>; reg-names = "umem", "dmem"; ti,hwmods = "wkup_m3"; ti,pm-firmware = "am335x-pm-firmware.elf"; }; }; ... };