[PATCH v3 00/11] dra7: bring up and support IPU load/start
Amjad Ouled-Ameur
aouledameur at baylibre.com
Tue Jan 18 11:12:38 CET 2022
This patchset enables support for loading and starting IPU firmware,
the following have been implemented:
- Enable fs_loader compilation at SPL Level, that is necessary in order
to load IPU firmware from /boot partition.
- Define necessary related IPU dts nodes.
- Add necessary drivers and helpers to bring up, load and start IPU
firmware.
The underlying patches are interdependent, therefore should be applied
in the order they are numbered in this patchset.
Tests:
- Please find SPL, u-boot and kernel console logs in here [1]
- At SPL stage, debug logs have been enabled to make sure that
IPU1 and IPU2 are loaded and started properly. In fact, these two log
messages are only displayed when the firmware has been loaded, and if no
errors appear afterwards, it means that firmware started successfully as
well:
- Starting IPU1...
- Starting IPU2...
At U-boot stage, "rproc" command-line tool was used for the testing. In
the logs [1], "rproc list" was run before and after IPU1 and IPU2 are
initialized by "rproc init". The before run gave an empty list, while
the after run listed successfully the two IPUs with their correct
addresses:
- 0 - Name:'ipu at 58820000' type:'internal memory mapped'
- 1 - Name:'ipu at 55020000' type:'internal memory mapped'
"rproc start" and "rproc stop" were also used for both IPU1 and IPU2,
both were successful as no error logs were displayed.
[0]: https://pastebin.com/QGUYSPRt
These U-boot/SPL flags have been purposely enabled during tests to ensure
IPU load/start work properly:
- CONFIG_DM_RESET=y
- CONFIG_RESET_DRA7=y
- CONFIG_SPL_DM_RESET=y
- CONFIG_FS_LOADER=y
- CONFIG_SPL_FS_LOADER=y
- CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
- CONFIG_REMOTEPROC_TI_IPU=y
- CONFIG_SPL_REMOTEPROC=y
- CONFIG_CMD_REMOTEPROC=y
Changes in v3:
- Add a new patch for dra7xx_evm to expand SPL_MULTI_DTB_FIT
Changes in v2:
- Add useful checks and remove redundant code.
Amjad Ouled-Ameur (1):
configs: dra7xx_evm: Increase the size of SPL_MULTI_DTB_FIT
Keerthy (10):
reset: dra7: Add a reset driver
arm: mach-omap2: load/start remoteproc IPU1/IPU2
drivers: misc: Makefile: Enable fs_loader compilation at SPL Level
linux: bitmap.h: Add find_next_zero_area function
remoteproc: uclass: Add remoteproc resource handling helpers
remoteproc: ipu: Add driver to bring up ipu
dts: dra7-ipu-common-early-boot.dtsi: Add all the ipu early boot
related nodes
arm: dts: dra7: Add ipu and related nodes
arm: dts: dra7*/am57xx-idk-evm-u-boot: Add ipu early boot DT changes
dts: am57xx*: Add ipu early boot DT changes
MAINTAINERS | 4 +
.../dts/am57xx-beagle-x15-revb1-u-boot.dtsi | 7 +
.../dts/am57xx-beagle-x15-revc-u-boot.dtsi | 7 +
arch/arm/dts/am57xx-beagle-x15-u-boot.dtsi | 7 +
arch/arm/dts/am57xx-cl-som-am57x-u-boot.dtsi | 7 +
arch/arm/dts/am57xx-idk-common-u-boot.dtsi | 1 +
arch/arm/dts/am57xx-sbc-am57x-u-boot.dtsi | 7 +
arch/arm/dts/dra7-evm-u-boot.dtsi | 1 +
arch/arm/dts/dra7-ipu-common-early-boot.dtsi | 113 +++
arch/arm/dts/dra7.dtsi | 45 +-
arch/arm/dts/dra71-evm-u-boot.dtsi | 1 +
arch/arm/dts/dra72-evm-revc-u-boot.dtsi | 1 +
arch/arm/dts/dra76-evm-u-boot.dtsi | 1 +
arch/arm/include/asm/arch-omap5/clock.h | 3 +
arch/arm/include/asm/omap_common.h | 10 +
arch/arm/mach-k3/common.c | 10 +-
arch/arm/mach-omap2/boot-common.c | 95 +++
arch/arm/mach-omap2/clocks-common.c | 33 +
arch/arm/mach-omap2/omap5/hw_data.c | 92 ++-
arch/arm/mach-omap2/omap5/prcm-regs.c | 9 +-
configs/dra7xx_evm_defconfig | 2 +-
configs/j721e_evm_r5_defconfig | 1 +
configs/j721e_hs_evm_r5_defconfig | 1 +
drivers/misc/Kconfig | 9 +
drivers/misc/Makefile | 2 +-
drivers/remoteproc/Kconfig | 10 +
drivers/remoteproc/Makefile | 1 +
drivers/remoteproc/ipu_rproc.c | 759 ++++++++++++++++++
drivers/remoteproc/rproc-uclass.c | 534 ++++++++++++
drivers/reset/Kconfig | 6 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-dra7.c | 97 +++
include/linux/bitmap.h | 26 +
include/remoteproc.h | 384 ++++++++-
34 files changed, 2269 insertions(+), 18 deletions(-)
create mode 100644 arch/arm/dts/am57xx-beagle-x15-revb1-u-boot.dtsi
create mode 100644 arch/arm/dts/am57xx-beagle-x15-revc-u-boot.dtsi
create mode 100644 arch/arm/dts/am57xx-beagle-x15-u-boot.dtsi
create mode 100644 arch/arm/dts/am57xx-cl-som-am57x-u-boot.dtsi
create mode 100644 arch/arm/dts/am57xx-sbc-am57x-u-boot.dtsi
create mode 100644 arch/arm/dts/dra7-ipu-common-early-boot.dtsi
create mode 100644 drivers/remoteproc/ipu_rproc.c
create mode 100644 drivers/reset/reset-dra7.c
--
2.25.1
More information about the U-Boot
mailing list