From c01af5a7b82873c0b84f0d69d4dac62e9c9eeceb Mon Sep 17 00:00:00 2001 From: Jamie McCrae Date: Tue, 16 Jan 2024 08:47:34 +0000 Subject: [PATCH] soc: ti_k3: Port to HWMv2 Ports the ti_k3 SoC configuration to hardware model version 2 Signed-off-by: Jamie McCrae --- soc/arm/ti_k3/CMakeLists.txt | 8 --- soc/arm/ti_k3/Kconfig | 19 ------- soc/arm/ti_k3/Kconfig.defconfig | 8 --- soc/arm/ti_k3/Kconfig.soc | 8 --- soc/arm/ti_k3/am62x_m4/CMakeLists.txt | 13 ----- .../ti_k3/am62x_m4/Kconfig.defconfig.am62xm4 | 13 ----- .../ti_k3/am62x_m4/Kconfig.defconfig.series | 52 ------------------- soc/arm/ti_k3/am62x_m4/Kconfig.soc | 28 ---------- soc/arm/ti_k3/pinctrl_soc.h | 40 -------------- soc/arm64/ti_k3/Kconfig | 17 ------ soc/arm64/ti_k3/Kconfig.defconfig | 6 --- soc/arm64/ti_k3/Kconfig.soc | 6 --- soc/arm64/ti_k3/am6x/CMakeLists.txt | 6 --- soc/arm64/ti_k3/am6x/Kconfig.defconfig.am6234 | 9 ---- soc/arm64/ti_k3/am6x/Kconfig.series | 11 ---- soc/arm64/ti_k3/am6x/Kconfig.soc | 26 ---------- soc/{arm64/ti_k3 => v2/ti/k3}/CMakeLists.txt | 4 +- soc/v2/ti/k3/Kconfig | 5 ++ soc/v2/ti/k3/Kconfig.defconfig | 8 +++ soc/v2/ti/k3/Kconfig.soc | 10 ++++ soc/v2/ti/k3/am6x/CMakeLists.txt | 21 ++++++++ .../Kconfig.series => v2/ti/k3/am6x/Kconfig} | 17 +++--- .../ti/k3/am6x/Kconfig.defconfig} | 19 ++++--- soc/v2/ti/k3/am6x/Kconfig.soc | 33 ++++++++++++ .../am6x => v2/ti/k3/am6x/a53}/mmu_regions.c | 0 .../am62x_m4 => v2/ti/k3/am6x/m4}/linker.ld | 0 .../ti_k3/am62x_m4 => v2/ti/k3/am6x/m4}/soc.c | 0 .../ti_k3/am62x_m4 => v2/ti/k3/am6x/m4}/soc.h | 0 .../ti_k3 => v2/ti/k3/am6x}/pinctrl_soc.h | 0 soc/v2/ti/k3/soc.yml | 9 ++++ 30 files changed, 105 insertions(+), 291 deletions(-) delete mode 100644 soc/arm/ti_k3/CMakeLists.txt delete mode 100644 soc/arm/ti_k3/Kconfig delete mode 100644 soc/arm/ti_k3/Kconfig.defconfig delete mode 100644 soc/arm/ti_k3/Kconfig.soc delete mode 100644 soc/arm/ti_k3/am62x_m4/CMakeLists.txt delete mode 100644 soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.am62xm4 delete mode 100644 soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.series delete mode 100644 soc/arm/ti_k3/am62x_m4/Kconfig.soc delete mode 100644 soc/arm/ti_k3/pinctrl_soc.h delete mode 100644 soc/arm64/ti_k3/Kconfig delete mode 100644 soc/arm64/ti_k3/Kconfig.defconfig delete mode 100644 soc/arm64/ti_k3/Kconfig.soc delete mode 100644 soc/arm64/ti_k3/am6x/CMakeLists.txt delete mode 100644 soc/arm64/ti_k3/am6x/Kconfig.defconfig.am6234 delete mode 100644 soc/arm64/ti_k3/am6x/Kconfig.series delete mode 100644 soc/arm64/ti_k3/am6x/Kconfig.soc rename soc/{arm64/ti_k3 => v2/ti/k3}/CMakeLists.txt (51%) create mode 100644 soc/v2/ti/k3/Kconfig create mode 100644 soc/v2/ti/k3/Kconfig.defconfig create mode 100644 soc/v2/ti/k3/Kconfig.soc create mode 100644 soc/v2/ti/k3/am6x/CMakeLists.txt rename soc/{arm/ti_k3/am62x_m4/Kconfig.series => v2/ti/k3/am6x/Kconfig} (53%) rename soc/{arm64/ti_k3/am6x/Kconfig.defconfig.series => v2/ti/k3/am6x/Kconfig.defconfig} (64%) create mode 100644 soc/v2/ti/k3/am6x/Kconfig.soc rename soc/{arm64/ti_k3/am6x => v2/ti/k3/am6x/a53}/mmu_regions.c (100%) rename soc/{arm/ti_k3/am62x_m4 => v2/ti/k3/am6x/m4}/linker.ld (100%) rename soc/{arm/ti_k3/am62x_m4 => v2/ti/k3/am6x/m4}/soc.c (100%) rename soc/{arm/ti_k3/am62x_m4 => v2/ti/k3/am6x/m4}/soc.h (100%) rename soc/{arm64/ti_k3 => v2/ti/k3/am6x}/pinctrl_soc.h (100%) create mode 100644 soc/v2/ti/k3/soc.yml diff --git a/soc/arm/ti_k3/CMakeLists.txt b/soc/arm/ti_k3/CMakeLists.txt deleted file mode 100644 index 4f789e9b56e..00000000000 --- a/soc/arm/ti_k3/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# -# SPDX-License-Identifier: Apache-2.0 - -zephyr_include_directories(.) - -add_subdirectory(${SOC_SERIES}) diff --git a/soc/arm/ti_k3/Kconfig b/soc/arm/ti_k3/Kconfig deleted file mode 100644 index 89a5b8813a5..00000000000 --- a/soc/arm/ti_k3/Kconfig +++ /dev/null @@ -1,19 +0,0 @@ -# Texas Instruments Keystone 3 (K3) Family -# -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# -# SPDX-License-Identifier: Apache-2.0 - -config SOC_FAMILY_TI_K3 - bool - -if SOC_FAMILY_TI_K3 - -config SOC_FAMILY - string - default "ti_k3" - -source "soc/arm/ti_k3/*/Kconfig.soc" - -endif # SOC_FAMILY_TI_K3 diff --git a/soc/arm/ti_k3/Kconfig.defconfig b/soc/arm/ti_k3/Kconfig.defconfig deleted file mode 100644 index 0b983592ad4..00000000000 --- a/soc/arm/ti_k3/Kconfig.defconfig +++ /dev/null @@ -1,8 +0,0 @@ -# Texas Instruments Keystone 3 (K3) Family -# -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# -# SPDX-License-Identifier: Apache-2.0 - -source "soc/arm/ti_k3/*/Kconfig.defconfig.series" diff --git a/soc/arm/ti_k3/Kconfig.soc b/soc/arm/ti_k3/Kconfig.soc deleted file mode 100644 index 89379428827..00000000000 --- a/soc/arm/ti_k3/Kconfig.soc +++ /dev/null @@ -1,8 +0,0 @@ -# Texas Instruments Keystone 3 (K3) Family -# -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# -# SPDX-License-Identifier: Apache-2.0 - -source "soc/arm/ti_k3/*/Kconfig.series" diff --git a/soc/arm/ti_k3/am62x_m4/CMakeLists.txt b/soc/arm/ti_k3/am62x_m4/CMakeLists.txt deleted file mode 100644 index bc9b13ea188..00000000000 --- a/soc/arm/ti_k3/am62x_m4/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# -# SPDX-License-Identifier: Apache-2.0 - -zephyr_sources(soc.c) - -if(CONFIG_OPENAMP_RSC_TABLE) - zephyr_linker_section(NAME .resource_table GROUP ROM_REGION NOINPUT) - zephyr_linker_section_configure(SECTION .resource_table KEEP INPUT ".resource_table*") -endif() - -set(SOC_LINKER_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/linker.ld CACHE INTERNAL "") diff --git a/soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.am62xm4 b/soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.am62xm4 deleted file mode 100644 index 688efcd841f..00000000000 --- a/soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.am62xm4 +++ /dev/null @@ -1,13 +0,0 @@ -# Texas Instruments Sitara AM62x-SK-M4 EVM -# -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# -# SPDX-License-Identifier: Apache-2.0 - -if SOC_AM62x_M4 - -config SOC - default "am62x_m4" - -endif diff --git a/soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.series b/soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.series deleted file mode 100644 index d85c54d9c00..00000000000 --- a/soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.series +++ /dev/null @@ -1,52 +0,0 @@ -# Texas Instruments Sitara AM62x-SK-M4 EVM -# -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# -# SPDX-License-Identifier: Apache-2.0 - -if SOC_SERIES_AM62X_M4 - -source "soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.am62xm4*" - -config SOC_SERIES - default "am62x_m4" - -DT_CHOSEN_Z_FLASH := zephyr,flash - -config FLASH_SIZE - default $(dt_chosen_reg_size_int,$(DT_CHOSEN_Z_FLASH),0,K) - -config FLASH_BASE_ADDRESS - default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH)) - -config NUM_IRQS - default 64 - -config SYS_CLOCK_HW_CYCLES_PER_SEC - int - default 400000000 - -config PINCTRL - default y - -if SERIAL - -config UART_NS16550 - default y - -config UART_NS16550_TI_K3 - default y - -choice UART_NS16550_VARIANT - default UART_NS16550_VARIANT_NS16750 -endchoice - -endif # SERIAL - -config BUILD_OUTPUT_BIN - default n - -source "soc/arm/ti_k3/am62x_m4/Kconfig.defconfig.am62*" - -endif # SOC_SERIES_AM62X_M4 diff --git a/soc/arm/ti_k3/am62x_m4/Kconfig.soc b/soc/arm/ti_k3/am62x_m4/Kconfig.soc deleted file mode 100644 index b0eec320f17..00000000000 --- a/soc/arm/ti_k3/am62x_m4/Kconfig.soc +++ /dev/null @@ -1,28 +0,0 @@ -# Texas Instruments Sitara AM62x-SK-M4 -# -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# -# SPDX-License-Identifier: Apache-2.0 - -choice -prompt "TI AM62X M4 Selection" -depends on SOC_SERIES_AM62X_M4 - -config SOC_AM62x_M4 - bool "TI AM62x M4" - select SOC_PART_NUMBER_AM62x - -endchoice - -config SOC_PART_NUMBER_AM62x - bool - -config SOC_PART_NUMBER_AM62X_M4 - string - default "AM62x" if SOC_PART_NUMBER_AM62x - help - Full part number of the SoC. Do not select directly. - -config SOC_PART_NUMBER - default SOC_PART_NUMBER_AM62X_M4 if SOC_SERIES_AM62X_M4 diff --git a/soc/arm/ti_k3/pinctrl_soc.h b/soc/arm/ti_k3/pinctrl_soc.h deleted file mode 100644 index d85797bc2b2..00000000000 --- a/soc/arm/ti_k3/pinctrl_soc.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2023 Texas Instruments Incorporated - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef ZEPHYR_SOC_ARM_TI_K3_PINCTRL_SOC_H_ -#define ZEPHYR_SOC_ARM_TI_K3_PINCTRL_SOC_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct pinctrl_soc_pin { - uint32_t offset; - uint32_t value; -}; - -typedef struct pinctrl_soc_pin pinctrl_soc_pin_t; - -#define TI_K3_DT_PIN(node_id) \ - { \ - .offset = DT_PROP_BY_IDX(node_id, pinmux, 0), \ - .value = DT_PROP_BY_IDX(node_id, pinmux, 1) \ - }, - -#define Z_PINCTRL_STATE_PIN_INIT(node_id, prop, idx) \ - TI_K3_DT_PIN(DT_PROP_BY_IDX(node_id, prop, idx)) - -#define Z_PINCTRL_STATE_PINS_INIT(node_id, prop) \ - { DT_FOREACH_PROP_ELEM(node_id, prop, Z_PINCTRL_STATE_PIN_INIT) } - -#ifdef __cplusplus -} -#endif - -#endif /* ZEPHYR_SOC_ARM_TI_K3_PINCTRL_SOC_H_ */ diff --git a/soc/arm64/ti_k3/Kconfig b/soc/arm64/ti_k3/Kconfig deleted file mode 100644 index 081632c0b88..00000000000 --- a/soc/arm64/ti_k3/Kconfig +++ /dev/null @@ -1,17 +0,0 @@ -# Texas Instruments Keystone 3 (K3) Family -# -# Copyright (c) 2023 Enphase Energy -# SPDX-License-Identifier: Apache-2.0 - -config SOC_FAMILY_TI_K3 - bool - -if SOC_FAMILY_TI_K3 - -config SOC_FAMILY - string - default "ti_k3" - -source "soc/arm64/ti_k3/*/Kconfig.soc" - -endif # SOC_FAMILY_TI_K3 diff --git a/soc/arm64/ti_k3/Kconfig.defconfig b/soc/arm64/ti_k3/Kconfig.defconfig deleted file mode 100644 index 18eeadee4e0..00000000000 --- a/soc/arm64/ti_k3/Kconfig.defconfig +++ /dev/null @@ -1,6 +0,0 @@ -# Texas Instruments Keystone 3 (K3) Family -# -# Copyright (c) 2023 Enphase Energy -# SPDX-License-Identifier: Apache-2.0 - -source "soc/arm64/ti_k3/*/Kconfig.defconfig.series" diff --git a/soc/arm64/ti_k3/Kconfig.soc b/soc/arm64/ti_k3/Kconfig.soc deleted file mode 100644 index 7d48f5cee1d..00000000000 --- a/soc/arm64/ti_k3/Kconfig.soc +++ /dev/null @@ -1,6 +0,0 @@ -# Texas Instruments Keystone 3 (K3) Family -# -# Copyright (c) 2023 Enphase Energy -# SPDX-License-Identifier: Apache-2.0 - -source "soc/arm64/ti_k3/*/Kconfig.series" diff --git a/soc/arm64/ti_k3/am6x/CMakeLists.txt b/soc/arm64/ti_k3/am6x/CMakeLists.txt deleted file mode 100644 index 491cafbec22..00000000000 --- a/soc/arm64/ti_k3/am6x/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (c) 2023 Enphase Energy -# SPDX-License-Identifier: Apache-2.0 - -zephyr_sources_ifdef(CONFIG_ARM_MMU mmu_regions.c) - -set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm64/scripts/linker.ld CACHE INTERNAL "") diff --git a/soc/arm64/ti_k3/am6x/Kconfig.defconfig.am6234 b/soc/arm64/ti_k3/am6x/Kconfig.defconfig.am6234 deleted file mode 100644 index a22567299c5..00000000000 --- a/soc/arm64/ti_k3/am6x/Kconfig.defconfig.am6234 +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2023 Enphase Energy -# SPDX-License-Identifier: Apache-2.0 - -if SOC_AM6234_A53 - -config SOC - default "am6234" - -endif # SOC_AM6234_A53 diff --git a/soc/arm64/ti_k3/am6x/Kconfig.series b/soc/arm64/ti_k3/am6x/Kconfig.series deleted file mode 100644 index 1de6052d9ed..00000000000 --- a/soc/arm64/ti_k3/am6x/Kconfig.series +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (c) 2023 Enphase Energy -# SPDX-License-Identifier: Apache-2.0 - -config SOC_SERIES_AM6X_A53 - bool "TI AM6X A53 Core Series" - select SOC_FAMILY_TI_K3 - select ARM64 - select CPU_CORTEX_A53 - select ARM_ARCH_TIMER if SYS_CLOCK_EXISTS - help - Enable support for AM6X A53 Series. diff --git a/soc/arm64/ti_k3/am6x/Kconfig.soc b/soc/arm64/ti_k3/am6x/Kconfig.soc deleted file mode 100644 index 74dbb7fedae..00000000000 --- a/soc/arm64/ti_k3/am6x/Kconfig.soc +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright (c) 2023 Enphase Energy -# SPDX-License-Identifier: Apache-2.0 - -choice -prompt "TI AM6X A53 Selection" -depends on SOC_SERIES_AM6X_A53 - -config SOC_AM6234_A53 - bool "TI AM6234 A53" - select SOC_PART_NUMBER_AM6234 - -endchoice - -config SOC_PART_NUMBER_AM6234 - bool - -config SOC_PART_NUMBER_AM6X_A53 - string - default "AM6234" if SOC_PART_NUMBER_AM6234 - help - This string holds the full part number of the SoC. It is a hidden option - that you should not set directly. The part number selection choice defines - the default value for this string. - -config SOC_PART_NUMBER - default SOC_PART_NUMBER_AM6X_A53 if SOC_SERIES_AM6X_A53 diff --git a/soc/arm64/ti_k3/CMakeLists.txt b/soc/v2/ti/k3/CMakeLists.txt similarity index 51% rename from soc/arm64/ti_k3/CMakeLists.txt rename to soc/v2/ti/k3/CMakeLists.txt index f16a8498786..9d3cdd0d7af 100644 --- a/soc/arm64/ti_k3/CMakeLists.txt +++ b/soc/v2/ti/k3/CMakeLists.txt @@ -1,6 +1,4 @@ -# Copyright (c) 2023 Enphase Energy +# Copyright (c) 2024 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 -zephyr_include_directories(.) - add_subdirectory(${SOC_SERIES}) diff --git a/soc/v2/ti/k3/Kconfig b/soc/v2/ti/k3/Kconfig new file mode 100644 index 00000000000..325a13bdb12 --- /dev/null +++ b/soc/v2/ti/k3/Kconfig @@ -0,0 +1,5 @@ +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +rsource "*/Kconfig" + diff --git a/soc/v2/ti/k3/Kconfig.defconfig b/soc/v2/ti/k3/Kconfig.defconfig new file mode 100644 index 00000000000..2889e544ad0 --- /dev/null +++ b/soc/v2/ti/k3/Kconfig.defconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +if SOC_FAMILY_TI_K3 + +rsource "*/Kconfig.defconfig" + +endif # SOC_FAMILY_TI_K3 diff --git a/soc/v2/ti/k3/Kconfig.soc b/soc/v2/ti/k3/Kconfig.soc new file mode 100644 index 00000000000..d49a35ebfe8 --- /dev/null +++ b/soc/v2/ti/k3/Kconfig.soc @@ -0,0 +1,10 @@ +# Copyright (c) 2024 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +config SOC_FAMILY_TI_K3 + bool + +config SOC_FAMILY + default "ti_k3" if SOC_FAMILY_TI_K3 + +rsource "*/Kconfig.soc" diff --git a/soc/v2/ti/k3/am6x/CMakeLists.txt b/soc/v2/ti/k3/am6x/CMakeLists.txt new file mode 100644 index 00000000000..9f0cb3dd2f5 --- /dev/null +++ b/soc/v2/ti/k3/am6x/CMakeLists.txt @@ -0,0 +1,21 @@ +# Copyright (c) 2023 Enphase Energy +# SPDX-License-Identifier: Apache-2.0 + +zephyr_include_directories(.) + +if(CONFIG_SOC_AM6234_A53) + zephyr_sources_ifdef(CONFIG_ARM_MMU a53/mmu_regions.c) + + set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/arm64/scripts/linker.ld CACHE INTERNAL "") +elseif(CONFIG_SOC_AM6234_M4) + zephyr_sources(m4/soc.c) + + zephyr_include_directories(m4) + + if(CONFIG_OPENAMP_RSC_TABLE) + zephyr_linker_section(NAME .resource_table GROUP ROM_REGION NOINPUT) + zephyr_linker_section_configure(SECTION .resource_table KEEP INPUT ".resource_table*") + endif() + + set(SOC_LINKER_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/m4/linker.ld CACHE INTERNAL "") +endif() diff --git a/soc/arm/ti_k3/am62x_m4/Kconfig.series b/soc/v2/ti/k3/am6x/Kconfig similarity index 53% rename from soc/arm/ti_k3/am62x_m4/Kconfig.series rename to soc/v2/ti/k3/am6x/Kconfig index 0e675950067..517fd7fabb9 100644 --- a/soc/arm/ti_k3/am62x_m4/Kconfig.series +++ b/soc/v2/ti/k3/am6x/Kconfig @@ -1,13 +1,12 @@ -# Texas Instruments Sitara AM62x-SK-M4 EVM -# -# Copyright (c) 2023 Texas Instruments Incorporated -# Copyright (c) 2023 L Lakshmanan -# +# Copyright (c) 2023 Enphase Energy # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_AM62X_M4 - bool "TI AM62X M4 Core Series" - select SOC_FAMILY_TI_K3 +config SOC_SERIES_AM6X_A53 + select ARM64 + select CPU_CORTEX_A53 + select ARM_ARCH_TIMER if SYS_CLOCK_EXISTS + +config SOC_SERIES_AM6X_M4 select ARM select CPU_CORTEX_M4 select CPU_CORTEX_M_HAS_SYSTICK @@ -18,5 +17,3 @@ config SOC_SERIES_AM62X_M4 select EXTERNAL_ADDRESS_TRANSLATION select MM_DRV select MM_TI_RAT - help - Enable support for AM62X M4 Series. diff --git a/soc/arm64/ti_k3/am6x/Kconfig.defconfig.series b/soc/v2/ti/k3/am6x/Kconfig.defconfig similarity index 64% rename from soc/arm64/ti_k3/am6x/Kconfig.defconfig.series rename to soc/v2/ti/k3/am6x/Kconfig.defconfig index 066acc7d668..f8a999baf50 100644 --- a/soc/arm64/ti_k3/am6x/Kconfig.defconfig.series +++ b/soc/v2/ti/k3/am6x/Kconfig.defconfig @@ -1,10 +1,7 @@ # Copyright (c) 2023 Enphase Energy # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_AM6X_A53 - -config SOC_SERIES - default "am6x" +if SOC_SERIES_AM6X # Workaround for not being able to have commas in macro arguments DT_CHOSEN_Z_FLASH := zephyr,flash @@ -17,11 +14,13 @@ config FLASH_BASE_ADDRESS config NUM_IRQS int - default 280 + default 64 if SOC_SERIES_AM6X_M4 + default 280 if SOC_SERIES_AM6X_A53 config SYS_CLOCK_HW_CYCLES_PER_SEC int - default 200000000 + default 400000000 if SOC_SERIES_AM6X_M4 + default 200000000 if SOC_SERIES_AM6X_A53 config PINCTRL default y @@ -31,12 +30,16 @@ if SERIAL config UART_NS16550 default y +config UART_NS16550_TI_K3 + default y if SOC_SERIES_AM6X_M4 + choice UART_NS16550_VARIANT default UART_NS16550_VARIANT_NS16750 endchoice endif # SERIAL -source "soc/arm64/ti_k3/am6x/Kconfig.defconfig.am62*" +config BUILD_OUTPUT_BIN + default n if SOC_SERIES_AM6X_M4 -endif # SOC_SERIES_AM6X_A53 +endif # SOC_SERIES_AM6X diff --git a/soc/v2/ti/k3/am6x/Kconfig.soc b/soc/v2/ti/k3/am6x/Kconfig.soc new file mode 100644 index 00000000000..954369bb427 --- /dev/null +++ b/soc/v2/ti/k3/am6x/Kconfig.soc @@ -0,0 +1,33 @@ +# Copyright (c) 2023 Enphase Energy +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_AM6X + bool + select SOC_FAMILY_TI_K3 + +config SOC_SERIES_AM6X_A53 + bool + select SOC_SERIES_AM6X + help + Enable support for AM6X A53 Series. + +config SOC_SERIES_AM6X_M4 + bool + select SOC_SERIES_AM6X + help + Enable support for AM62X M4 Series. + +config SOC_AM6234_A53 + bool + select SOC_SERIES_AM6X_A53 + +config SOC_AM6234_M4 + bool + select SOC_SERIES_AM6X_M4 + +config SOC_SERIES + default "am6x" if SOC_SERIES_AM6X + +config SOC_PART_NUMBER + default "AM6234" if SOC_AM6234_A53 + default "AM6234" if SOC_AM6234_M4 diff --git a/soc/arm64/ti_k3/am6x/mmu_regions.c b/soc/v2/ti/k3/am6x/a53/mmu_regions.c similarity index 100% rename from soc/arm64/ti_k3/am6x/mmu_regions.c rename to soc/v2/ti/k3/am6x/a53/mmu_regions.c diff --git a/soc/arm/ti_k3/am62x_m4/linker.ld b/soc/v2/ti/k3/am6x/m4/linker.ld similarity index 100% rename from soc/arm/ti_k3/am62x_m4/linker.ld rename to soc/v2/ti/k3/am6x/m4/linker.ld diff --git a/soc/arm/ti_k3/am62x_m4/soc.c b/soc/v2/ti/k3/am6x/m4/soc.c similarity index 100% rename from soc/arm/ti_k3/am62x_m4/soc.c rename to soc/v2/ti/k3/am6x/m4/soc.c diff --git a/soc/arm/ti_k3/am62x_m4/soc.h b/soc/v2/ti/k3/am6x/m4/soc.h similarity index 100% rename from soc/arm/ti_k3/am62x_m4/soc.h rename to soc/v2/ti/k3/am6x/m4/soc.h diff --git a/soc/arm64/ti_k3/pinctrl_soc.h b/soc/v2/ti/k3/am6x/pinctrl_soc.h similarity index 100% rename from soc/arm64/ti_k3/pinctrl_soc.h rename to soc/v2/ti/k3/am6x/pinctrl_soc.h diff --git a/soc/v2/ti/k3/soc.yml b/soc/v2/ti/k3/soc.yml new file mode 100644 index 00000000000..92ae28d5a0a --- /dev/null +++ b/soc/v2/ti/k3/soc.yml @@ -0,0 +1,9 @@ +family: +- name: ti_k3 + series: + - name: am6x + socs: + - name: am6234 + cpuclusters: + - name: m4 + - name: a53