diff --git a/arch/arm/src/tiva/cc13xx/cc13x0_trim.c b/arch/arm/src/tiva/cc13xx/cc13x0_trim.c index 2deccf2b75..8c6ed58b4a 100644 --- a/arch/arm/src/tiva/cc13xx/cc13x0_trim.c +++ b/arch/arm/src/tiva/cc13xx/cc13x0_trim.c @@ -44,7 +44,10 @@ #include -#include "cc13xx/cc13xx_chipinfo.h" +#include "tiva_chipinfo.h" +#include "hardware/tiva_vims.h" +#include "hardware/tiva_ccfg.h" +#include "hardware/tiva_ddi0_osc.h" /****************************************************************************** * Private Functions @@ -246,7 +249,7 @@ static void trim_coldreset(void) ******************************************************************************/ /****************************************************************************** - * Name: cc13x0_trim_device + * Name: cc13xx_trim_device * * Description: * Perform the necessary trim of the device which is not done in boot code @@ -257,7 +260,7 @@ static void trim_coldreset(void) * ******************************************************************************/ -void cc13x0_trim_device(void) +void cc13xx_trim_device(void) { uint32_t fcfg1_revision; uint32_t aon_sysresetctrl; diff --git a/arch/arm/src/tiva/cc13xx/cc13x2_v1_trim.c b/arch/arm/src/tiva/cc13xx/cc13x2_v1_trim.c index e06dcc737b..da1be1e5d9 100644 --- a/arch/arm/src/tiva/cc13xx/cc13x2_v1_trim.c +++ b/arch/arm/src/tiva/cc13xx/cc13x2_v1_trim.c @@ -44,7 +44,11 @@ #include -#include "chipinfo.h" +#include "tiva_chipinfo.h" +#include "hardware/tiva_vims.h" +#include "hardware/tiva_ccfg.h" +#include "hardware/tiva_ddi0_osc.h" +#include "hardware/tiva_aon_pmctl.h" /****************************************************************************** * Pre-processor Definitions @@ -96,8 +100,8 @@ static void Step_RCOSCHF_CTRIM(uint32_t toCode) current_rcoschfctrl = getreg16(TIVA_AUX_DDI0_OSCRCOSCHFCTL); current_trim = - (((current_rcoschfctrl & DDI_0_OSC_RCOSCHFCTL_RCOSCHF_CTRIM_MASK) >> - DDI_0_OSC_RCOSCHFCTL_RCOSCHF_CTRIM_SHIFT) ^ 0xc0); + (((current_rcoschfctrl & DDI0_OSC_RCOSCHFCTL_RCOSCHF_CTRIM_MASK) >> + DDI0_OSC_RCOSCHFCTL_RCOSCHF_CTRIM_SHIFT) ^ 0xc0); while (toCode != current_trim) { @@ -115,9 +119,9 @@ static void Step_RCOSCHF_CTRIM(uint32_t toCode) } regval16 = (current_rcoschfctrl & - ~DDI_0_OSC_RCOSCHFCTL_RCOSCHF_CTRIM_MASK) | + ~DDI0_OSC_RCOSCHFCTL_RCOSCHF_CTRIM_MASK) | ((current_trim ^ 0xc0) << - DDI_0_OSC_RCOSCHFCTL_RCOSCHF_CTRIM_SHIFT); + DDI0_OSC_RCOSCHFCTL_RCOSCHF_CTRIM_SHIFT); putreg16(regval16, TIVA_AUX_DDI0_OSCRCOSCHFCTL); } } @@ -225,9 +229,9 @@ static void trim_wakeup_fromshutdown(uint32_t fcfg1_revision) * OSCHfSourceSwitch(). */ - HWREG(TIVA_AUX_DDI0_OSCMASK16B + (DDI_0_OSC_CTL0_OFFSET << 1) + 4) = - DDI_0_OSC_CTL0_CLK_DCDC_SRC_SEL_MASK | - (DDI_0_OSC_CTL0_CLK_DCDC_SRC_SEL_MASK >> 16); + HWREG(TIVA_AUX_DDI0_OSCMASK16B + (DDI0_OSC_CTL0_OFFSET << 1) + 4) = + DDI0_OSC_CTL0_CLK_DCDC_SRC_SEL_MASK | + (DDI0_OSC_CTL0_CLK_DCDC_SRC_SEL_MASK >> 16); /* Dummy read to ensure that the write has propagated */ @@ -247,7 +251,7 @@ static void trim_wakeup_fromshutdown(uint32_t fcfg1_revision) * -Configure XOSC. */ -#if ( CCFG_BASE == CCFG_BASE_DEFAULT ) +#if CCFG_BASE == CCFG_BASE_DEFAULT SetupAfterColdResetWakeupFromShutDownCfg2(fcfg1_revision, ccfg_modeconf); #else @@ -433,7 +437,7 @@ static void trim_wakeup_fromshutdown(uint32_t fcfg1_revision) * -Configure HPOSC. -Setup the LF clock. */ -#if ( CCFG_BASE == CCFG_BASE_DEFAULT ) +#if CCFG_BASE == CCFG_BASE_DEFAULT SetupAfterColdResetWakeupFromShutDownCfg3(ccfg_modeconf); #else NOROM_SetupAfterColdResetWakeupFromShutDownCfg3(ccfg_modeconf); @@ -471,7 +475,7 @@ static void trim_coldreset(void) ******************************************************************************/ /****************************************************************************** - * Name: cc13x2_cc26x2_trim_device + * Name: cc13xx_trim_device * * Descriptions: * Perform the necessary trim of the device which is not done in boot code @@ -482,7 +486,7 @@ static void trim_coldreset(void) * ******************************************************************************/ -void cc13x2_cc26x2_trim_device(void) +void cc13xx_trim_device(void) { uint32_t fcfg1_revision; uint32_t aon_sysresetctrl; @@ -509,7 +513,7 @@ void cc13x2_cc26x2_trim_device(void) /* Select correct CACHE mode and set correct CACHE configuration */ -#if ( CCFG_BASE == CCFG_BASE_DEFAULT ) +#if CCFG_BASE == CCFG_BASE_DEFAULT SetupSetCacheModeAccordingToCcfgSetting(); #else NOROM_SetupSetCacheModeAccordingToCcfgSetting(); diff --git a/arch/arm/src/tiva/cc13xx/cc13x2_v2_trim.c b/arch/arm/src/tiva/cc13xx/cc13x2_v2_trim.c index fded8c0732..110d3f2dd6 100644 --- a/arch/arm/src/tiva/cc13xx/cc13x2_v2_trim.c +++ b/arch/arm/src/tiva/cc13xx/cc13x2_v2_trim.c @@ -44,7 +44,11 @@ #include -#include "chipinfo.h" +#include "tiva_chipinfo.h" +#include "hardware/tiva_vims.h" +#include "hardware/tiva_ccfg.h" +#include "hardware/tiva_ddi0_osc.h" +#include "hardware/tiva_aon_pmctl.h" /****************************************************************************** * Pre-processor Definitions @@ -124,9 +128,9 @@ static void trim_wakeup_fromshutdown(uint32_t fcfg1_revision) * OSCHfSourceSwitch(). */ - regval = DDI_0_OSC_CTL0_CLK_DCDC_SRC_SEL_MASK | - (DDI_0_OSC_CTL0_CLK_DCDC_SRC_SEL_MASK >> 16); - putreg32(regval, TIVA_AUX_DDI0_OSCMASK16B + (DDI_0_OSC_CTL0_OFFSET << 1) + 4); + regval = DDI0_OSC_CTL0_CLK_DCDC_SRC_SEL_MASK | + (DDI0_OSC_CTL0_CLK_DCDC_SRC_SEL_MASK >> 16); + putreg32(regval, TIVA_AUX_DDI0_OSCMASK16B + (DDI0_OSC_CTL0_OFFSET << 1) + 4); /* Dummy read to ensure that the write has propagated */ @@ -146,7 +150,7 @@ static void trim_wakeup_fromshutdown(uint32_t fcfg1_revision) * -Configure XOSC. */ -#if ( CCFG_BASE == CCFG_BASE_DEFAULT ) +#if CCFG_BASE == CCFG_BASE_DEFAULT SetupAfterColdResetWakeupFromShutDownCfg2(fcfg1_revision, ccfg_ModeConfReg); #else @@ -203,7 +207,7 @@ static void trim_wakeup_fromshutdown(uint32_t fcfg1_revision) * -Configure HPOSC. -Setup the LF clock. */ -#if ( CCFG_BASE == CCFG_BASE_DEFAULT ) +#if CCFG_BASE == CCFG_BASE_DEFAULT SetupAfterColdResetWakeupFromShutDownCfg3(ccfg_ModeConfReg); #else NOROM_SetupAfterColdResetWakeupFromShutDownCfg3(ccfg_ModeConfReg); @@ -241,7 +245,7 @@ static void trim_coldreset(void) ****************************************************************************/ /****************************************************************************** - * Name: + * Name: cc13xx_trim_device * * Description: * Perform the necessary trim of the device which is not done in boot code @@ -252,7 +256,7 @@ static void trim_coldreset(void) * ******************************************************************************/ -void cc13x2_cc26x2_trim_device(void) +void cc13xx_trim_device(void) { uint32_t fcfg1_revision; uint32_t aon_sysresetctrl; @@ -281,7 +285,7 @@ void cc13x2_cc26x2_trim_device(void) /* Select correct CACHE mode and set correct CACHE configuration */ -#if ( CCFG_BASE == CCFG_BASE_DEFAULT ) +#if CCFG_BASE == CCFG_BASE_DEFAULT SetupSetCacheModeAccordingToCcfgSetting(); #else NOROM_SetupSetCacheModeAccordingToCcfgSetting(); diff --git a/arch/arm/src/tiva/cc13xx/cc13xx_start.c b/arch/arm/src/tiva/cc13xx/cc13xx_start.c index 1c2af90242..db1865459b 100644 --- a/arch/arm/src/tiva/cc13xx/cc13xx_start.c +++ b/arch/arm/src/tiva/cc13xx/cc13xx_start.c @@ -90,6 +90,14 @@ const uintptr_t g_idle_topstack = HEAP_BASE; +/**************************************************************************** + * Public Function Prototypes + ****************************************************************************/ + +/* REVISIT: Should be moved to a header file */ + +void cc13xx_trim_device(void); + /**************************************************************************** * Private Functions ****************************************************************************/ @@ -219,7 +227,7 @@ void __start(void) /* Perform the necessary trim of the device which is not done in boot code. */ - cc13x2_cc26x2_trim_device(); + cc13xx_trim_device(); /* Configure the UART so that we can get debug output as soon as possible */ diff --git a/arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_ddi0_osc.h b/arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_ddi0_osc.h index 6d94b03006..ae04da1273 100644 --- a/arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_ddi0_osc.h +++ b/arch/arm/src/tiva/hardware/cc13x2_cc26x2/cc13x2_cc26x2_ddi0_osc.h @@ -137,7 +137,7 @@ * input clock from AON for the xosc_lf */ # define DDI0_OSC_CTL0_XOSC_LF_DIG_32KHZ (0) /* Use 32kHz XOSC as xosc_lf * clock source */ -# define DDI0_OSC_CTL0_XOSC_LF_DIG_BYPASS DDI0_OSC_CTL0_XOSC_LF_DIG_BYPASS /* Use digital input (from AON) +# define DDI0_OSC_CTL0_XOSC_LF_DIG_DIGINPUT DDI0_OSC_CTL0_XOSC_LF_DIG_BYPASS /* Use digital input (from AON) * as xosc_lf clock source */ #define DDI0_OSC_CTL0_XOSC_HF_POWER_MODE (1 << 11) /* Bit 11 */ #define DDI0_OSC_CTL0_RCOSC_LF_TRIMMED (1 << 12) /* Bit 12 */ @@ -329,9 +329,9 @@ #define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT (0) /* Bits 0-3: Adjusts bias current to RCOSC_MF */ #define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_MASK (15 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT) # define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ(n) ((uint32_t)(n) << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT) -# define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_ (8 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT) /* minimum current */ -# define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_ (0 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT) /* default current */ -# define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_ (7 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT) /* maximum current */ +# define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_MIN (8 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT) /* minimum current */ +# define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_DEFAULT (0 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT) /* default current */ +# define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_MAX (7 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_BIAS_ADJ_SHIFT) /* maximum current */ #define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_RES_FINE_SHIFT (4) /* Bits 4-5: Select fine resistor for frequency adjustment */ #define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_RES_FINE_MASK (3 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_RES_FINE_SHIFT) # define DDI0_OSC_RCOSCMFCTL_RCOSC_MF_RES_FINE_11K (0 << DDI0_OSC_RCOSCMFCTL_RCOSC_MF_RES_FINE_SHIFT) /* 11kohms, minimum resistance, diff --git a/arch/arm/src/tiva/hardware/tiva_aon_ioc.h b/arch/arm/src/tiva/hardware/tiva_aon_ioc.h new file mode 100644 index 0000000000..16c7987e6c --- /dev/null +++ b/arch/arm/src/tiva/hardware/tiva_aon_ioc.h @@ -0,0 +1,73 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/tiva_aon_ioc.h + * + * Copyright (C) 2018 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_AON_IOC_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_AON_IOC_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/* Include the pin mapping file for the specific Tiva/Stellaris/SimpleLink chip */ + +#if defined(CONFIG_ARCH_CHIP_LM) || defined(CONFIG_ARCH_CHIP_TM4C) + /* These architectures do not support the AON IOC block */ +#elif defined(CONFIG_ARCH_CHIP_CC13X0) +# include "hardware/cc13x0/cc13x0_aon_ioc.h" +#elif defined(CONFIG_ARCH_CHIP_CC13X2) +# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_aon_ioc.h" +#else +# error "Unsupported Tiva/Stellaris/SimpleLink AON IOC" +#endif + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_AON_IOC_H */ diff --git a/arch/arm/src/tiva/hardware/tiva_aon_pmctl.h b/arch/arm/src/tiva/hardware/tiva_aon_pmctl.h new file mode 100644 index 0000000000..3c1f9b237a --- /dev/null +++ b/arch/arm/src/tiva/hardware/tiva_aon_pmctl.h @@ -0,0 +1,72 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/tiva_aon_pmctl.h + * + * Copyright (C) 2018 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_AON_PMCTL_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_AON_PMCTL_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/* Include the pin mapping file for the specific Tiva/Stellaris/SimpleLink chip */ + +#if defined(CONFIG_ARCH_CHIP_LM) || defined(CONFIG_ARCH_CHIP_TM4C) || \ + defined(CONFIG_ARCH_CHIP_CC13X0) + /* These architectures do not support the AON PMCTL block */ +#elif defined(CONFIG_ARCH_CHIP_CC13X2) +# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_aon_pmctl.h" +#else +# error "Unsupported Tiva/Stellaris/SimpleLink AON PMCTL" +#endif + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_AON_PMCTL_H */ diff --git a/arch/arm/src/tiva/hardware/tiva_ccfg.h b/arch/arm/src/tiva/hardware/tiva_ccfg.h new file mode 100644 index 0000000000..d067fbe841 --- /dev/null +++ b/arch/arm/src/tiva/hardware/tiva_ccfg.h @@ -0,0 +1,73 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/tiva_ccfg.h + * + * Copyright (C) 2018 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_CCFG_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_CCFG_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/* Include the pin mapping file for the specific Tiva/Stellaris/SimpleLink chip */ + +#if defined(CONFIG_ARCH_CHIP_LM) || defined(CONFIG_ARCH_CHIP_TM4C) + /* These architectures do not support the CCFG block */ +#elif defined(CONFIG_ARCH_CHIP_CC13X0) +# include "hardware/cc13x0/cc13x0_ccfg.h" +#elif defined(CONFIG_ARCH_CHIP_CC13X2) +# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_ccfg.h" +#else +# error "Unsupported Tiva/Stellaris/SimpleLink CCFG" +#endif + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_CCFG_H */ diff --git a/arch/arm/src/tiva/hardware/tiva_ddi0_osc.h b/arch/arm/src/tiva/hardware/tiva_ddi0_osc.h new file mode 100644 index 0000000000..36fb6a7806 --- /dev/null +++ b/arch/arm/src/tiva/hardware/tiva_ddi0_osc.h @@ -0,0 +1,73 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/tiva_ddi0_osc.h + * + * Copyright (C) 2018 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_DDI0_OSC_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_DDI0_OSC_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/* Include the pin mapping file for the specific Tiva/Stellaris/SimpleLink chip */ + +#if defined(CONFIG_ARCH_CHIP_LM) || defined(CONFIG_ARCH_CHIP_TM4C) + /* These architectures do not support the DDI0_OSC block */ +#elif defined(CONFIG_ARCH_CHIP_CC13X0) +# include "hardware/cc13x0/cc13x0_ddi0_osc.h" +#elif defined(CONFIG_ARCH_CHIP_CC13X2) +# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_ddi0_osc.h" +#else +# error "Unsupported Tiva/Stellaris/SimpleLink DDI0_OSC" +#endif + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_DDI0_OSC_H */ diff --git a/arch/arm/src/tiva/hardware/tiva_vims.h b/arch/arm/src/tiva/hardware/tiva_vims.h new file mode 100644 index 0000000000..99cfe93626 --- /dev/null +++ b/arch/arm/src/tiva/hardware/tiva_vims.h @@ -0,0 +1,73 @@ +/************************************************************************************ + * arch/arm/src/tiva/hardware/tiva_vims.h + * + * Copyright (C) 2018 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************************************/ + +#ifndef __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_VIMS_H +#define __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_VIMS_H + +/************************************************************************************ + * Included Files + ************************************************************************************/ + +#include + +/* Include the pin mapping file for the specific Tiva/Stellaris/SimpleLink chip */ + +#if defined(CONFIG_ARCH_CHIP_LM) || defined(CONFIG_ARCH_CHIP_TM4C) + /* These architectures do not support the VIMS block */ +#elif defined(CONFIG_ARCH_CHIP_CC13X0) +# include "hardware/cc13x0/cc13x0_vims.h" +#elif defined(CONFIG_ARCH_CHIP_CC13X2) +# include "hardware/cc13x2_cc26x2/cc13x2_cc26x2_vims.h" +#else +# error "Unsupported Tiva/Stellaris/SimpleLink VIMS" +#endif + +/************************************************************************************ + * Pre-processor Definitions + ************************************************************************************/ + +/************************************************************************************ + * Public Types + ************************************************************************************/ + +/************************************************************************************ + * Public Data + ************************************************************************************/ + +/************************************************************************************ + * Public Function Prototypes + ************************************************************************************/ + +#endif /* __ARCH_ARM_SRC_TIVA_HARDWARE_TIVA_VIMS_H */