Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | TI Wakeup M3 Remoteproc Driver |
| 2 | ============================== |
| 3 | |
| 4 | The 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 |
| 6 | that cannot be controlled from the MPU. This CM3 processor requires a firmware |
| 7 | binary to accomplish this. The wkup_m3 remoteproc driver handles the loading of |
| 8 | the firmware and booting of the CM3. |
| 9 | |
| 10 | Wkup M3 Device Node: |
| 11 | ==================== |
| 12 | A wkup_m3 device node is used to represent the Wakeup M3 processor instance |
| 13 | within 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 | |
| 16 | Required 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 | |
| 31 | Example: |
| 32 | -------- |
| 33 | /* AM33xx */ |
| 34 | ocp { |
| 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 | }; |