[PATCH v4 09/16] board: ti: j784s4: Add board support for J784S4 EVM
Apurva Nandan
a-nandan at ti.com
Wed Oct 4 20:01:40 CEST 2023
On 02/10/23 21:21, Nishanth Menon wrote:
> On 22:25-20231001, 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: Apurva Nandan <a-nandan at ti.com>
>> Signed-off-by: Dasnavis Sabiya <sabiya.d at ti.com>
>> ---
>> arch/arm/mach-k3/Kconfig | 1 +
>> board/ti/j784s4/Kconfig | 63 +
>> board/ti/j784s4/MAINTAINERS | 22 +
>> board/ti/j784s4/Makefile | 7 +
>> board/ti/j784s4/board-cfg.yaml | 37 +
>> board/ti/j784s4/evm.c | 82 +
>> board/ti/j784s4/j784s4.env | 35 +
>> board/ti/j784s4/pm-cfg.yaml | 13 +
>> board/ti/j784s4/rm-cfg.yaml | 3058 ++++++++++++++++++++++++++++++
>> board/ti/j784s4/sec-cfg.yaml | 380 ++++
>> board/ti/j784s4/tifs-rm-cfg.yaml | 2656 ++++++++++++++++++++++++++
>> include/configs/j784s4_evm.h | 20 +
> There is all kind of changes mixed in that makes this patch hard to review.
Will try to split into smaller patches.
>> 12 files changed, 6374 insertions(+)
>> create mode 100644 board/ti/j784s4/Kconfig
>> create mode 100644 board/ti/j784s4/MAINTAINERS
>> create mode 100644 board/ti/j784s4/Makefile
>> create mode 100644 board/ti/j784s4/board-cfg.yaml
>> create mode 100644 board/ti/j784s4/evm.c
>> create mode 100644 board/ti/j784s4/j784s4.env
>> create mode 100644 board/ti/j784s4/pm-cfg.yaml
>> create mode 100644 board/ti/j784s4/rm-cfg.yaml
>> create mode 100644 board/ti/j784s4/sec-cfg.yaml
>> create mode 100644 board/ti/j784s4/tifs-rm-cfg.yaml
>> create mode 100644 include/configs/j784s4_evm.h
> [...]
>
>> new file mode 100644
>> index 0000000000..025079c6a8
>> --- /dev/null
>> +++ b/board/ti/j784s4/evm.c
>> @@ -0,0 +1,82 @@
>> +// 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 <common.h>
>> +#include <env.h>
>> +#include <fdt_support.h>
>> +#include <generic-phy.h>
>> +#include <image.h>
>> +#include <init.h>
>> +#include <log.h>
>> +#include <net.h>
>> +#include <asm/arch/hardware.h>
>> +#include <asm/gpio.h>
>> +#include <asm/io.h>
>> +#include <spl.h>
>> +#include <dm.h>
>> +#include <dm/uclass-internal.h>
>> +
>> +#include "../common/board_detect.h"
>> +
>> +#define board_is_j784s4_evm() board_ti_k3_is("J784S4-EVM")
>> +
>> +DECLARE_GLOBAL_DATA_PTR;
>> +
>> +int board_init(void)
>> +{
>> + return 0;
>> +}
>> +
>> +int dram_init(void)
>> +{
>> +#ifdef CONFIG_PHYS_64BIT
> stop using #ifdef. if (IS_ENABLED())
> Checkpatch will warn you on this. you seem to have ignore it.
okay
>> + gd->ram_size = 0x100000000;
>> +#else
>> + gd->ram_size = 0x80000000;
>> +#endif
>> +
>> + return 0;
>> +}
>> +
>> +phys_size_t board_get_usable_ram_top(phys_size_t total_size)
>> +{
>> +#ifdef CONFIG_PHYS_64BIT
>> + /* Limit RAM used by U-Boot to the DDR low region */
>> + if (gd->ram_top > 0x100000000)
>> + return 0x100000000;
>> +#endif
>> +
>> + return gd->ram_top;
>> +}
>> +
>> +int dram_init_banksize(void)
>> +{
>> + /* Bank 0 declares the memory available in the DDR low region */
>> + gd->bd->bi_dram[0].start = CFG_SYS_SDRAM_BASE;
>> + gd->bd->bi_dram[0].size = 0x7fffffff;
>> + gd->ram_size = 0x80000000;
> NAK. Use fdtdec_setup_mem_size_base fdtdec_setup_memory_banksize
> And fix up accordingly.
Okay
>> +
>> +#ifdef CONFIG_PHYS_64BIT
>> + /* Bank 1 declares the memory available in the DDR high region */
>> + gd->bd->bi_dram[1].start = CFG_SYS_SDRAM_BASE1;
>> + gd->bd->bi_dram[1].size = 0x77fffffff;
>> + gd->ram_size = 0x800000000;
>> +#endif
>> +
>> + return 0;
>> +}
>> +
>> +int board_late_init(void)
>> +{
>> + return 0;
>> +}
>> +
>> +void spl_board_init(void)
>> +{
>> +}
>> diff --git a/board/ti/j784s4/j784s4.env b/board/ti/j784s4/j784s4.env
>> new file mode 100644
>> index 0000000000..74f822440e
>> --- /dev/null
>> +++ b/board/ti/j784s4/j784s4.env
>> @@ -0,0 +1,35 @@
>> +#include <env/ti/ti_armv7_common.env>
>> +#include <env/ti/mmc.env>
>> +#include <env/ti/ufs.env>
>> +#include <env/ti/k3_dfu.env>
>> +
>> +#if CONFIG_CMD_REMOTEPROC
>> +#include <env/ti/k3_rproc.env>
>> +#endif
>> +
>> +default_device_tree=ti/k3-j784s4-evm.dtb
>> +findfdt=
>> + setenv name_fdt ${default_device_tree};
>> + if test CONFIG_DEFAULT_DEVICE_TREE = "k3-j784s4-evm"; then
>> + setenv name_fdt ti/k3-j784s4-evm.dtb; fi;
>> + setenv fdtfile ${name_fdt}
> Explained that this is a NAK.
>> +name_kern=Image
>> +console=ttyS2,115200n8
>> +args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02880000
>> + ${mtdparts}
>> +run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}
>> +
>> +boot_targets=ti_mmc mmc0 mmc1 usb pxe dhcp
> ti_mmc is a boot_target in stdboot?? no, it wont work.
>
> Also change the boot meth to mmc1 (SD), mmc0(emmc), usb pxe dhcp.
Okay
>> +boot=mmc
>> +mmcdev=1
>> +dorprocboot=1
>> +bootpart=1:2
>> +bootdir=/boot
>> +rd_spec=-
>> +
>> +rproc_fw_binaries= 2 /lib/firmware/j784s4-main-r5f0_0-fw 3 /lib/firmware/j784s4-main-r5f0_1-fw 4 /lib/firmware/j784s4-main-r5f1_0-fw 5 /lib/firmware/j784s4-main-r5f1_1-fw 6 /lib/firmware/j784s4-main-r5f2_0-fw 7 /lib/firmware/j784s4-main-r5f2_1-fw 8 /lib/firmware/j784s4-c71_0-fw 9 /lib/firmware/j784s4-c71_1-fw 10 /lib/firmware/j784s4-c71_2-fw 11 /lib/firmware/j784s4-c71_3-fw
> No clue what the above mess is.
Are you talking about rproc_fw_binaries?, it is parsed by u-boot to find
all the firmwares
from filesystem for doing early boot of firmwares.
>> +
>> +splashfile=ti.gz
>> +splashimage=0x82000000
>> +splashpos=m,m
>> +splashsource=mmc
> You have splash screen support?
>
Okay, will try to address all of the issues mentioned, thanks!
--
Regards,
Apurva Nandan,
Texas Instruments.
More information about the U-Boot
mailing list