[PATCH v7 08/17] board: ti: j784s4: Add board support for J784S4 EVM

Nishanth Menon nm at ti.com
Wed Jan 3 18:28:42 CET 2024


On 00:45-20231220, Apurva Nandan wrote:
> Add board files for J784S4 EVM.
> 
> Signed-off-by: Hari Nagalla <hnagalla at ti.com>
> [ add env and board specific yaml files for binman ]
> Signed-off-by: Neha Malcom Francis <n-francis at ti.com>
> [ cleaned up the env files ]
> Signed-off-by: Manorit Chawdhry <m-chawdhry at ti.com>
> Signed-off-by: Dasnavis Sabiya <sabiya.d at ti.com>
> Signed-off-by: Apurva Nandan <a-nandan at ti.com>
> Reviewed-by: Tom Rini <trini at konsulko.com>
> ---
>  arch/arm/mach-k3/Kconfig        |  1 +
>  arch/arm/mach-k3/j784s4/Kconfig | 34 +++++++++++++++++++++++++++++
>  board/ti/j784s4/Kconfig         | 37 ++++++++++++++++++++++++++++++++
>  board/ti/j784s4/Makefile        |  7 ++++++
>  board/ti/j784s4/evm.c           | 38 +++++++++++++++++++++++++++++++++
>  include/configs/j784s4_evm.h    | 15 +++++++++++++
>  6 files changed, 132 insertions(+)
>  create mode 100644 arch/arm/mach-k3/j784s4/Kconfig
>  create mode 100644 board/ti/j784s4/Kconfig
>  create mode 100644 board/ti/j784s4/Makefile
>  create mode 100644 board/ti/j784s4/evm.c
>  create mode 100644 include/configs/j784s4_evm.h
> 
> diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig
> index 150d0bfa14..445b49e245 100644
> --- a/arch/arm/mach-k3/Kconfig
> +++ b/arch/arm/mach-k3/Kconfig
> @@ -157,5 +157,6 @@ source "arch/arm/mach-k3/am62x/Kconfig"
>  source "arch/arm/mach-k3/am62ax/Kconfig"
>  source "arch/arm/mach-k3/j721e/Kconfig"
>  source "arch/arm/mach-k3/j721s2/Kconfig"
> +source "arch/arm/mach-k3/j784s4/Kconfig"
>  
>  endif
> diff --git a/arch/arm/mach-k3/j784s4/Kconfig b/arch/arm/mach-k3/j784s4/Kconfig
> new file mode 100644
> index 0000000000..64ec305756
> --- /dev/null
> +++ b/arch/arm/mach-k3/j784s4/Kconfig
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +#
> +# Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> +#	Hari Nagalla <hnagalla at ti.com>
> +
> +if SOC_K3_J784S4
> +
> +choice
> +	prompt "K3 J784S4 board"
> +	optional
> +
> +config TARGET_J784S4_A72_EVM
> +	bool "TI K3 based J784S4 EVM running on A72"
> +	select ARM64
> +	select BOARD_LATE_INIT
> +	select SYS_DISABLE_DCACHE_OPS

Why disable dcache ops? I assume we do that because we are a coherent
architecture at A72 level thanks to MSMC? might be good to mention in
commit message.

> +	select BINMAN
> +
> +config TARGET_J784S4_R5_EVM
> +	bool "TI K3 based J784S4 EVM running on R5"
> +	select CPU_V7R
> +	select SYS_THUMB_BUILD
> +	select K3_LOAD_SYSFW
> +	select RAM
> +	select SPL_RAM
> +	select K3_DDRSS
> +	select BINMAN
> +	imply SYS_K3_SPL_ATF
> +
> +endchoice
> +
> +source "board/ti/j784s4/Kconfig"
> +
> +endif
> diff --git a/board/ti/j784s4/Kconfig b/board/ti/j784s4/Kconfig
> new file mode 100644
> index 0000000000..33d4770b2d
> --- /dev/null
> +++ b/board/ti/j784s4/Kconfig
> @@ -0,0 +1,37 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +#
> +# Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> +#	Hari Nagalla <hnagalla at ti.com>
> +
> +if TARGET_J784S4_A72_EVM
> +
> +config SYS_BOARD
> +       default "j784s4"
> +
> +config SYS_VENDOR
> +       default "ti"
> +
> +config SYS_CONFIG_NAME
> +       default "j784s4_evm"
> +
> +source "board/ti/common/Kconfig"
> +
> +endif
> +
> +if TARGET_J784S4_R5_EVM
> +
> +config SYS_BOARD
> +       default "j784s4"
> +
> +config SYS_VENDOR
> +       default "ti"
> +
> +config SYS_CONFIG_NAME
> +       default "j784s4_evm"
> +
> +config SPL_LDSCRIPT
> +	default "arch/arm/mach-omap2/u-boot-spl.lds"
> +
> +source "board/ti/common/Kconfig"
> +
> +endif
> diff --git a/board/ti/j784s4/Makefile b/board/ti/j784s4/Makefile
> new file mode 100644
> index 0000000000..3fc70eb8fb
> --- /dev/null
> +++ b/board/ti/j784s4/Makefile
> @@ -0,0 +1,7 @@
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +#
> +# Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> +#	Hari Nagalla <hnagalla at ti.com>
> +#
> +
> +obj-y += evm.o
> diff --git a/board/ti/j784s4/evm.c b/board/ti/j784s4/evm.c
> new file mode 100644
> index 0000000000..4857c9d2f6
> --- /dev/null
> +++ b/board/ti/j784s4/evm.c
> @@ -0,0 +1,38 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +/*
> + * Board specific initialization for J784S4 EVM
> + *
> + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
> + *	Hari Nagalla <hnagalla at ti.com>
> + *
> + */
> +
> +#include <image.h>
> +#include <init.h>
> +#include <spl.h>
> +
> +DECLARE_GLOBAL_DATA_PTR;
> +
> +int board_init(void)
> +{
> +	return 0;
> +}
> +
> +int dram_init(void)
> +{
> +	return fdtdec_setup_mem_size_base();
> +}
> +
> +int dram_init_banksize(void)
> +{
> +	return fdtdec_setup_memory_banksize();
> +}
> +
> +int board_late_init(void)
> +{
> +	return 0;
> +}
> +
> +void spl_board_init(void)
> +{

	env_set("fdtfile", fdtfile);

See board/xilinx/zynqmp/zynqmp.c With that fdtfile will be available by
default removing the need for findfdt and script mumbo jumbo.

> +}
> diff --git a/include/configs/j784s4_evm.h b/include/configs/j784s4_evm.h
> new file mode 100644
> index 0000000000..a4e0521198
> --- /dev/null
> +++ b/include/configs/j784s4_evm.h
> @@ -0,0 +1,15 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * Configuration header file for K3 J784S4 EVM
> + *
> + * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/

btw, for next edition - 2023-2024 - here and elsewhere.

> + *	Hari Nagalla <hnagalla at ti.com>
> + */
> +
> +#ifndef __CONFIG_J784S4_EVM_H
> +#define __CONFIG_J784S4_EVM_H
> +
> +/* Now for the remaining common defines */
> +#include <configs/ti_armv7_common.h>
> +
> +#endif /* __CONFIG_J784S4_EVM_H */

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D


More information about the U-Boot mailing list