All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/11] dra7: bring up and support IPU load/start
@ 2022-01-18 10:12 Amjad Ouled-Ameur
  2022-01-18 10:12 ` [PATCH v3 01/11] configs: dra7xx_evm: Increase the size of SPL_MULTI_DTB_FIT Amjad Ouled-Ameur
                   ` (10 more replies)
  0 siblings, 11 replies; 15+ messages in thread
From: Amjad Ouled-Ameur @ 2022-01-18 10:12 UTC (permalink / raw)
  To: u-boot
  Cc: khilman, Amjad Ouled-Ameur, Andrew F. Davis, Asherah Connor,
	Bin Meng, Chia-Wei, Wang, Green Wan, Igor Opaniuk, Keerthy,
	Leo Yu-Chi Liang, Lokesh Vutla, Michael Scott, Michal Simek,
	Murali Karicheri, Patrick Delaunay, Peng Fan, Roger Quadros,
	Ryan Chen, Simon Glass, Suman Anna, Tom Rini, Wasim Khan,
	Wolfgang Denk, Ye Li

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@58820000' type:'internal memory mapped'
  - 1 - Name:'ipu@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


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2022-01-27 15:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-18 10:12 [PATCH v3 00/11] dra7: bring up and support IPU load/start Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 01/11] configs: dra7xx_evm: Increase the size of SPL_MULTI_DTB_FIT Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 02/11] reset: dra7: Add a reset driver Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 03/11] arm: mach-omap2: load/start remoteproc IPU1/IPU2 Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 04/11] drivers: misc: Makefile: Enable fs_loader compilation at SPL Level Amjad Ouled-Ameur
2022-01-26  3:37   ` Tom Rini
2022-01-27 12:18     ` Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 05/11] linux: bitmap.h: Add find_next_zero_area function Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 06/11] remoteproc: uclass: Add remoteproc resource handling helpers Amjad Ouled-Ameur
2022-01-27 15:05   ` Simon Glass
2022-01-18 10:12 ` [PATCH v3 07/11] remoteproc: ipu: Add driver to bring up ipu Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 08/11] dts: dra7-ipu-common-early-boot.dtsi: Add all the ipu early boot related nodes Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 09/11] arm: dts: dra7: Add ipu and " Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 10/11] arm: dts: dra7*/am57xx-idk-evm-u-boot: Add ipu early boot DT changes Amjad Ouled-Ameur
2022-01-18 10:12 ` [PATCH v3 11/11] dts: am57xx*: " Amjad Ouled-Ameur

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.