summaryrefslogtreecommitdiff
path: root/board/renesas/common
AgeCommit message (Collapse)Author
2026-04-08arm64: renesas: Make R-Car board code 32-bit ARMv8-M compatibleMarek Vasut
The 64-bit R-Car board code is currently unbuildable on 32-bit ARM cores. Skip DRAM initialization bits to make the code compatible with these cores, because those cores do not use the DRAM, they only use SRAM. Signed-off-by: Marek Vasut <[email protected]>
2026-04-08arm: renesas: Use stock lowlevel_init function and remove s_initMarek Vasut
Replace s_init() early initialization at the end of lowlevel_init by invoking the same code in mach_cpu_init(). The mach_cpu_init() is called a bit later, but as the code initializes timer and no code uses timer until mach_cpu_init(), this does not pose a problem. Signed-off-by: Marek Vasut <[email protected]>
2026-02-17treewide: Clean up DECLARE_GLOBAL_DATA_PTR usagePeng Fan
Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and drop the unnecessary inclusion of asm/global_data.h. Headers should be included directly by the files that need them, rather than indirectly via global_data.h. Reviewed-by: Patrice Chotard <[email protected]> #STMicroelectronics boards and STM32MP1 ram test driver Tested-by: Anshul Dalal <[email protected]> #TI boards Acked-by: Yao Zi <[email protected]> #TH1520 Signed-off-by: Peng Fan <[email protected]>
2026-02-17renesas: common: Include asm-generic/u-boot.hPeng Fan
struct bd_info is defined in asm-generic/u-boot.h. Include it to avoid building error after asm/global_data.h are removed from this file. Signed-off-by: Peng Fan <[email protected]>
2025-12-03arm64: dts: renesas: Add Renesas R-Car X5H R8A78000 Ironhide board codeHai Pham
Add initial support for Renesas R-Car X5H R8A78000 Ironhide board. This consists mainly of DTs, Makefile and Kconfig entries and board specific configuration files. The DTs will be gradually switched over to Linux DTs via OF_UPSTREAM once Linux DTs become available upstream, as upstreaming progresses. Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-11-06arm64: renesas: Use reset macro from common headerHai Pham
Clean up to avoid more reset macro duplication. Signed-off-by: Hai Pham <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-07-10ARM: renesas: Put common r7s72100 code in board/renesas/commonMagnus Damm
Break out SoC specific code from the GR-Peach board and put it into the board/renesas/common directory so it can be easily shared between the GR-Peach and Genmai boards. Signed-off-by: Magnus Damm <[email protected]>
2025-06-16Merge tag 'u-boot-dfu-next-20250616' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-next-20250616 CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/26704 Usb gadget: - Fix ti_musb driver in gadget mode (with DM_USB_GADGET) DFU: - mmc/scsi backends when using 10 or more partitions
2025-06-13spl: Rename jump_to_image_no_args()Simon Glass
This function is currently a misnomer at times as we have cases where it passes arguments to the image. In preparation for making that be a more common case rename this function to jump_to_image(...). In order to do this, rename jump_to_image in board_init_r(...) to jumper so that we do not have a conflict. Signed-off-by: Simon Glass <[email protected]> [trini: Reword the commit message, adding missing cases of jump_to_image_no_args()] Signed-off-by: Tom Rini <[email protected]>
2025-06-10arm64: renesas: Introduce renesas_dram_init_banksize()Marek Vasut
Introduce weak renesas_dram_init_banksize() function which is meant to be used to adjust DRAM bank sizes after the common Renesas board DRAM bank handling code finished. This is mainly meant for boards which ship with multiple DRAM size options, which can be detected at runtime. This allows such boards to ship with single U-Boot binary on all boards. Signed-off-by: Marek Vasut <[email protected]>
2025-03-16arm64: renesas: Drop stale R-Car V4H SPL implementation descriptionMarek Vasut
The R-Car V4H SPL implementation was originally running on the Cortex-R52 core, but this is no longer the case. Majority of the SPL now runs on the Cortex-A76 core. Drop the stale description. Fixes: ec53fdee5bec ("arm64: renesas: Add Renesas R-Car V4H SPL implementation") Signed-off-by: Marek Vasut <[email protected]>
2025-03-16ARM: renesas: Drop stale common Makefile descriptionMarek Vasut
Remove stale Makefile description, this used to be valid for the original Makefile from which the common Makefile was made generic, but is no longer applicable to the common Makefile. Fixes: c7d2d7f90a91 ("ARM: renesas: Simplify board Makefiles") Signed-off-by: Marek Vasut <[email protected]>
2025-03-16arm64: renesas: Add TFA BL31 handoff support on Renesas R-Car Gen4Marek Vasut
Implement custom U_BOOT_FIT_LOADABLE_HANDLER and armv8_switch_to_el2_prep() handling in case the TFA was loaded. The loadables handler sets up custom handoff structure used by Renesas TFA fork in fixed location in DRAM and indicates the TFA has been loaded. The custom armv8_switch_to_el2_prep() handling tests whether the TFA BL31 was previously loaded and the custom handoff structure was set up, and if so, jumps to TFA BL31 which switches from EL3 to EL2 and then returns to U-Boot just past bl in armv8_switch_to_el2() to finish starting the Linux kernel. The jump to Linux through TFA works in such a way that the custom armv8_switch_to_el2_prep() handler configures the custom handoff structure such that the target jump address of the TFA BL31 on exit is set to the armv8_switch_to_el2() + 4, which is just past the bl, and just before the U-Boot code which implements the Linux kernel boot from either EL. The registers passed through the TFA BL31 are all the registers passed into armv8_switch_to_el2_prep() to assure maximum compatibility with all the boot modes. The armv8_switch_to_el2_prep() handler jumps to the TFA BL31, which does its setup, drops EL from EL3 to EL2 and finally jumps to the armv8_switch_to_el2() + 4 entry point, which then allows U-Boot to boot the Linux kernel the usual way. In order to build suitable kernel fitImage, build TFA first, upstream is currently under review: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/35799 Or if necessary, downstream repository: remote: https://github.com/renesas-rcar/arm-trusted-firmware.git branch: rcar_gen4_v2.7_v4x ``` $ git clean -fqdx $ MBEDTLS_DIR=/path/to/mbedtls/ make -j$(nproc) bl31 \ PLAT=rcar_gen4 ARCH=aarch64 LSI=V4H SPD=none \ CTX_INCLUDE_AARCH32_REGS=0 MBEDTLS_COMMON_MK=1 \ PTP_NONSECURE_ACCESS=1 LOG_LEVEL=20 DEBUG=0 \ ENABLE_ASSERTIONS=0 E=0 ``` Build Linux kernel Image and device tree from current mainline Linux kernel repository, obtain 'Image' and 'r8a779g0-white-hawk.dtb' . Bundle the files together using provided fit-image.its fitImage description: ``` $ mkimage -f fit-image.its fitImage ``` To start the kernel fiImage generated in previous step, load fitImage to DRAM and use the 'bootm' command to start it: => load 0x58000000 ... fitImage && bootm 0x58000000 Signed-off-by: Marek Vasut <[email protected]>
2025-01-29arm64: renesas: Deduplicate R-Car Gen3 and Gen4 SPLMarek Vasut
Move R-Car Gen3 and Gen4 jump_to_image_no_args() into dedicated rcar64-spl.c file. The implementation of jump_to_image_no_args() is identical. No functional change. Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-01-29arm64: renesas: Deduplicate board_early_init_f()Marek Vasut
Introduce common weak board_early_init_f() in rcar64-common.c which is the default implementation in case there is no other board specific board_early_init_f(). Remove board_early_init_f() from Salvator-X, ULCB and Draak boards where this function is empty. Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-01-29ARM: renesas: Rename common/common.c to common/rcar64-common.cMarek Vasut
The common.c content is specific to 64-bit R-Car SoCs, rename the file to rcar64-common.c and remove R-Car 64-bit ifdeffery in the file. No functional change. Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-01-29ARM: renesas: Simplify board MakefilesMarek Vasut
Introduce board/renesas/common/Makefile and remove the multiple duplicate copies of obj := ../common/*.o from board Makefiles. Let the build system include the common Makefile using the HAVE_VENDOR_COMMON_LIB and build the common objects that are shared by all the boards that way. No functional change intended. Some of the remaining board files which include board specific settings have been updated to use obj-y += to avoid rewriting the board obj-y target and avoid dropping object files from the build. The board/renesas/common/Makefile is now also used when building RZG2L targets which also set CONFIG_RCAR_64 symbol and 32bit R-Car Gen2 targets, however, this common code is specific to 64bit R-Car only. Inhibit the build of this common code for RZG2L using extra ifndef CONFIG_RZG2L and do not include any code for R-Car Gen2 so far. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-01-29ARM: renesas: Rename board/renesas/rcar-common to board/renesas/commonMarek Vasut
Rename directory board/renesas/rcar-common to board/renesas/common and move files. This allows the build system to use HAVE_VENDOR_COMMON_LIB which automatically includes board/$(VENDOR)/common/Makefile . Create temporarily empty board/renesas/common/Makefile to be extended with actual content later in this series. This is a preparatory patch for board Makefile simplification. No functional change so far. Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Marek Vasut <[email protected]>