Commit Graph
102648 Commits
Author SHA1 Message Date
Marek Vasut 401bcde3c1 net: rswitch: Inline FWRO, CARO, GWRO, TARO, RMRO macros
Inline FWRO, CARO, GWRO, TARO, RMRO macros directly into the
follow up register macros. FWRO, CARO, GWRO, TARO are already
zero, drop them. RMRO is 0x1000, increment all registers which
add RMRO by 0x1000 directly. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Marek Vasut 7f7cd08370 net: rswitch: Parametrize forwarding engine CSD register offset
The forwarding engine CSD register offset changed between the
R-Car S4 and R-Car X5H. Parametrize this offset in preparation
for R-Car X5H addition into this driver. Clean up the macro
parameter names and make them more obvious. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Marek Vasut a9d0819774 net: rswitch: Parametrize port count
The total port counts differ across variants of this IP in
R-Car S4 and R-Car X5H. Parametrize port count in preparation
for R-Car X5H addition into this driver. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Marek Vasut c75eb213f6 net: rswitch: Parametize COMA, ETHA, GWCA offsets
The COMA, ETHA, GWCA offsets differ across variants of this IP in
R-Car S4 and R-Car X5H. Parametrize these offsets in preparation
for R-Car X5H addition into this driver. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Marek Vasut af76474fd4 net: rswitch: Add support for split MII and SerDes
This IP does support operating MII and SerDes via different ports.
Currently, the driver assumes that MII and SerDes are always bound
together on the same port, but this may not be the case. Implement
support for controlling MII and SerDes separately.

While the change is extensive, the gist of the change is to pass
pointer to the selected port registers to MII or SerDes functions,
depending on which port and operations should be done on that port.
Each combined ETHA instance contains both MII and SerDes register
pointers, which may not point to the same port, and passes those
registers to MII and SerDes functions respectively to control the
MII or SerDes of each port.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Marek Vasut a8a97474fd net: rswitch: Use bulk clock operations
The new version of RSwitch3 in Renesas R-Car Gen5 uses multiple
clock to supply the IP. Convert the driver to bulk clock API to
cater for both single clock of R-Car S4 and multiple clock of
R-Car Gen5. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Marek Vasut e9e597bc73 net: rswitch: Initialize RX DMA descriptor .die_dt field to DT_FEMPTY
Empty RX DMA descriptor must contain .die_dt field set to DT_FEMPTY,
because hardware DMA overwrites this field to non-DT_FEMPTY when data
are received, and the .recv callback tests the content of RX descriptor
.die_dt field to determine whether hardware did receive any data and
updated the .die_dt field, and based on that information, receives a
packet or not. Fix the incorrect RX DMA descriptor initialization to
assure the .recv callback always works correctly.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Marek Vasut 482606d18c net: rswitch: Drop unused macros
Remove macros which are not used in the driver. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Marek Vasut 1b738947e3 net: rswitch: Switch indent from spaces to tabs
Fix indent from multiple spaces to tabs, to be consistent with
coding style and the rest of the driver. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2025-11-06 20:08:37 +01:00
Prasad KaleandTom Rini c488907f91 Invalidate cached FAT device upon boot error
When spl boot device list has multiple FAT devices, any previousely
registered FAT device should be deregistered before registering
next FAT boot device, otherwise the function may not attempt boot
from next FAT device.One of the situations where this issue can be
observed is when the boot device list has two FAT partitions of a
memory device and if booting fails on first partition (because of
file or partition related errors), boot from next partition actually
gets attempted on previous boot device only, as the previous device
has remained marked as registered. Call the function that invalidates
cached boot device in case of failure in booting from current FAT
boot device.

Signed-off-by: Prasad Kale <prasad.kale@live.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Sean Anderson <seanga2@gmail.com>
2025-11-06 08:31:34 -06:00
Jan KiszkaandTom Rini 77905c333e tools: key2dtsi: Write out modulus and r-squared with the correct length
Align the implementation to rsa_add_verify_data() by writing the modulus
and r-squared properties with the same length as the key itself. This
fixes signature verification issues when one of the parameters has
leading zeros.

Reported-by: Hans Gfirtner (Nokia) <hans.gfirtner@nokia.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2025-11-06 08:31:25 -06:00
Michael WalleandTom Rini 52442205d3 common/spl: fix endless loop in spl_fit_append_fdt()
Technically, commit 24bf44cf88 ("spl: fit: Do not fail immediately if
an overlay is not available") introduced that regression as the code
will never advance if spl_fit_get_image_name() will return an error. But
at that time, spl_fit_get_image_node() was used in spl_fit_append_fdt()
which calls fdt_subnode_offset() to get the image node. And I presume
the commit was about the latter failing gracefully and trying the next
one.

But with commit b13eaf3bb4 ("spl: fit: Add board level function to
decide application of DTO") that behavior changed and the loop in
spl_fit_append_fdt() no longer uses spl_fit_get_image_node() but
spl_fit_get_image_name() directly. Thus it doesn't make any sense to not
break the loop if that fails.

Also, the original use case of commit 24bf44cf88 ("spl: fit: Do not
fail immediately if an overlay is not available") is preserved because
spl_subnode_offset() is now called within the loop and errors are
handled gracefully (and advancing the index).

Fixes: b13eaf3bb4 ("spl: fit: Add board level function to decide application of DTO")
Signed-off-by: Michael Walle <mwalle@kernel.org>
2025-11-06 08:31:14 -06:00
Heinrich SchuchardtandTom Rini b790f31752 acpi: use U-Boot ACPI vendor ID
The U-Boot project has been assigned the vendor ID 'UBOO' [1]. Use this
vendor ID and our release version in the ACPI table headers.

[1] ACPI ID Registry
    https://uefi.org/ACPI_ID_List

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2025-11-06 08:30:33 -06:00
Tom Rini 59f6025e5a Azure: Ensure we do a shallow git clone
In Azure, older pipelines such as ours do not default to a shallow fetch
but rather do a complete clone. This introduces a marginal time increase
in each task, but also more importantly takes up significant disk space.
We are now getting warnings in some cases about using more than 95% of
our available disk space so take this as a first easy step to resolve
that problem.

Signed-off-by: Tom Rini <trini@konsulko.com>
2025-11-06 08:30:00 -06:00
Jonas KarlmanandTom Rini 32ead3c1ba Revert "power: regulator: Add vin-supply for GPIO and Fixed regulators"
Rockchip boards may depend on a working MMC regulator in SPL to
successfully load FIT payload from MMC. Typically, these boards only
include the vmmc-supply regulator and not its vin-supply in SPL control
FDT.

The commit f98d812e53 ("power: regulator: Add vin-supply for GPIO and
Fixed regulators") breaks loading FIT from MMC in SPL on some of these
boards due to now requiring the vin-supply to be included in the SPL
control FDT.

The commit also strangely enables any found vin-supply in
regulator_common_of_to_plat() and not when a regulator is enabled or as
part of regulator_autoset().

Revert the commit to fix FIT loading in SPL on broken boards.

If a board needs to have its vin-supply enabled, two options come to
mind:

- Add regulator-always-on prop to the regulator in the -u-boot.dtsi for
  any board.

- Implement full support for reference counting of regulators and then
  update the regulator-uclass to enable any found vin-supply when a
  regulator is enabled.

This reverts commit f98d812e53.

Reported-by: Dang Huynh <danct12@riseup.net>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
2025-11-06 08:20:53 -06:00
Wolfgang WallnerandTom Rini 854901ccd4 gpio: Return -ENODEV if gpio_hog_lookup_name() is empty
If CONFIG_GPIO_HOG is not set, then gpio_hog_lookup_name() is empty,
and thus does not initialize any of its parameters. It does still
return 0 though, and so any calling function might assume that the
parameters have been initialized successfully.

Change the return value to -ENODEV in this case, as the function
would in the case when CONFIG_GPIO_HOG is set but the gpio hog
could not be found.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
2025-11-06 08:20:22 -06:00
Kaustabh ChakrabortyandTom Rini c9b43591ea armv8: implement workaround for broken CNTFRQ_EL0 value
In devices where the U-Boot is used as a secondary bootloader, we rely
on the device's primary bootloader to implement CNTFRQ_EL0. However,
this reliance may lead to a non-functional timer in broken firmware.

For instance, some versions of Samsung's S-Boot don't implement it. It's
also not possible to set it in the U-Boot, because it's booted in a lower
exception level. CNTFRQ_EL0 is reported to be 0.

Use gd->arch.timer_rate_hz to override the queried value if set. This
setting needs to be done in the board file, preferrably in timer_init().
This feature is present only when the CONFIG_ARMV8_CNTFRQ_BROKEN is
enabled.

Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
2025-11-06 08:19:19 -06:00
Tom Rini 1c250e444a Merge tag 'u-boot-imx-master-20251104' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/28144

- Extend USB support for the i.MX9 family.
- Update memory controller for imx6ulz_smm_m2.
- Add remoteproc support for several i.MX boards.
- Add support for iMX95 15x15 EVK.
2025-11-04 13:06:26 -06:00
Tom Rini ef34776f21 Gitlab: Drop vexpress_fvp from tests
Now that we have a test for QEMU using transfer list from the previous
stage, there are two platforms testing this particular infrastructure. A
problem with the vexpress_fvp platform emulation in Gitlab is that we
often run it on hosts that are fast enough that we run in to a race
condition when trying to acquire the console and the test fails. Remove
both vexpress_fvp tests from Gitlab (they can remain in Azure) to remove
these spurious failures.

Signed-off-by: Tom Rini <trini@konsulko.com>
2025-11-04 11:34:57 -06:00
Tom Rini 8b7295f352 CI: Move to Ubuntu 'Jammy' 20251001 tag
This also incorporates the following commits to the Dockerfile:
da7942de29 Dockerfile: remove Python 2.7
183299d9a4 docker: add OP-TEE and TF-A build for testing Firmware Handoff

Signed-off-by: Tom Rini <trini@konsulko.com>
2025-11-04 11:33:41 -06:00
Heinrich SchuchardtandTom Rini da7942de29 Dockerfile: remove Python 2.7
We don't use Python 2 anywhere. Remove the package from our Docker image.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2025-11-04 11:01:54 -06:00
Tom Rini 7babc31ddf Merge patch series "Enable Firmware Handoff CI test on qemu_arm64"
Raymond Mao <raymond.mao@linaro.org> says:

This patch series enable Firmware Handoff [1] CI tests on qemu_arm64 by:
1. fetch MbedTLS (v3.6), OP-TEE (v4.7.0) and TF-A (v2.13.0);
2. build bl1 and fip with both Firmware Handoff and Measured Boot
   enabled;
3. pytest to validate the Firmware Handoff feature via bloblist by
   checking the existence of expected FDT nodes and TPM events generated
   and handed over from TF-A/OP-TEE.

[1] https://github.com/FirmwareHandoff/firmware_handoff

Link: https://lore.kernel.org/r/20251021181703.598342-1-raymond.mao@linaro.org
2025-11-04 10:59:50 -06:00
Raymond MaoandTom Rini 915f0b232a ci: add test entries for qemu_arm64_tfa_fw_handoff
Add qemu_arm64_tfa_fw_handoff test entries to azure and gitlab
pipelines.

Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2025-11-04 10:59:41 -06:00
Raymond MaoandTom Rini 7a3fae6a49 ci: check existence of bl1 and fip in the test script
Check the existence of bl1 and fip from:
1. /opt/tf-a/${board_type}_${board_ident}, if not exist, then;
2. /opt/tf-a/${board_type}

This change allows to test with TF-A with specified board ID only.

Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
2025-11-04 10:59:41 -06:00
Raymond MaoandTom Rini 5396bf30ab configs: select CMD_BLOBLIST for Firmware Handoff testing
Firmware Handoff tests will leverage the same board type 'qemu_arm64'
with a new board ID 'fw_handoff_tfa_optee', thus select CMD_BLOBLIST
in qemu_arm64_defconfig for running the test.

Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2025-11-04 10:59:41 -06:00
Raymond MaoandTom Rini f974e9b626 pytest: add test script to validate Firmware Handoff
Add test cases to validate FDT and TPM eventlog handoff from TF-A
and OP-TEE via bloblist.

For FDT, the nodes 'reserved-memory' and 'firmware' appended by
OP-TEE indicates a successful handoff.

For TPM eventlog, the events 'SECURE_RT_EL3', 'SECURE_RT_EL1_OPTEE'
and 'SECURE_RT_EL1_OPTEE_EXTRA1' created by TF-A indicates a
successful handoff.

Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2025-11-04 10:59:41 -06:00
Raymond MaoandTom Rini 183299d9a4 docker: add OP-TEE and TF-A build for testing Firmware Handoff
Fetch OP-TEE (4.7.0), TF-A (v2.13.0), MbedTLS (v3.6) and build
bl1 and fip with both Firmware Handoff and Measured Boot enabled.

Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
2025-11-04 10:59:41 -06:00
Anshul DalalandTom Rini 45b7857d3b arm: armv8: mmu: fix mem_map_from_dram_banks
mem_map_from_dram_banks calls fdtdec_setup_memory_banksize to setup the
dram banks though that is expected to be done by dram_init_banksize as
part of board_r sequence.

This has the side effect of modifying gd->bd->bi_dram as well, therefore
this patch removes the call and updates spl_enable_cache for K3 to call
dram_init_banksize.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Reported-by: Francesco Dolcini <francesco@dolcini.it>
Closes: https://lore.kernel.org/u-boot/20251027165225.GA71553@francesco-nb/
Fixes: fe2647f2a0 ("arm: armv8: mmu: add mem_map_from_dram_banks")
Tested-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2025-11-04 10:39:06 -06:00
Ye LiandFabio Estevam 2b7892255b imx95_evk: Add basic support for iMX95 15x15 EVK
Add boot support and peripherals like eMMC/SD, UART, I2C, GPIO, ENETC0/1
and PCIE0/1 for iMX95 15x15 LPDDR4X EVK.
Updated doc for build instructions.

Signed-off-by: Ye Li <ye.li@nxp.com>
2025-11-04 12:46:28 -03:00
Ye LiandFabio Estevam 77f67808c7 arm: dts: imx95-15x15-evk: Add -u-boot.dtsi for SPL and binman
Add -u-boot.dtsi for iMX95 15x15 EVK used by SPL and binman.
iMX95 15x15 EVK uses LPDDR4X which needs dedicated DDR FW.

Signed-off-by: Ye Li <ye.li@nxp.com>
2025-11-04 12:46:28 -03:00
Ye LiandFabio Estevam 06ada9fdbf imx95_evk: Share the env file for both 19x19 EVK and 15x15 EVK
Rename the env file to imx95_evk.env to share it with iMX95 15x15 EVK

Signed-off-by: Ye Li <ye.li@nxp.com>
2025-11-04 12:46:28 -03:00
Frieder SchrempfandFabio Estevam 306c3caf81 imx: kontron-sl-mx8mm: Add support for reading HW UIDs
The factory provides a CPU UID in the OTPs and the SoM module
and the carrier board might provide additional UIDs in the GP
registers of the OTPs. Load these values in the following order
and create a serial number string:

* Board UID (GP2)
* SoM UID (GP1)
* CPU UID (UNIQUE_ID)

The string is stored in the "serial#" env variable and
exported to Linux. Further this prints the used UID to the
console which looks like this

  ID:    0042152331 (Board)

or:

  ID:    0030124840 (SoM)

or:

  ID:    4696668CD9516886 (CPU)

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2025-11-04 12:46:11 -03:00
Frieder SchrempfandFabio Estevam 5b4d3c8171 imx: kontron-sl-mx6ul: Add support for reading HW UIDs
The factory provides a CPU UID in the OTPs and the SoM module
and the carrier board might provide additional UIDs in the GP
registers of the OTPs. Load these values in the following order
and create a serial number string:

* Board UID (GP2)
* SoM UID (GP1)
* CPU UID (UNIQUE_ID)

The string is stored in the "serial#" env variable and
exported to Linux. Further this prints the used UID to the
console which looks like this

  ID:    0042152331 (Board)

or:

  ID:    0030124840 (SoM)

or:

  ID:    4696668CD9516886 (CPU)

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2025-11-04 12:46:11 -03:00
Frieder SchrempfandFabio Estevam f00b09abbf imx: kontron: Add common function to get HW UIDs from OTPs
The factory provides a CPU UID in the OTPs and the SoM module
and the carrier board might provide additional UIDs in the GP
registers of the OTPs.

Provide a common function to load UIDs from arbitrary OTP
registers and generate a serial number string that is saved
in the "serial#" env variable.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2025-11-04 12:46:10 -03:00
Frieder SchrempfandFabio Estevam 0089270b45 imx: kontron-sl-mx6ul: Enable CONFIG_BOARD_LATE_INIT to fix auto fastboot
Recently code was added in board_late_init() to autostart fastboot
in case of booting from USB OTG. This change was ineffective as
enabling CONFIG_BOARD_LATE_INIT got lost during upstreaming.

Fixes: 410d9ccc03 ("imx: kontron-sl-mx6ul: Autostart fastboot if booted from USB")
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2025-11-04 12:46:10 -03:00
Frieder SchrempfandFabio Estevam 7aa1efa622 imx: kontron-sl-mx8mm: Implement spl_board_loader_name()
This allows to print user-friendly names for the boot device
probed by SPL to the console.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2025-11-04 12:45:51 -03:00
Frieder SchrempfandFabio Estevam 0358408104 imx: kontron-sl-mx8mm: Adjust offset for U-Boot proper in case of eMMC fastboot
The image offset on SD/MMC devices is 33 KiB, except for eMMC boot if
fastboot is enabled. In this case it is 1 KiB. In order to make the
the bootloader universal, check the fastboot OTP boot fuse and adjust
the offset.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2025-11-04 12:45:51 -03:00
Peng FanandFabio Estevam 4faa1a5287 doc: cmd: Document remoteproc usage
Add documentation for rproc cmd usage.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam 1e0d22cb6b doc: board: nxp: Add remoteproc guide
Add guide on how to use the Remote Processors on i.MX8M and i.MX93.

Update MAINTAINERS to include doc/board/nxp.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam 2be8a8ce18 imx93: Enable remoteproc for i.MX93-EVK/QSB/FRDM
Select configs to enable remoteproc for i.MX93-EVK/QSB/FRDM

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam a63b3e185e imx8mq: Enable remoteproc for i.MX8MQ EVK
Select configs to enable remoteproc for i.MX8MQ EVK

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam 59e89d07fa imx8mn: Enable remoteproc for i.MX8MN EVK
Select configs to enable remoteproc for NXP i.MX8MN EVK boards

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam a3b9495d80 imx8mm: Enable remoteproc for i.MX8MM EVK
Select configs for remoteproc on i.MX8MM EVK boards

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam 4b03912b48 imx8mp: Enable remoteproc for i.MX8MP EVK
Select configs to enable remoteproc for NXP i.MX8MP EVK

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam 6fa601053d arm: dts: imx8m: Add remoteproc node
Add CM7/4 nodes for i.MX8MQ/M/N/P.

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam f53b2c19de remoteproc: imx_rproc: Add support for i.MX93 CM33
Introduce remote processor configuration for the i.MX93 Cortex-M33 core.

This patch adds:
- Address translation table (ATT) for i.MX93, including TCM
  (secure and non-secure) and DDR regions.
- A new device configuration structure `imx_rproc_cfg_imx93` using SMC
  method and ARM SMC ops.
- Device tree match entry for "fsl,imx93-cm33"

This enables remoteproc framework to properly initialize and manage the
Cortex-M33 core on i.MX93 platforms.

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam 3c2e6002f5 remoteproc: imx_rproc: Support i.MX8MQ/M
i.MX8MQ/M use MMIO based method to directly configure SRC registers
to start/stop M4.

Add mmio ops to start/stop/is_running.
Add i.MX8MQ cfg data, i.MX8MN reuses i.MX8MQ data.

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam 640fc920e2 remoteproc: Add imx_rproc driver to support NXP i.MX8MP/N
Support i.MX8MP/N with start/stop/device_to_virt/is_running/load
implemented. The device static configuration is mostly reused from
Linux Kernel with adapation to U-Boot dm_rproc_ops.
The booting method:
 - load mmc 2:2 0x90000000 /lib/firmware/imx8mp_m7_DDR_rpmsg_lite_str_echo_
   rtos.elf
 - rproc load 0 0x90000000 ${filesize}
 - rproc start 0

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Peng FanandFabio Estevam e76f9a7c97 remoteproc: Extend device_to_virt with a is_iomem parameter
Some areas needs to be initialized by using memcpy_toio and memset_io.
Following Linux Kernel commit: 40df0a91b2a5 ("remoteproc: add is_iomem to
da_to_va"), add this to U-Boot.

Reviewed-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:30 -03:00
Marek VasutandFabio Estevam 69ba006275 arm64: dts: imx8mp: Add missing LED enumerators for DH electronics i.MX8M Plus DHCOM on PDK2
The LED enumerators are missing, which prevents the LEDs from being
accurately told apart by label. Fill in the enumerators the same way
they are already present on PDK3. Put this into local DT extras until
matching kernel patch lands in Linux.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2025-11-04 12:45:03 -03:00