
On 10/9/23 18:46, Paul Barker wrote:
The Renesas RZ/G2L SMARC Evaluation Board Kit consists of the RZ/G2L System-on-Module (SOM) based on the R9A07G044L2 SoC, and a common SMARC carrier board.
The ARM TrustedFirmware code for the Renesas RZ/G2L SoC family passes a devicetree blob to the bootloader as an argument in the same was previous R-Car gen3/gen4 SoCs. This blob contains a compatible string which can be used to identify the particular SoC we are running on and this is used to select the appropriate device tree to load.
The configuration renesas_rzg2l_smarc_defconfig is added to support building for this target. In the future this defconfig will be extended to support other SoCs and evaluation boards from the RZ/G2L family.
Signed-off-by: Paul Barker paul.barker.ct@bp.renesas.com Reviewed-by: Biju Das biju.das.jz@bp.renesas.com Reviewed-by: Lad Prabhakar prabhakar.mahadev-lad.rj@bp.renesas.com
v1->v2:
- Move dram_init() & dram_init_banksize() to memmap-rzg2l.c
- Add a TODO note for reset support.
arch/arm/mach-rmobile/Kconfig.rzg2l | 14 ++++++ arch/arm/mach-rmobile/memmap-rzg2l.c | 12 +++++ board/renesas/rzg2l/Kconfig | 18 +++++++ board/renesas/rzg2l/MAINTAINERS | 6 +++ board/renesas/rzg2l/Makefile | 4 ++ board/renesas/rzg2l/rzg2l.c | 67 +++++++++++++++++++++++++++ configs/renesas_rzg2l_smarc_defconfig | 52 +++++++++++++++++++++ include/configs/rzg2l-smarc.h | 14 ++++++ 8 files changed, 187 insertions(+) create mode 100644 board/renesas/rzg2l/Kconfig create mode 100644 board/renesas/rzg2l/MAINTAINERS create mode 100644 board/renesas/rzg2l/Makefile create mode 100644 board/renesas/rzg2l/rzg2l.c create mode 100644 configs/renesas_rzg2l_smarc_defconfig create mode 100644 include/configs/rzg2l-smarc.h
diff --git a/arch/arm/mach-rmobile/Kconfig.rzg2l b/arch/arm/mach-rmobile/Kconfig.rzg2l index 039d6b0a45aa..dc30bdf3e5c2 100644 --- a/arch/arm/mach-rmobile/Kconfig.rzg2l +++ b/arch/arm/mach-rmobile/Kconfig.rzg2l @@ -9,6 +9,20 @@ config R9A07G044L help Enable support for the Renesas R9A07G044L (RZ/G2L) SoC.
+choice
- prompt "Renesas RZ/G2L Family Board selection"
- default TARGET_RZG2L_SMARC_EVK
+config TARGET_RZG2L_SMARC_EVK
- bool "Renesas RZ/G2L SMARC EVK"
- imply R9A07G044L
- help
Enable support for the RZ/G2L SMARC evaluation board.
+source "board/renesas/rzg2l/Kconfig"
+endchoice
- config MULTI_DTB_FIT_UNCOMPRESS_SZ default 0x80000 if TARGET_RZG2L_SMARC_EVK
diff --git a/arch/arm/mach-rmobile/memmap-rzg2l.c b/arch/arm/mach-rmobile/memmap-rzg2l.c index d0509424fb73..a08d0ea08fc0 100644 --- a/arch/arm/mach-rmobile/memmap-rzg2l.c +++ b/arch/arm/mach-rmobile/memmap-rzg2l.c @@ -113,3 +113,15 @@ void enable_caches(void)
dcache_enable(); }
+int dram_init(void) +{
- return fdtdec_setup_mem_size_base();
+}
+int dram_init_banksize(void) +{
- fdtdec_setup_memory_banksize();
- return 0;
+}
You could add this piece ^ in patch 17/19 already.
[...]
diff --git a/board/renesas/rzg2l/rzg2l.c b/board/renesas/rzg2l/rzg2l.c new file mode 100644 index 000000000000..5b919f0b495a
[...]
+int ft_board_setup(void *blob, struct bd_info *bd) +{
- return 0;
+}
+int __weak board_init(void)
This one shouldn't be __weak anymore, DTTO for the reset_cpu(). The board specific functions are the final ones.
+{
- return 0;
+}
+void __weak reset_cpu(void) +{
- /*
* TODO: Implement reset support once TrustedFirmware supports
* the appropriate call.
*/
+}
[...]