DSP

AM57xx Remoteproc

2019-07-13 12:01发布

class="markdown_views prism-atom-one-light">

1. Firmware Loading and Unloading

The table below shows the remote cores and their corresponding definitions in the kernel dtsi files ([ti-processor-sdk-linux-am57xx-evm-[ver]]/board-support/linux-[ver]/arch/arm/boot/dts/dra7.dtsi, and dra74x.dtsi), as well as the argument to be used in the loading/unloading commands.
Remote Core |Definition in dtsi file | Argument in loading/unloading|
|—————–|—————————-|—————————————|
|IPU1 | ipu@58820000| 58820000.ipu|
|IPU2 | ipu@55020000| 55020000.ipu|
|DSP1 | dsp@40800000| 40800000.dsp|
|DSP2 | dsp@41000000| 41000000.dsp|
For example, the argument of 55020000.ipu corresponds to IPU2 as can be seen from dra7.dtsi.
ipu2: ipu@55020000 { compatible = "ti,dra7-rproc-ipu";
In the sections below, 55020000.ipu will be used as the example. For a specific use case, please select the corresponding argument which is applicable. Unloading and loading remotecores at runtime It is possible to unload and reload a remotecore at runtime from Linux using the sysfs interface.
target $ cd /sys/bus/platform/drivers/omap-rproc/ target $ echo 55020000.ipu > unbind target $ echo 55020000.ipu > bind
The echo 55020000.ipu > unbind command tears down the communication channels between the A15 and the remotecore and unloads the remotecore. Any application level shutdown that needs to be performed needs to be handled by the system integrator. The echo 55020000.ipu > bind loads the appropriate firmware binary onto the remotecore.