162306a36Sopenharmony_ciTI Wakeup M3 Remoteproc Driver 262306a36Sopenharmony_ci============================== 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciThe TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor 562306a36Sopenharmony_ci(commonly referred to as Wakeup M3 or CM3) to help with various low power tasks 662306a36Sopenharmony_cithat cannot be controlled from the MPU. This CM3 processor requires a firmware 762306a36Sopenharmony_cibinary to accomplish this. The wkup_m3 remoteproc driver handles the loading of 862306a36Sopenharmony_cithe firmware and booting of the CM3. 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciWkup M3 Device Node: 1162306a36Sopenharmony_ci==================== 1262306a36Sopenharmony_ciA wkup_m3 device node is used to represent the Wakeup M3 processor instance 1362306a36Sopenharmony_ciwithin the SoC. It is added as a child node of the parent interconnect bus 1462306a36Sopenharmony_ci(l4_wkup) through which it is accessible to the MPU. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciRequired properties: 1762306a36Sopenharmony_ci-------------------- 1862306a36Sopenharmony_ci- compatible: Should be one of, 1962306a36Sopenharmony_ci "ti,am3352-wkup-m3" for AM33xx SoCs 2062306a36Sopenharmony_ci "ti,am4372-wkup-m3" for AM43xx SoCs 2162306a36Sopenharmony_ci- reg: Should contain the address ranges for the two internal 2262306a36Sopenharmony_ci memory regions, UMEM and DMEM. The parent node should 2362306a36Sopenharmony_ci provide an appropriate ranges property for properly 2462306a36Sopenharmony_ci translating these into bus addresses. 2562306a36Sopenharmony_ci- reg-names: Contains the corresponding names for the two memory 2662306a36Sopenharmony_ci regions. These should be named "umem" & "dmem". 2762306a36Sopenharmony_ci- ti,hwmods: Name of the hwmod associated with the wkupm3 device. 2862306a36Sopenharmony_ci- ti,pm-firmware: Name of firmware file to be used for loading and 2962306a36Sopenharmony_ci booting the wkup_m3 remote processor. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciExample: 3262306a36Sopenharmony_ci-------- 3362306a36Sopenharmony_ci/* AM33xx */ 3462306a36Sopenharmony_ciocp { 3562306a36Sopenharmony_ci l4_wkup: l4_wkup@44c00000 { 3662306a36Sopenharmony_ci compatible = "am335-l4-wkup", "simple-bus"; 3762306a36Sopenharmony_ci ranges = <0 0x44c00000 0x400000>; 3862306a36Sopenharmony_ci #address-cells = <1>; 3962306a36Sopenharmony_ci #size-cells = <1>; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci wkup_m3: wkup_m3@100000 { 4262306a36Sopenharmony_ci compatible = "ti,am3352-wkup-m3"; 4362306a36Sopenharmony_ci reg = <0x100000 0x4000>, 4462306a36Sopenharmony_ci <0x180000 0x2000>; 4562306a36Sopenharmony_ci reg-names = "umem", "dmem"; 4662306a36Sopenharmony_ci ti,hwmods = "wkup_m3"; 4762306a36Sopenharmony_ci ti,pm-firmware = "am335x-pm-firmware.elf"; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci }; 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci ... 5262306a36Sopenharmony_ci}; 53