diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0ab4a6a5495..850a7079a6e 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -233,6 +233,13 @@ config ARCH_CHIP_STR71X ---help--- STMicro STR71x architectures (ARM7TDMI). +config ARCH_CHIP_TMS570 + bool "TI TMS570" + select ARCH_HAVE_LOWVECTORS + select ARCH_HAVE_RAMFUNCS + ---help--- + TI TMS570 family + config ARCH_CHIP_MOXART bool "MoxART" select ARCH_ARM7TDMI @@ -306,12 +313,58 @@ config ARCH_CORTEXA8 select ARCH_USE_MMU select ARCH_HAVE_COHERENT_DCACHE if ELF || MODULE +config ARCH_CORTEXR4 + bool + default n + select ARCH_HAVE_IRQPRIO + select ARCH_HAVE_MPU + select ARCH_HAVE_COHERENT_DCACHE if ELF || MODULE + +config ARCH_CORTEXR4F + bool + default n + select ARCH_HAVE_IRQPRIO + select ARCH_HAVE_MPU + select ARCH_HAVE_FPU + select ARCH_HAVE_COHERENT_DCACHE if ELF || MODULE + +config ARCH_CORTEXR5 + bool + default n + select ARCH_HAVE_IRQPRIO + select ARCH_HAVE_MPU + select ARCH_HAVE_COHERENT_DCACHE if ELF || MODULE + +config ARCH_CORTEX5F + bool + default n + select ARCH_HAVE_IRQPRIO + select ARCH_HAVE_MPU + select ARCH_HAVE_FPU + select ARCH_HAVE_COHERENT_DCACHE if ELF || MODULE + +config ARCH_CORTEXR7 + bool + default n + select ARCH_HAVE_IRQPRIO + select ARCH_HAVE_MPU + select ARCH_HAVE_COHERENT_DCACHE if ELF || MODULE + +config ARCH_CORTEXR7F + bool + default n + select ARCH_HAVE_IRQPRIO + select ARCH_HAVE_MPU + select ARCH_HAVE_FPU + select ARCH_HAVE_COHERENT_DCACHE if ELF || MODULE + config ARCH_FAMILY string default "arm" if ARCH_ARM7TDMI || ARCH_ARM926EJS || ARCH_ARM920T default "armv6-m" if ARCH_CORTEXM0 default "armv7-a" if ARCH_CORTEXA5 || ARCH_CORTEXA8 default "armv7-m" if ARCH_CORTEXM3 || ARCH_CORTEXM4 || ARCH_CORTEXM7 + default "armv7-r" if ARCH_CORTEXR4 || ARCH_CORTEXR4F || ARCH_CORTEXR5 || ARCH_CORTEXR5F || ARCH_CORTEX74 || ARCH_CORTEXR7F config ARCH_CHIP string @@ -338,6 +391,7 @@ config ARCH_CHIP default "stm32" if ARCH_CHIP_STM32 default "stm32f7" if ARCH_CHIP_STM32F7 default "str71x" if ARCH_CHIP_STR71X + default "tms570" if ARCH_CHIP_TMS570 default "moxart" if ARCH_CHIP_MOXART config ARMV7M_USEBASEPRI @@ -482,6 +536,9 @@ endif if ARCH_CORTEXM3 || ARCH_CORTEXM4 || ARCH_CORTEXM7 source arch/arm/src/armv7-m/Kconfig endif +if ARCH_CORTEXR4 || ARCH_CORTEXR4F || ARCH_CORTEXR5 || ARCH_CORTEXR5F || ARCH_CORTEX74 || ARCH_CORTEXR7F +source arch/arm/src/armv7-r/Kconfig +endif if ARCH_ARM7TDMI || ARCH_ARM926EJS || ARCH_ARM920T source arch/arm/src/arm/Kconfig endif @@ -554,6 +611,9 @@ endif if ARCH_CHIP_STR71X source arch/arm/src/str71x/Kconfig endif +if ARCH_CHIP_TMS570 +source arch/arm/src/tms570/Kconfig +endif if ARCH_CHIP_MOXART source arch/arm/src/moxart/Kconfig endif diff --git a/arch/arm/include/tms570/chip.h b/arch/arm/include/tms570/chip.h index b0b7dac6cb1..e3034a2dc91 100644 --- a/arch/arm/include/tms570/chip.h +++ b/arch/arm/include/tms570/chip.h @@ -71,7 +71,7 @@ * RTP/DMM – – – */ -#elif defined(CONFIG_ARCH_CHIP_TMS570LS0232PZ) +#if defined(CONFIG_ARCH_CHIP_TMS570LS0232PZ) # define TMS570_CORTEX_R4 1 /* Cortex-R4 family */ # undef TMS570_CORTEX_R4F /* Not Cortex-R4F family */ # undef TMS570_CORTEX_R5 /* Not Cortex-R5 family */ diff --git a/arch/arm/src/Makefile b/arch/arm/src/Makefile index f36e19f5712..95dcacd228d 100644 --- a/arch/arm/src/Makefile +++ b/arch/arm/src/Makefile @@ -40,6 +40,18 @@ ifeq ($(CONFIG_ARCH_CORTEXA5),y) # Cortex-A5 is ARMv7-A ARCH_SUBDIR = armv7-a else ifeq ($(CONFIG_ARCH_CORTEXA8),y) # Cortex-A8 is ARMv7-A ARCH_SUBDIR = armv7-a +else ifeq ($(CONFIG_ARCH_CORTEXR4),y) # Cortex-R4 is ARMv7-R +ARCH_SUBDIR = armv7-r +else ifeq ($(CONFIG_ARCH_CORTEXR4F),y) # Cortex-R4F is ARMv7-R +ARCH_SUBDIR = armv7-r +else ifeq ($(CONFIG_ARCH_CORTEXR5),y) # Cortex-R5 is ARMv7-R +ARCH_SUBDIR = armv7-r +else ifeq ($(CONFIG_ARCH_CORTEXR5F),y) # Cortex-R5F is ARMv7-R +ARCH_SUBDIR = armv7-r +else ifeq ($(CONFIG_ARCH_CORTEXR7),y) # Cortex-R7 is ARMv7-R +ARCH_SUBDIR = armv7-r +else ifeq ($(CONFIG_ARCH_CORTEXR7F),y) # Cortex-R7F is ARMv7-R +ARCH_SUBDIR = armv7-r else ifeq ($(CONFIG_ARCH_CORTEXM3),y) # Cortex-M3 is ARMv7-M ARCH_SUBDIR = armv7-m else ifeq ($(CONFIG_ARCH_CORTEXM4),y) # Cortex-M4 is ARMv7E-M diff --git a/arch/arm/src/tms570/Kconfig b/arch/arm/src/tms570/Kconfig index 616ad8fb843..e9a52b8ef85 100644 --- a/arch/arm/src/tms570/Kconfig +++ b/arch/arm/src/tms570/Kconfig @@ -9,10 +9,44 @@ comment "TMS570 Configuration Options" # Chip Capabilities -# Summary configuratinos +# Summary configurations # Chip Selection +choice + prompt "TI TMS570 Chip Selection" + default ARCH_CHIP_TMS570LS1227ZWT + +config ARCH_CHIP_TMS570LS0232PZ + bool "TI TMS570LS0232PZ" + select ARCH_CORTEXR4 + +config ARCH_CHIP_TMS570LS0332PZ + bool "TI TMS570LS0332PZ" + select ARCH_CORTEXR4 + +config ARCH_CHIP_TMS570LS0432PZ + bool "TI TMS570LS0432PZ" + select ARCH_CORTEXR4 + +config ARCH_CHIP_TMS570LS0714PZ + bool "TI TMS570LS0714PZ" + select ARCH_CORTEXR4F + +config ARCH_CHIP_TMS570LS0714PGE + bool "TI TMS570LS0714PGE" + select ARCH_CORTEXR4F + +config ARCH_CHIP_TMS570LS0714ZWT + bool "TI TMS570LS0714ZWT" + select ARCH_CORTEXR4F + +config ARCH_CHIP_TMS570LS1227ZWT + bool "TI TMS570LS1227ZWT" + select ARCH_CORTEXR4F + +endchoice # TI TMS570 Chip Selection + #menu "TMS570 Peripheral Support" # endmenu # TMS570 Peripheral Support