From: Amjad Ouled-Ameur <aouledameur@baylibre.com>
To: u-boot@lists.denx.de
Cc: khilman@baylibre.com,
Amjad Ouled-Ameur <aouledameur@baylibre.com>,
"Andrew F. Davis" <afd@ti.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Asherah Connor <ashe@kivikakk.ee>,
Aswath Govindraju <a-govindraju@ti.com>,
Bin Meng <bmeng.cn@gmail.com>,
"Chia-Wei, Wang" <chiawei_wang@aspeedtech.com>,
Faiz Abbas <faiz_abbas@ti.com>, Green Wan <green.wan@sifive.com>,
Heiko Schocher <hs@denx.de>,
Igor Opaniuk <igor.opaniuk@foundries.io>,
Keerthy <j-keerthy@ti.com>, Lokesh Vutla <lokeshvutla@ti.com>,
Michal Simek <michal.simek@xilinx.com>,
Murali Karicheri <m-karicheri2@ti.com>,
Patrick Delaunay <patrick.delaunay@foss.st.com>,
Pratyush Yadav <p.yadav@ti.com>, Roger Quadros <rogerq@ti.com>,
Ryan Chen <ryan_chen@aspeedtech.com>,
Simon Glass <sjg@chromium.org>, Suman Anna <s-anna@ti.com>,
Tero Kristo <t-kristo@ti.com>, Tom Rini <trini@konsulko.com>,
Wasim Khan <wasim.khan@nxp.com>, Ye Li <ye.li@nxp.com>
Subject: [PATCH v2 00/10] dra7: bring up and support IPU load/start
Date: Thu, 30 Sep 2021 18:21:01 +0200 [thread overview]
Message-ID: <20210930162111.37566-1-aouledameur@baylibre.com> (raw)
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 v2:
- Add useful checks and remove redundant code.
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/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 | 532 ++++++++++++
drivers/reset/Kconfig | 6 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-dra7.c | 97 +++
include/linux/bitmap.h | 26 +
include/remoteproc.h | 384 ++++++++-
33 files changed, 2266 insertions(+), 17 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
next reply other threads:[~2021-09-30 16:21 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-30 16:21 Amjad Ouled-Ameur [this message]
2021-09-30 16:21 ` [PATCH v2 01/10] reset: dra7: Add a reset driver Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 02/10] arm: mach-omap2: load/start remoteproc IPU1/IPU2 Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 03/10] drivers: misc: Makefile: Enable fs_loader compilation at SPL Level Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 04/10] linux: bitmap.h: Add find_next_zero_area function Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 05/10] remoteproc: uclass: Add remoteproc resource handling helpers Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 06/10] remoteproc: ipu: Add driver to bring up ipu Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 07/10] dts: dra7-ipu-common-early-boot.dtsi: Add all the ipu early boot related nodes Amjad Ouled-Ameur
2021-10-11 18:59 ` Tom Rini
2022-01-05 11:42 ` Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 08/10] arm: dts: dra7: Add ipu and " Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 09/10] arm: dts: dra7*/am57xx-idk-evm-u-boot: Add ipu early boot DT changes Amjad Ouled-Ameur
2021-09-30 16:21 ` [PATCH v2 10/10] dts: am57xx*: " Amjad Ouled-Ameur
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210930162111.37566-1-aouledameur@baylibre.com \
--to=aouledameur@baylibre.com \
--cc=a-govindraju@ti.com \
--cc=afd@ti.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ashe@kivikakk.ee \
--cc=bmeng.cn@gmail.com \
--cc=chiawei_wang@aspeedtech.com \
--cc=faiz_abbas@ti.com \
--cc=green.wan@sifive.com \
--cc=hs@denx.de \
--cc=igor.opaniuk@foundries.io \
--cc=j-keerthy@ti.com \
--cc=khilman@baylibre.com \
--cc=lokeshvutla@ti.com \
--cc=m-karicheri2@ti.com \
--cc=michal.simek@xilinx.com \
--cc=p.yadav@ti.com \
--cc=patrick.delaunay@foss.st.com \
--cc=rogerq@ti.com \
--cc=ryan_chen@aspeedtech.com \
--cc=s-anna@ti.com \
--cc=sjg@chromium.org \
--cc=t-kristo@ti.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=wasim.khan@nxp.com \
--cc=ye.li@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).