mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-05-04 20:26:13 +02:00
board: rzg2l: Add RZ/G2L SMARC EVK board
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> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
This commit is contained in:
parent
e3e01a6f94
commit
4e65545f7a
@ -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
|
||||
|
||||
|
||||
18
board/renesas/rzg2l/Kconfig
Normal file
18
board/renesas/rzg2l/Kconfig
Normal file
@ -0,0 +1,18 @@
|
||||
# Copyright (C) 2023 Renesas Electronics Corporation
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
if TARGET_RZG2L_SMARC_EVK
|
||||
|
||||
config SYS_SOC
|
||||
default "rmobile"
|
||||
|
||||
config SYS_BOARD
|
||||
default "rzg2l"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "renesas"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "rzg2l-smarc"
|
||||
|
||||
endif
|
||||
6
board/renesas/rzg2l/MAINTAINERS
Normal file
6
board/renesas/rzg2l/MAINTAINERS
Normal file
@ -0,0 +1,6 @@
|
||||
RENESAS RZG2L BOARD FAMILY
|
||||
M: Paul Barker <paul.barker.ct@bp.renesas.com>
|
||||
S: Supported
|
||||
F: arch/arm/dts/rz-smarc-common.dtsi
|
||||
N: rzg2l
|
||||
N: r9a07g044
|
||||
4
board/renesas/rzg2l/Makefile
Normal file
4
board/renesas/rzg2l/Makefile
Normal file
@ -0,0 +1,4 @@
|
||||
# Copyright (C) 2023 Renesas Electronics Corporation
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
obj-y := rzg2l.o
|
||||
67
board/renesas/rzg2l/rzg2l.c
Normal file
67
board/renesas/rzg2l/rzg2l.c
Normal file
@ -0,0 +1,67 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* RZ/G2L board support.
|
||||
* Copyright (C) 2023 Renesas Electronics Corporation
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <fdtdec.h>
|
||||
#include <linux/libfdt.h>
|
||||
|
||||
#if IS_ENABLED(CONFIG_MULTI_DTB_FIT)
|
||||
/* If the firmware passed a device tree, use it for board identification. */
|
||||
extern u64 rcar_atf_boot_args[];
|
||||
|
||||
static bool is_rzg2l_board(const char *board_name)
|
||||
{
|
||||
void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
|
||||
|
||||
return fdt_node_check_compatible(atf_fdt_blob, 0, board_name) == 0;
|
||||
}
|
||||
|
||||
int board_fit_config_name_match(const char *name)
|
||||
{
|
||||
void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
|
||||
|
||||
if (fdt_magic(atf_fdt_blob) != FDT_MAGIC)
|
||||
return -1;
|
||||
|
||||
if (is_rzg2l_board("renesas,r9a07g044l2"))
|
||||
return strcmp(name, "r9a07g044l2-smarc");
|
||||
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void apply_atf_overlay(void *fdt_blob)
|
||||
{
|
||||
void *atf_fdt_blob = (void *)(rcar_atf_boot_args[1]);
|
||||
|
||||
if (fdt_magic(atf_fdt_blob) == FDT_MAGIC)
|
||||
fdt_overlay_apply_node(fdt_blob, 0, atf_fdt_blob, 0);
|
||||
}
|
||||
|
||||
int fdtdec_board_setup(const void *fdt_blob)
|
||||
{
|
||||
apply_atf_overlay((void *)fdt_blob);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int board_init(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void reset_cpu(void)
|
||||
{
|
||||
/*
|
||||
* TODO: Implement reset support once TrustedFirmware supports
|
||||
* the appropriate call.
|
||||
*/
|
||||
}
|
||||
52
configs/renesas_rzg2l_smarc_defconfig
Normal file
52
configs/renesas_rzg2l_smarc_defconfig
Normal file
@ -0,0 +1,52 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_COUNTER_FREQUENCY=16666666
|
||||
CONFIG_SYS_INIT_SP_BSS_OFFSET=1048576
|
||||
CONFIG_ARCH_CPU_INIT=y
|
||||
CONFIG_ARCH_RMOBILE=y
|
||||
CONFIG_TEXT_BASE=0x50000000
|
||||
CONFIG_SYS_MALLOC_LEN=0x4000000
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x80000
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xFFFE0000
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="r9a07g044l2-smarc"
|
||||
CONFIG_RZG2L=y
|
||||
CONFIG_SYS_MONITOR_LEN=1048576
|
||||
CONFIG_SYS_LOAD_ADDR=0x58000000
|
||||
CONFIG_REMAKE_ELF=y
|
||||
CONFIG_FIT=y
|
||||
CONFIG_SUPPORT_RAW_INITRD=y
|
||||
CONFIG_USE_BOOTARGS=y
|
||||
# CONFIG_BOARD_EARLY_INIT_F is not set
|
||||
CONFIG_SYS_MALLOC_BOOTPARAMS=y
|
||||
CONFIG_HUSH_PARSER=y
|
||||
CONFIG_SYS_MAXARGS=64
|
||||
CONFIG_SYS_PBSIZE=2068
|
||||
CONFIG_CMD_CLK=y
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_PART=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
CONFIG_CMD_EXT4=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_FAT=y
|
||||
CONFIG_CMD_FS_GENERIC=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_MULTI_DTB_FIT_LZO=y
|
||||
CONFIG_MULTI_DTB_FIT_USER_DEFINED_AREA=y
|
||||
CONFIG_ENV_OVERWRITE=y
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SYS_MMC_ENV_PART=2
|
||||
CONFIG_VERSION_VARIABLE=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_CLK=y
|
||||
CONFIG_CLK_RENESAS=y
|
||||
# CONFIG_CLK_RCAR_GEN3 is not set
|
||||
CONFIG_GPIO_HOG=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_DM_REGULATOR=y
|
||||
CONFIG_DM_REGULATOR_FIXED=y
|
||||
CONFIG_DM_REGULATOR_GPIO=y
|
||||
14
include/configs/rzg2l-smarc.h
Normal file
14
include/configs/rzg2l-smarc.h
Normal file
@ -0,0 +1,14 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright (C) 2023 Renesas Electronics Corporation
|
||||
*/
|
||||
|
||||
#ifndef __RENESAS_RZG2L_H
|
||||
#define __RENESAS_RZG2L_H
|
||||
|
||||
#include <asm/arch/rmobile.h>
|
||||
|
||||
/* console */
|
||||
#define CFG_SYS_BAUDRATE_TABLE { 115200, 38400 }
|
||||
|
||||
#endif /* __RENESAS_RZG2L_H */
|
||||
Loading…
x
Reference in New Issue
Block a user