[PATCH] Add support for am623 from BSH

Tom Rini trini at konsulko.com
Tue May 21 19:47:21 CEST 2024


On Tue, May 21, 2024 at 01:15:47PM +0200, Andrea Calabrese wrote:

> Added support for ARM chipsets r5 and a53, part of the am623 board.
> Created the dtsi files, updated the kconfig and makefile and added the
> dts files.
> 
> AM623-M3 is a low-cost board based on K3 AM623 SoC.
> It supports the following interfaces:
> - 256 MB LPDDR3 RAM
> - x1 USB OTG Connector
> - CC330x SimpleLink™ Wi-Fi 6 and Bluetooth® Low Energy companion IC
> - 512 Mbit OSPI flash
> - x1 UART through UART-USB bridge
> - x1 eMMC 4GB
> 
> Add basic support for AM623-M3.
> 
> Signed-off-by: Andrea Calabrese <andrea.calabrese at amarulasolutions.com>
> Signed-off-by: Flavia Caforio <flavia.caforio at amarulasolutions.com>

First, when can this use OF_UPSTREAM instead?

Next:
> diff --git a/board/bsh/am623_ccm_m3/am623_ccm_m3.c b/board/bsh/am623_ccm_m3/am623_ccm_m3.c
> new file mode 100644
> index 0000000000..5cf6dd48a9
> --- /dev/null
> +++ b/board/bsh/am623_ccm_m3/am623_ccm_m3.c
> @@ -0,0 +1,237 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +/*
> + * Board specific initialization for BSH AM62x based platform CCM-M3
> + *
> + * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
> + *	Suman Anna <s-anna at ti.com>
> + * Copyright (C) 2023 BSH Hausgeraete GmbH - https://www.bsh.com/
> + *	Bode Michael <michael.bode at bshg.com>
> + *
> + */
> +
> +#include <common.h>

Please rebase on top of current -next, and audit the rest of the
includes in any C file you're adding.

> diff --git a/configs/am62x_bsh-ccm-m3_a53_defconfig b/configs/am62x_bsh-ccm-m3_a53_defconfig
> new file mode 100644
> index 0000000000..e927b2ab9a
> --- /dev/null
> +++ b/configs/am62x_bsh-ccm-m3_a53_defconfig

Make sure all of the defconfig files are synced with "make
savedefconfig" unless they're using #include.

> diff --git a/include/configs/am62x_bsh-ccm-m3.h b/include/configs/am62x_bsh-ccm-m3.h
> new file mode 100644
> index 0000000000..d97699faa7
> --- /dev/null
> +++ b/include/configs/am62x_bsh-ccm-m3.h
> @@ -0,0 +1,203 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Configuration header file for K3 AM625 SoC family
> + *
> + * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
> + *	Suman Anna <s-anna at ti.com>
> + */
> +
> +#ifndef __CONFIG_BSH_AM625_EVM_H
> +#define __CONFIG_BSH_AM625_EVM_H
> +
> +#include <config_distro_bootcmd.h>

Please use bootstd.

> +/*
> + * We setup defaults based on constraints from the Linux kernel, which should
> + * also be safe elsewhere.  We have the default load at 32MB into DDR (for
> + * the kernel), FDT above 128MB (the maximum location for the end of the
> + * kernel), and the ramdisk 512KB above that (allowing for hopefully never
> + * seen large trees).  We say all of this must be within the first 256MB
> + * as that will normally be within the kernel lowmem and thus visible via
> + * bootm_size and we only run on platforms with 256MB or more of memory.
> + *
> + * As a temporary storage for DTBO blobs (which should be applied into DTB
> + * blob), we use the location 15.5 MB above the ramdisk. If someone wants to
> + * use ramdisk bigger than 15.5 MB, then DTBO can be loaded and applied to DTB
> + * blob before loading the ramdisk, as DTBO location is only used as a temporary
> + * storage, and can be re-used after 'fdt apply' command is done.
> + */
> +
> +#define DEFAULT_LINUX_BOOT_ENV \
> +	"loadaddr=0x82000000\0" \
> +	"kernel_addr_r=0x82000000\0" \
> +	"fdtaddr=0x85000000\0" \
> +	"dtboaddr=0x86000000\0" \
> +	"fdt_addr_r=0x85000000\0" \
> +	"fdtoverlay_addr_r=0x86000000\0" \
> +	"rdaddr=0x85080000\0" \
> +	"ramdisk_addr_r=0x85080000\0" \
> +	"scriptaddr=0x80000000\0" \
> +	"pxefile_addr_r=0x80100000\0" \
> +	"bootm_size=0x4000000\0" \
> +	"boot_fdt=try\0"
> +
> +#define DEFAULT_FIT_TI_ARGS \
> +	"boot_fit=0\0" \
> +	"addr_fit=0x8e000000\0" \
> +	"name_fit=fitImage\0" \
> +	"update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}\0" \
> +	"get_overlaystring=" \
> +		"for overlay in $name_overlays;" \
> +		"do;" \
> +		"setenv overlaystring ${overlaystring}'#'${overlay};" \
> +		"done;\0" \
> +	"get_fit_config=setexpr name_fit_config gsub / _ conf-${fdtfile}\0" \
> +	"run_fit=run get_fit_config; bootm ${addr_fit}#${name_fit_config}${overlaystring}\0" \

And since you have a plain text environment none of this should be
needed. Please audit the rest of the file for other extraneous stuff, I
see other things too. Thanks.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240521/27a1e8ea/attachment.sig>


More information about the U-Boot mailing list