• Dave Gerlach's avatar
    remoteproc/wkup_m3: add a remoteproc driver for TI Wakeup M3 · a01bc0d5
    Dave Gerlach authored
    Add a remoteproc driver to load the firmware and boot a small
    Wakeup M3 processor present on TI AM33xx and AM43xx SoCs. This
    Wakeup M3 remote processor is an integrated Cortex M3 that allows
    the SoC to enter the lowest possible power state by taking control
    from the MPU after it has gone into its own low power state and
    shutting off any additional peripherals.
    
    The Wakeup M3 processor has two internal memory regions - 16 kB of
    unified instruction memory called UMEM used to store executable
    code, and 8 kB of data memory called DMEM used for all data sections.
    The Wakeup M3 processor executes its code entirely from within the
    UMEM and uses the DMEM for any data. It does not use any external
    memory or any other external resources. The device address view has
    the UMEM at address 0x0 and DMEM at address 0x80000, and these are
    computed automatically within the driver based on relative address
    calculation from the corresponding device tree IOMEM resources.
    These device addresses are used to aid the core remoteproc ELF
    loader code to properly translate and load the firmware segments
    through the .rproc_da_to_va ops.
    Signed-off-by: default avatarDave Gerlach <d-gerlach@ti.com>
    Signed-off-by: default avatarSuman Anna <s-anna@ti.com>
    Signed-off-by: default avatarOhad Ben-Cohen <ohad@wizery.com>
    a01bc0d5
wkup_m3_rproc.c 6.29 KB