cc3200: Add support for the TI CC32xx SoC Series
Initial support is for the CC3200 SoC, comprising a network coprocessor and Cortex-M4 MPU. This leverages the CC3200 SDK driver peripheral library, installed separately, or built from ext/hal/. Jira: ZEP-1109 Change-Id: I508afc8596c165b309a4ec641c39abadc779eea3 Signed-off-by: Gil Pitney <gil.pitney@linaro.org>
This commit is contained in:
parent
88101bceb2
commit
385c7be8af
13 changed files with 156 additions and 0 deletions
1
arch/arm/soc/ti_simplelink/Kbuild
Normal file
1
arch/arm/soc/ti_simplelink/Kbuild
Normal file
|
@ -0,0 +1 @@
|
|||
obj-y += $(SOC_SERIES)/
|
15
arch/arm/soc/ti_simplelink/Kconfig
Normal file
15
arch/arm/soc/ti_simplelink/Kconfig
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Kconfig - Texas Instruments SimpleLink Family
|
||||
#
|
||||
|
||||
config SOC_FAMILY_TISIMPLELINK
|
||||
bool
|
||||
# omit prompt to signify a "hidden" option
|
||||
default n
|
||||
|
||||
if SOC_FAMILY_TISIMPLELINK
|
||||
config SOC_FAMILY
|
||||
string
|
||||
default ti_simplelink
|
||||
endif
|
||||
|
||||
source "arch/arm/soc/ti_simplelink/*/Kconfig.soc"
|
1
arch/arm/soc/ti_simplelink/Kconfig.defconfig
Normal file
1
arch/arm/soc/ti_simplelink/Kconfig.defconfig
Normal file
|
@ -0,0 +1 @@
|
|||
source "arch/arm/soc/ti_simplelink/*/Kconfig.defconfig.series"
|
4
arch/arm/soc/ti_simplelink/Kconfig.soc
Normal file
4
arch/arm/soc/ti_simplelink/Kconfig.soc
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Kconfig - Texas Instruments SimpleLink Family
|
||||
#
|
||||
|
||||
source "arch/arm/soc/ti_simplelink/*/Kconfig.series"
|
32
arch/arm/soc/ti_simplelink/cc32xx/Kconfig.defconfig.cc3200
Normal file
32
arch/arm/soc/ti_simplelink/cc32xx/Kconfig.defconfig.cc3200
Normal file
|
@ -0,0 +1,32 @@
|
|||
# Kconfig.defconfig.cc3200- TI SimpleLink CC3200 SoC
|
||||
#
|
||||
|
||||
if SOC_CC3200
|
||||
|
||||
config SOC
|
||||
string
|
||||
default cc3200
|
||||
|
||||
config SYS_CLOCK_HW_CYCLES_PER_SEC
|
||||
int
|
||||
default 80000000
|
||||
|
||||
config SRAM_SIZE
|
||||
default 240
|
||||
|
||||
config FLASH_SIZE
|
||||
default 0
|
||||
|
||||
config CC3200SDK_LIBRARY
|
||||
def_bool n
|
||||
|
||||
config CC3200SDK_INSTALL_PATH
|
||||
default ""
|
||||
|
||||
config NUM_IRQS
|
||||
int
|
||||
# must be >= the highest interrupt number used
|
||||
# This includes the NWP interrupt
|
||||
default 179
|
||||
|
||||
endif # SOC_CC3200
|
18
arch/arm/soc/ti_simplelink/cc32xx/Kconfig.defconfig.series
Normal file
18
arch/arm/soc/ti_simplelink/cc32xx/Kconfig.defconfig.series
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Kconfig.defconfig.series - TI SimpleLink Family
|
||||
#
|
||||
|
||||
if SOC_SERIES_CC32XX
|
||||
|
||||
source "arch/arm/soc/ti_simplelink/cc32xx/Kconfig.defconfig.cc32*"
|
||||
|
||||
config SOC_SERIES
|
||||
default cc32xx
|
||||
|
||||
config SRAM_BASE_ADDRESS
|
||||
default 0x20004000
|
||||
|
||||
config NUM_IRQ_PRIO_BITS
|
||||
int
|
||||
default 3
|
||||
|
||||
endif # SOC_SERIES_CC32XX
|
10
arch/arm/soc/ti_simplelink/cc32xx/Kconfig.series
Normal file
10
arch/arm/soc/ti_simplelink/cc32xx/Kconfig.series
Normal file
|
@ -0,0 +1,10 @@
|
|||
# Kconfig.series - TI SimpleLink CC32xx
|
||||
#
|
||||
|
||||
config SOC_SERIES_CC32XX
|
||||
bool "TI SimpleLink Family"
|
||||
select CPU_CORTEX_M
|
||||
select CPU_CORTEX_M4
|
||||
select SOC_FAMILY_TISIMPLELINK
|
||||
help
|
||||
Enable support for TI SimpleLink CC32xx
|
13
arch/arm/soc/ti_simplelink/cc32xx/Kconfig.soc
Normal file
13
arch/arm/soc/ti_simplelink/cc32xx/Kconfig.soc
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Kconfig.soc - Texas Instruments CC3200
|
||||
#
|
||||
|
||||
choice
|
||||
prompt "TI SimpleLink MCU Selection"
|
||||
depends on SOC_SERIES_CC32XX
|
||||
|
||||
config SOC_CC3200
|
||||
bool "CC3200"
|
||||
select CPU_HAS_FPU
|
||||
select HAS_CC3200SDK
|
||||
|
||||
endchoice
|
1
arch/arm/soc/ti_simplelink/cc32xx/Makefile
Normal file
1
arch/arm/soc/ti_simplelink/cc32xx/Makefile
Normal file
|
@ -0,0 +1 @@
|
|||
obj-y += soc.o
|
10
arch/arm/soc/ti_simplelink/cc32xx/README
Normal file
10
arch/arm/soc/ti_simplelink/cc32xx/README
Normal file
|
@ -0,0 +1,10 @@
|
|||
CC3200 Board and Bootloader info taken from:
|
||||
* http://www.ti.com.cn/cn/lit/ug/swru367c/swru367c.pdf
|
||||
* http://www.ti.com/lit/ug/swru369c/swru369c.pdf
|
||||
|
||||
Notes:
|
||||
* CC3200 has no integrated flash Memory.
|
||||
* TI bootloader takes first 16Kb of the 256Kb SRAM, so app must start at
|
||||
0x20004000. CC3200 Kconfig must set SRAM size to 240Kb or less, since
|
||||
Zephyr computes TOP_OF_MEMORY (used for stack) based on SRAM_BASE_ADDRESS
|
||||
+ SRAM_SIZE.
|
3
arch/arm/soc/ti_simplelink/cc32xx/linker.ld
Normal file
3
arch/arm/soc/ti_simplelink/cc32xx/linker.ld
Normal file
|
@ -0,0 +1,3 @@
|
|||
/* linker.ld - Linker command/script file */
|
||||
|
||||
#include <arch/arm/cortex_m/scripts/linker.ld>
|
31
arch/arm/soc/ti_simplelink/cc32xx/soc.c
Normal file
31
arch/arm/soc/ti_simplelink/cc32xx/soc.c
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright (c) 2016, Texas Instruments Incorporated
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include <nanokernel.h>
|
||||
#include <device.h>
|
||||
#include <init.h>
|
||||
#include <soc.h>
|
||||
|
||||
static int ti_cc3200_init(struct device *arg)
|
||||
{
|
||||
ARG_UNUSED(arg);
|
||||
|
||||
PRCMCC3200MCUInit();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
SYS_INIT(ti_cc3200_init, PRIMARY, 0);
|
17
arch/arm/soc/ti_simplelink/cc32xx/soc.h
Normal file
17
arch/arm/soc/ti_simplelink/cc32xx/soc.h
Normal file
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* Copyright (c) 2016, Texas Instruments Incorporated
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#include <inc/hw_types.h>
|
||||
#include <driverlib/prcm.h>
|
Loading…
Add table
Add a link
Reference in a new issue