diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig index c7d186149b..35edc6d8ee 100644 --- a/arch/arm/mach-k3/Kconfig +++ b/arch/arm/mach-k3/Kconfig @@ -10,6 +10,9 @@ config SOC_K3_AM6 config SOC_K3_J721E bool "TI's K3 based J721E SoC Family Support" +config SOC_K3_AM642 + bool "TI's K3 based AM642 SoC Family Support" + endchoice config SYS_SOC @@ -19,16 +22,18 @@ config SYS_K3_NON_SECURE_MSRAM_SIZE hex default 0x80000 if SOC_K3_AM6 default 0x100000 if SOC_K3_J721E + default 0x1c0000 if SOC_K3_AM642 help - Describes the total size of the MCU MSRAM. This doesn't - specify the total size of SPL as ROM can use some part - of this RAM. Once ROM gives control to SPL then this - complete size can be usable. + Describes the total size of the MCU or OCMC MSRAM present on + the SoC in use. This doesn't specify the total size of SPL as + ROM can use some part of this RAM. Once ROM gives control to + SPL then this complete size can be usable. config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE hex default 0x58000 if SOC_K3_AM6 default 0xc0000 if SOC_K3_J721E + default 0x180000 if SOC_K3_AM642 help Describes the maximum size of the image that ROM can download from any boot media. @@ -51,6 +56,7 @@ config SYS_K3_BOOT_PARAM_TABLE_INDEX hex default 0x41c7fbfc if SOC_K3_AM6 default 0x41cffbfc if SOC_K3_J721E + default 0x701bebfc if SOC_K3_AM642 help Address at which ROM stores the value which determines if SPL is booted up by primary boot media or secondary boot media. diff --git a/arch/arm/mach-k3/Makefile b/arch/arm/mach-k3/Makefile index 7572f56925..890d1498d0 100644 --- a/arch/arm/mach-k3/Makefile +++ b/arch/arm/mach-k3/Makefile @@ -5,6 +5,7 @@ obj-$(CONFIG_SOC_K3_AM6) += am6_init.o obj-$(CONFIG_SOC_K3_J721E) += j721e_init.o +obj-$(CONFIG_SOC_K3_AM642) += am642_init.o obj-$(CONFIG_ARM64) += arm64-mmu.o obj-$(CONFIG_CPU_V7R) += r5_mpu.o lowlevel_init.o obj-$(CONFIG_TI_SECURE_DEVICE) += security.o diff --git a/arch/arm/mach-k3/am642_init.c b/arch/arm/mach-k3/am642_init.c new file mode 100644 index 0000000000..79de049d68 --- /dev/null +++ b/arch/arm/mach-k3/am642_init.c @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * AM642: SoC specific initialization + * + * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/ + * Keerthy + * Dave Gerlach + */ + +#include +#include +#include +#include "common.h" + +#if defined(CONFIG_SPL_BUILD) + +void board_init_f(ulong dummy) +{ +#if defined(CONFIG_CPU_V7R) + setup_k3_mpu_regions(); +#endif + + /* Init DM early */ + spl_early_init(); + + preloader_console_init(); +} +#endif