From: Lokesh Vutla Date: Mon, 27 Aug 2018 10:27:09 +0000 (+0530) Subject: arm: K3: Add support for AM654 SoC definition X-Git-Tag: v2018.11-rc1~186 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ed0e60512407716d17405e45e12c92e52918608a;p=oweals%2Fu-boot.git arm: K3: Add support for AM654 SoC definition The AM654 device is designed for industrial automation and PLC controller class platforms among other applications. Introduce base support for AM654 SoC. Signed-off-by: Lokesh Vutla Reviewed-by: Tom Rini --- diff --git a/arch/arm/mach-k3/Kconfig b/arch/arm/mach-k3/Kconfig index 552b84923e..9892f574c2 100644 --- a/arch/arm/mach-k3/Kconfig +++ b/arch/arm/mach-k3/Kconfig @@ -4,9 +4,40 @@ choice prompt "Texas Instruments' K3 based SoC select" optional +config SOC_K3_AM6 + bool "TI's K3 based AM6 SoC Family Support" + endchoice config SYS_SOC default "k3" +config SYS_K3_NON_SECURE_MSRAM_SIZE + hex + default 0x80000 + 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. + +config SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE + hex + default 0x58000 + help + Describes the maximum size of the image that ROM can download + from any boot media. + +config SYS_K3_MCU_SCRATCHPAD_BASE + hex + default 0x40280000 if SOC_K3_AM6 + help + Describes the base address of MCU Scratchpad RAM. + +config SYS_K3_MCU_SCRATCHPAD_SIZE + hex + default 0x200 if SOC_K3_AM6 + help + Describes the size of MCU Scratchpad RAM. + endif diff --git a/arch/arm/mach-k3/Makefile b/arch/arm/mach-k3/Makefile new file mode 100644 index 0000000000..356fc27b11 --- /dev/null +++ b/arch/arm/mach-k3/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (C) 2017-2018 Texas Instruments Incorporated - http://www.ti.com/ +# Lokesh Vutla + +obj-$(CONFIG_SOC_K3_AM6) += am6_init.o diff --git a/arch/arm/mach-k3/am6_init.c b/arch/arm/mach-k3/am6_init.c new file mode 100644 index 0000000000..7a78e85938 --- /dev/null +++ b/arch/arm/mach-k3/am6_init.c @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * K3: Architecture initialization + * + * Copyright (C) 2017-2018 Texas Instruments Incorporated - http://www.ti.com/ + * Lokesh Vutla + */ + +#include +#include + +#ifdef CONFIG_SPL_BUILD +void board_init_f(ulong dummy) +{ + /* Init DM early in-order to invoke system controller */ + spl_early_init(); + + /* Prepare console output */ + preloader_console_init(); +} + +u32 spl_boot_device(void) +{ + return BOOT_DEVICE_RAM; +} +#endif + +#ifndef CONFIG_SYSRESET +void reset_cpu(ulong ignored) +{ +} +#endif diff --git a/arch/arm/mach-k3/include/mach/clock.h b/arch/arm/mach-k3/include/mach/clock.h new file mode 100644 index 0000000000..e3adbcd9de --- /dev/null +++ b/arch/arm/mach-k3/include/mach/clock.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * K3: Common SoC clock definitions. + * + * (C) Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/ + */ +#ifndef __ASM_ARCH_CLOCK_H +#define __ASM_ARCH_CLOCK_H + +#include + +/* Clock Defines */ +#define V_OSCK 24000000 +#define V_SCLK V_OSCK + +#endif /* __ASM_ARCH_CLOCK_H */