summaryrefslogtreecommitdiff
path: root/arch/arm/mach-k3
diff options
context:
space:
mode:
authorLokesh Vutla <lokeshvutla@ti.com>2018-08-27 15:57:09 +0530
committerTom Rini <trini@konsulko.com>2018-09-11 08:32:55 -0400
commited0e60512407716d17405e45e12c92e52918608a (patch)
treeab98c496dc26e062c0632a42c1ac9472b004eef5 /arch/arm/mach-k3
parent586bde93eb14652c48f007a80f91c79b30c94a61 (diff)
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 <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'arch/arm/mach-k3')
-rw-r--r--arch/arm/mach-k3/Kconfig31
-rw-r--r--arch/arm/mach-k3/Makefile6
-rw-r--r--arch/arm/mach-k3/am6_init.c32
-rw-r--r--arch/arm/mach-k3/include/mach/clock.h16
4 files changed, 85 insertions, 0 deletions
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 <lokeshvutla@ti.com>
+
+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 <lokeshvutla@ti.com>
+ */
+
+#include <common.h>
+#include <spl.h>
+
+#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 <config.h>
+
+/* Clock Defines */
+#define V_OSCK 24000000
+#define V_SCLK V_OSCK
+
+#endif /* __ASM_ARCH_CLOCK_H */