soc: ti_k3: Port to HWMv2
Ports the ti_k3 SoC configuration to hardware model version 2 Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This commit is contained in:
@@ -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})
|
||||
@@ -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
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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 "")
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 <zephyr/devicetree.h>
|
||||
#include <zephyr/types.h>
|
||||
|
||||
#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_ */
|
||||
@@ -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
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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 "")
|
||||
@@ -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
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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})
|
||||
5
soc/v2/ti/k3/Kconfig
Normal file
5
soc/v2/ti/k3/Kconfig
Normal file
@@ -0,0 +1,5 @@
|
||||
# Copyright (c) 2024 Nordic Semiconductor ASA
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
rsource "*/Kconfig"
|
||||
|
||||
8
soc/v2/ti/k3/Kconfig.defconfig
Normal file
8
soc/v2/ti/k3/Kconfig.defconfig
Normal file
@@ -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
|
||||
10
soc/v2/ti/k3/Kconfig.soc
Normal file
10
soc/v2/ti/k3/Kconfig.soc
Normal file
@@ -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"
|
||||
21
soc/v2/ti/k3/am6x/CMakeLists.txt
Normal file
21
soc/v2/ti/k3/am6x/CMakeLists.txt
Normal file
@@ -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()
|
||||
@@ -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.
|
||||
@@ -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
|
||||
33
soc/v2/ti/k3/am6x/Kconfig.soc
Normal file
33
soc/v2/ti/k3/am6x/Kconfig.soc
Normal file
@@ -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
|
||||
9
soc/v2/ti/k3/soc.yml
Normal file
9
soc/v2/ti/k3/soc.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
family:
|
||||
- name: ti_k3
|
||||
series:
|
||||
- name: am6x
|
||||
socs:
|
||||
- name: am6234
|
||||
cpuclusters:
|
||||
- name: m4
|
||||
- name: a53
|
||||
Reference in New Issue
Block a user