[PATCH 09/14] arch: mach-k3: Introduce basic files to support J722S SoC family

Neha Malcom Francis n-francis at ti.com
Thu May 30 04:45:17 CEST 2024


Hi Jayesh

On 29/05/24 18:54, Jayesh Choudhary wrote:
> Introduce the basic functions and definitions needed to properly
> initialize TI J722S family of SoCs.
> 
> Co-developed-by: Vaishnav Achath <vaishnav.a at ti.com>
> Signed-off-by: Vaishnav Achath <vaishnav.a at ti.com>
> Signed-off-by: Jayesh Choudhary <j-choudhary at ti.com>
> ---
>   arch/arm/mach-k3/Kconfig                      |   7 +-
>   arch/arm/mach-k3/Makefile                     |   1 +
>   arch/arm/mach-k3/include/mach/hardware.h      |   4 +
>   .../arm/mach-k3/include/mach/j722s_hardware.h |  83 ++++++
>   arch/arm/mach-k3/include/mach/j722s_spl.h     |  49 ++++
>   arch/arm/mach-k3/include/mach/spl.h           |   4 +
>   arch/arm/mach-k3/j722s/Kconfig                |  32 ++
>   arch/arm/mach-k3/j722s/Makefile               |   6 +
>   arch/arm/mach-k3/j722s/j722s_init.c           | 277 ++++++++++++++++++
>   9 files changed, 462 insertions(+), 1 deletion(-)
>   create mode 100644 arch/arm/mach-k3/include/mach/j722s_hardware.h
>   create mode 100644 arch/arm/mach-k3/include/mach/j722s_spl.h
>   create mode 100644 arch/arm/mach-k3/j722s/Kconfig
>   create mode 100644 arch/arm/mach-k3/j722s/Makefile
>   create mode 100644 arch/arm/mach-k3/j722s/j722s_init.c
> 

[...]

> +
> +void board_init_f(ulong dummy)
> +{

J784S4 went through quite a bit of revisions and I personally would like to use 
it as an example (for now) for our code layout for all future devices until we 
cleanup further. See [1] where it was addressed to have board_init_f split up 
into calling smaller logical functions instead.

[1] https://lore.kernel.org/u-boot/20240103162504.xgbx73pnmthtzthl@vengeful/

> +	struct udevice *dev;
> +	int ret;
> +
> +	if (IS_ENABLED(CONFIG_CPU_V7R))
> +		setup_k3_mpu_regions();
> +
> +	/*
> +	 * Cannot delay this further as there is a chance that
> +	 * K3_BOOT_PARAM_TABLE_INDEX can be over written by SPL MALLOC section.
> +	 */
> +	store_boot_info_from_rom();
> +
> +	ctrl_mmr_unlock();
> +
> +	/* Init DM early */
> +	ret = spl_early_init();
> +	if (ret)
> +		panic("spl_early_init() failed: %d\n", ret);
> +
> +	/*
> +	 * Process pinctrl for the serial0 a.k.a. WKUP_UART0 module and continue

[...]

-- 
Thanking You
Neha Malcom Francis


More information about the U-Boot mailing list