diff --git a/Documentation/NuttXCCodingStandard.html b/Documentation/NuttXCCodingStandard.html index 946c63763db..0693efc50fb 100755 --- a/Documentation/NuttXCCodingStandard.html +++ b/Documentation/NuttXCCodingStandard.html @@ -12,7 +12,7 @@

NuttX C Coding Standard

-

Last Updated: February 6, 2014

+

Last Updated: March 9, 2014

@@ -1747,17 +1747,26 @@ ptr = (FAR struct somestruct_s *)value;
  • Braces in column 1 - The opening and close braces of the compound statement mst be placed in column one. + The opening and close braces of the compound statement must be placed in column one.
  • First definition or statement in column 3. The first data definitions or statements in the function body are idented by two spaces. Standards for statements are covered in the following paragaraph
  • +
  • + Local variables first. + Because NuttX conforms to the older C89 standard, all variables that have scope over the entire compound statement must be defined at the beginning of the compound statement. + A single blank line must follow the local variable definitions. +
  • Long functions are discouraged. As a rule of thumb, the length of a function should be limited so that it would fit on a single page (if you were to print the source code).
  • +
  • + Space after the function boady + A one (and only one) blank line must follow the closing right brace of the function body. +
  • Returned Values

    diff --git a/TODO b/TODO index b780cca39cf..84b6e80304e 100644 --- a/TODO +++ b/TODO @@ -22,7 +22,7 @@ nuttx/ (5) Graphics subystem (graphics/) (1) Pascal add-on (pcode/) (1) Documentation (Documentation/) - (6) Build system / Toolchains + (5) Build system / Toolchains (5) Linux/Cywgin simulation (arch/sim) (4) ARM (arch/arm/) (1) ARM/C5471 (arch/arm/src/c5471/) @@ -1402,34 +1402,6 @@ o Build system Status: Open Priority: Low. - Title: kconfig-mconf NOT AVAILABLE IN NATIVE WINDOWS BUILD - Description: NuttX is migrating to the use of the kconfig-frontends kconfig-mconf - tool for all configurations. In NuttX 6.24, support for native - Windows builds was added. However, thekconfig- mconf tool does not - build to run natively under Windows. - - Some effort was spent trying to get a clean kconfig-mconf build under - Windows. This is documented in the message thread beginning - here: http://tech.groups.yahoo.com/group/nuttx/message/2900. - The build was successfully completed using: MinGW-GCC, MSYS, - additional Windows libraries, and additional MSYS libraries - (MSYS is a variant of Cygwin so, presumably, Cygwin could - have been used as well). However, on final testing, it was - found that there are problems with text and numeric entry: - http://tech.groups.yahoo.com/group/nuttx/message/2953. This - was considered a show stopper and the changes were not checked - in. - - Options: (1) Use kconfigs-conf (not kconfig-mconf). confis the text-only - configuration tool, (2) fix kconfig-mconf, (3) write another variant - of the configuration tool for windows, or (4) do all configuration - under Cygwin or MSYS. I am doing (4) now, but this is very - awkward because I have to set the apps path to ../apps (vs - ..\apps) and CONFIG_WINDOWS_NATIVE=n for the 'make menuconfig' - to run error free under windows. Very awkward! - Status: Open, there are some workarounds, but none are good. - Priority: High - o Linux/Cywgin simulation (arch/sim) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/arch/arm/src/tiva/chip/tiva_gpio.h b/arch/arm/src/tiva/chip/tiva_gpio.h index f8fcca93bc9..8ad87066317 100644 --- a/arch/arm/src/tiva/chip/tiva_gpio.h +++ b/arch/arm/src/tiva/chip/tiva_gpio.h @@ -70,7 +70,7 @@ #define TIVA_GPIO_LOCK_OFFSET 0x520 /* GPIO Lock */ #define TIVA_GPIO_CR_OFFSET 0x524 /* GPIO Commit */ -#ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIO_AMSEL_OFFSET 0x528 /* GPIO Analog Mode Select */ # define TIVA_GPIO_PCTL_OFFSET 0x52c /* GPIO Port Control */ # define TIVA_GPIO_ADCCTL_OFFSET 0x530 /* GPIO ADC Control */ @@ -115,7 +115,7 @@ # define TIVA_GPIOA_LOCK (TIVA_GPIOA_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOA_CR (TIVA_GPIOA_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOA_AMSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOA_PCTL (TIVA_GPIOA_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOA_ADCCTL (TIVA_GPIOA_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -158,7 +158,7 @@ # define TIVA_GPIOB_LOCK (TIVA_GPIOB_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOB_CR (TIVA_GPIOB_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOB_AMSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOB_PCTL (TIVA_GPIOB_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOB_ADCCTL (TIVA_GPIOB_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -201,7 +201,7 @@ # define TIVA_GPIOC_LOCK (TIVA_GPIOC_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOC_CR (TIVA_GPIOC_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOC_AMSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOC_PCTL (TIVA_GPIOC_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOC_ADCCTL (TIVA_GPIOC_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -244,7 +244,7 @@ # define TIVA_GPIOD_LOCK (TIVA_GPIOD_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOD_CR (TIVA_GPIOD_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOD_AMSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOD_PCTL (TIVA_GPIOD_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOD_ADCCTL (TIVA_GPIOD_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -287,7 +287,7 @@ # define TIVA_GPIOE_LOCK (TIVA_GPIOE_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOE_CR (TIVA_GPIOE_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOE_AMSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOE_PCTL (TIVA_GPIOE_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOE_ADCCTL (TIVA_GPIOE_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -330,7 +330,7 @@ # define TIVA_GPIOF_LOCK (TIVA_GPIOF_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOF_CR (TIVA_GPIOF_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOF_AMSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOF_PCTL (TIVA_GPIOF_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOF_ADCCTL (TIVA_GPIOF_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -373,7 +373,7 @@ # define TIVA_GPIOG_LOCK (TIVA_GPIOG_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOG_CR (TIVA_GPIOG_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOG_AMSEL (TIVA_GPIOG_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOG_PCTL (TIVA_GPIOG_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOG_ADCCTL (TIVA_GPIOG_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -416,7 +416,7 @@ # define TIVA_GPIOH_LOCK (TIVA_GPIOH_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOH_CR (TIVA_GPIOH_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOH_AMSEL (TIVA_GPIOH_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOH_PCTL (TIVA_GPIOH_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOH_ADCCTL (TIVA_GPIOH_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -459,7 +459,7 @@ # define TIVA_GPIOJ_LOCK (TIVA_GPIOJ_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOJ_CR (TIVA_GPIOJ_BASE + TIVA_GPIO_CR_OFFSET) -# ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define TIVA_GPIOJ_AMSEL (TIVA_GPIOJ_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOJ_PCTL (TIVA_GPIOJ_BASE + TIVA_GPIO_PCTL_OFFSET) # define TIVA_GPIOJ_ADCCTL (TIVA_GPIOJ_BASE + TIVA_GPIO_ADCCTL_OFFSET) @@ -479,11 +479,269 @@ # define TIVA_GPIOJ_PCELLID2 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID2_OFFSET) # define TIVA_GPIOJ_PCELLID3 (TIVA_GPIOJ_BASE + TIVA_GPIO_PCELLID3_OFFSET) +#elif TIVA_NPORTS > 9 + +# define TIVA_GPIOK_DATA (TIVA_GPIOK_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOK_DIR (TIVA_GPIOK_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOK_IS (TIVA_GPIOK_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOK_IBE (TIVA_GPIOK_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOK_IEV (TIVA_GPIOK_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOK_IM (TIVA_GPIOK_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOK_RIS (TIVA_GPIOK_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOK_MIS (TIVA_GPIOK_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOK_ICR (TIVA_GPIOK_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOK_AFSEL (TIVA_GPIOK_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOK_DR2R (TIVA_GPIOK_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOK_DR4R (TIVA_GPIOK_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOK_DR8R (TIVA_GPIOK_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOK_ODR (TIVA_GPIOK_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOK_PUR (TIVA_GPIOK_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOK_PDR (TIVA_GPIOK_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOK_SLR (TIVA_GPIOK_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOK_DEN (TIVA_GPIOK_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOK_LOCK (TIVA_GPIOK_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOK_CR (TIVA_GPIOK_BASE + TIVA_GPIO_CR_OFFSET) + +#if defined(LM4F) || defined(TM4C) +# define TIVA_GPIOK_AMSEL (TIVA_GPIOK_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOK_PCTL (TIVA_GPIOK_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOK_ADCCTL (TIVA_GPIOK_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOK_DMACTL (TIVA_GPIOK_BASE + TIVA_GPIO_DMACTL_OFFSET) +# endif + +# define TIVA_GPIOK_PERIPHID4 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOK_PERIPHID5 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOK_PERIPHID6 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOK_PERIPHID7 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOK_PERIPHID0 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOK_PERIPHID1 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOK_PERIPHID2 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOK_PERIPHID3 (TIVA_GPIOK_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOK_PCELLID0 (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOK_PCELLID1 (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOK_PCELLID2 (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOK_PCELLID3 (TIVA_GPIOK_BASE + TIVA_GPIO_PCELLID3_OFFSET) + +#elif TIVA_NPORTS > 10 + +# define TIVA_GPIOL_DATA (TIVA_GPIOL_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOL_DIR (TIVA_GPIOL_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOL_IS (TIVA_GPIOL_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOL_IBE (TIVA_GPIOL_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOL_IEV (TIVA_GPIOL_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOL_IM (TIVA_GPIOL_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOL_RIS (TIVA_GPIOL_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOL_MIS (TIVA_GPIOL_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOL_ICR (TIVA_GPIOL_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOL_AFSEL (TIVA_GPIOL_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOL_DR2R (TIVA_GPIOL_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOL_DR4R (TIVA_GPIOL_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOL_DR8R (TIVA_GPIOL_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOL_ODR (TIVA_GPIOL_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOL_PUR (TIVA_GPIOL_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOL_PDR (TIVA_GPIOL_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOL_SLR (TIVA_GPIOL_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOL_DEN (TIVA_GPIOL_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOL_LOCK (TIVA_GPIOL_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOL_CR (TIVA_GPIOL_BASE + TIVA_GPIO_CR_OFFSET) + +#if defined(LM4F) || defined(TM4C) +# define TIVA_GPIOL_AMSEL (TIVA_GPIOL_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOL_PCTL (TIVA_GPIOL_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOL_ADCCTL (TIVA_GPIOL_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOL_DMACTL (TIVA_GPIOL_BASE + TIVA_GPIO_DMACTL_OFFSET) +# endif + +# define TIVA_GPIOL_PERIPHID4 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOL_PERIPHID5 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOL_PERIPHID6 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOL_PERIPHID7 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOL_PERIPHID0 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOL_PERIPHID1 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOL_PERIPHID2 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOL_PERIPHID3 (TIVA_GPIOL_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOL_PCELLID0 (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOL_PCELLID1 (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOL_PCELLID2 (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOL_PCELLID3 (TIVA_GPIOL_BASE + TIVA_GPIO_PCELLID3_OFFSET) + +#elif TIVA_NPORTS > 11 + +# define TIVA_GPIOM_DATA (TIVA_GPIOM_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOM_DIR (TIVA_GPIOM_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOM_IS (TIVA_GPIOM_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOM_IBE (TIVA_GPIOM_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOM_IEV (TIVA_GPIOM_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOM_IM (TIVA_GPIOM_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOM_RIS (TIVA_GPIOM_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOM_MIS (TIVA_GPIOM_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOM_ICR (TIVA_GPIOM_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOM_AFSEL (TIVA_GPIOM_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOM_DR2R (TIVA_GPIOM_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOM_DR4R (TIVA_GPIOM_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOM_DR8R (TIVA_GPIOM_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOM_ODR (TIVA_GPIOM_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOM_PUR (TIVA_GPIOM_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOM_PDR (TIVA_GPIOM_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOM_SLR (TIVA_GPIOM_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOM_DEN (TIVA_GPIOM_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOM_LOCK (TIVA_GPIOM_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOM_CR (TIVA_GPIOM_BASE + TIVA_GPIO_CR_OFFSET) + +#if defined(LM4F) || defined(TM4C) +# define TIVA_GPIOM_AMSEL (TIVA_GPIOM_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOM_PCTL (TIVA_GPIOM_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOM_ADCCTL (TIVA_GPIOM_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOM_DMACTL (TIVA_GPIOM_BASE + TIVA_GPIO_DMACTL_OFFSET) +# endif + +# define TIVA_GPIOM_PERIPHID4 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOM_PERIPHID5 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOM_PERIPHID6 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOM_PERIPHID7 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOM_PERIPHID0 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOM_PERIPHID1 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOM_PERIPHID2 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOM_PERIPHID3 (TIVA_GPIOM_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOM_PCELLID0 (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOM_PCELLID1 (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOM_PCELLID2 (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOM_PCELLID3 (TIVA_GPIOM_BASE + TIVA_GPIO_PCELLID3_OFFSET) + +#elif TIVA_NPORTS > 12 + +# define TIVA_GPION_DATA (TIVA_GPION_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPION_DIR (TIVA_GPION_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPION_IS (TIVA_GPION_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPION_IBE (TIVA_GPION_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPION_IEV (TIVA_GPION_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPION_IM (TIVA_GPION_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPION_RIS (TIVA_GPION_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPION_MIS (TIVA_GPION_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPION_ICR (TIVA_GPION_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPION_AFSEL (TIVA_GPION_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPION_DR2R (TIVA_GPION_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPION_DR4R (TIVA_GPION_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPION_DR8R (TIVA_GPION_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPION_ODR (TIVA_GPION_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPION_PUR (TIVA_GPION_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPION_PDR (TIVA_GPION_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPION_SLR (TIVA_GPION_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPION_DEN (TIVA_GPION_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPION_LOCK (TIVA_GPION_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPION_CR (TIVA_GPION_BASE + TIVA_GPIO_CR_OFFSET) + +#if defined(LM4F) || defined(TM4C) +# define TIVA_GPION_AMSEL (TIVA_GPION_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPION_PCTL (TIVA_GPION_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPION_ADCCTL (TIVA_GPION_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPION_DMACTL (TIVA_GPION_BASE + TIVA_GPIO_DMACTL_OFFSET) +# endif + +# define TIVA_GPION_PERIPHID4 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPION_PERIPHID5 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPION_PERIPHID6 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPION_PERIPHID7 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPION_PERIPHID0 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPION_PERIPHID1 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPION_PERIPHID2 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPION_PERIPHID3 (TIVA_GPION_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPION_PCELLID0 (TIVA_GPION_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPION_PCELLID1 (TIVA_GPION_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPION_PCELLID2 (TIVA_GPION_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPION_PCELLID3 (TIVA_GPION_BASE + TIVA_GPIO_PCELLID3_OFFSET) + +#elif TIVA_NPORTS > 13 + +# define TIVA_GPIOP_DATA (TIVA_GPIOP_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOP_DIR (TIVA_GPIOP_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOP_IS (TIVA_GPIOP_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOP_IBE (TIVA_GPIOP_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOP_IEV (TIVA_GPIOP_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOP_IM (TIVA_GPIOP_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOP_RIS (TIVA_GPIOP_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOP_MIS (TIVA_GPIOP_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOP_ICR (TIVA_GPIOP_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOP_AFSEL (TIVA_GPIOP_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOP_DR2R (TIVA_GPIOP_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOP_DR4R (TIVA_GPIOP_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOP_DR8R (TIVA_GPIOP_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOP_ODR (TIVA_GPIOP_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOP_PUR (TIVA_GPIOP_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOP_PDR (TIVA_GPIOP_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOP_SLR (TIVA_GPIOP_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOP_DEN (TIVA_GPIOP_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOP_LOCK (TIVA_GPIOP_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOP_CR (TIVA_GPIOP_BASE + TIVA_GPIO_CR_OFFSET) + +#if defined(LM4F) || defined(TM4C) +# define TIVA_GPIOP_AMSEL (TIVA_GPIOP_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOP_PCTL (TIVA_GPIOP_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOP_ADCCTL (TIVA_GPIOP_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOP_DMACTL (TIVA_GPIOP_BASE + TIVA_GPIO_DMACTL_OFFSET) +# endif + +# define TIVA_GPIOP_PERIPHID4 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOP_PERIPHID5 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOP_PERIPHID6 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOP_PERIPHID7 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOP_PERIPHID0 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOP_PERIPHID1 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOP_PERIPHID2 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOP_PERIPHID3 (TIVA_GPIOP_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOP_PCELLID0 (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOP_PCELLID1 (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOP_PCELLID2 (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOP_PCELLID3 (TIVA_GPIOP_BASE + TIVA_GPIO_PCELLID3_OFFSET) + +#elif TIVA_NPORTS > 14 + +# define TIVA_GPIOQ_DATA (TIVA_GPIOQ_BASE + TIVA_GPIO_DATA_OFFSET) +# define TIVA_GPIOQ_DIR (TIVA_GPIOQ_BASE + TIVA_GPIO_DIR_OFFSET) +# define TIVA_GPIOQ_IS (TIVA_GPIOQ_BASE + TIVA_GPIO_IS_OFFSET) +# define TIVA_GPIOQ_IBE (TIVA_GPIOQ_BASE + TIVA_GPIO_IBE_OFFSET) +# define TIVA_GPIOQ_IEV (TIVA_GPIOQ_BASE + TIVA_GPIO_IEV_OFFSET) +# define TIVA_GPIOQ_IM (TIVA_GPIOQ_BASE + TIVA_GPIO_IM_OFFSET) +# define TIVA_GPIOQ_RIS (TIVA_GPIOQ_BASE + TIVA_GPIO_RIS_OFFSET) +# define TIVA_GPIOQ_MIS (TIVA_GPIOQ_BASE + TIVA_GPIO_MIS_OFFSET) +# define TIVA_GPIOQ_ICR (TIVA_GPIOQ_BASE + TIVA_GPIO_ICR_OFFSET) +# define TIVA_GPIOQ_AFSEL (TIVA_GPIOQ_BASE + TIVA_GPIO_AFSEL_OFFSET) +# define TIVA_GPIOQ_DR2R (TIVA_GPIOQ_BASE + TIVA_GPIO_DR2R_OFFSET) +# define TIVA_GPIOQ_DR4R (TIVA_GPIOQ_BASE + TIVA_GPIO_DR4R_OFFSET) +# define TIVA_GPIOQ_DR8R (TIVA_GPIOQ_BASE + TIVA_GPIO_DR8R_OFFSET) +# define TIVA_GPIOQ_ODR (TIVA_GPIOQ_BASE + TIVA_GPIO_ODR_OFFSET) +# define TIVA_GPIOQ_PUR (TIVA_GPIOQ_BASE + TIVA_GPIO_PUR_OFFSET) +# define TIVA_GPIOQ_PDR (TIVA_GPIOQ_BASE + TIVA_GPIO_PDR_OFFSET) +# define TIVA_GPIOQ_SLR (TIVA_GPIOQ_BASE + TIVA_GPIO_SLR_OFFSET) +# define TIVA_GPIOQ_DEN (TIVA_GPIOQ_BASE + TIVA_GPIO_DEN_OFFSET) +# define TIVA_GPIOQ_LOCK (TIVA_GPIOQ_BASE + TIVA_GPIO_LOCK_OFFSET) +# define TIVA_GPIOQ_CR (TIVA_GPIOQ_BASE + TIVA_GPIO_CR_OFFSET) + +#if defined(LM4F) || defined(TM4C) +# define TIVA_GPIOQ_AMSEL (TIVA_GPIOQ_BASE + TIVA_GPIO_AMSEL_OFFSET) +# define TIVA_GPIOQ_PCTL (TIVA_GPIOQ_BASE + TIVA_GPIO_PCTL_OFFSET) +# define TIVA_GPIOQ_ADCCTL (TIVA_GPIOQ_BASE + TIVA_GPIO_ADCCTL_OFFSET) +# define TIVA_GPIOQ_DMACTL (TIVA_GPIOQ_BASE + TIVA_GPIO_DMACTL_OFFSET) +# endif + +# define TIVA_GPIOQ_PERIPHID4 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID4_OFFSET) +# define TIVA_GPIOQ_PERIPHID5 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID5_OFFSET) +# define TIVA_GPIOQ_PERIPHID6 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID6_OFFSET) +# define TIVA_GPIOQ_PERIPHID7 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID7_OFFSET) +# define TIVA_GPIOQ_PERIPHID0 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID0_OFFSET) +# define TIVA_GPIOQ_PERIPHID1 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID1_OFFSET) +# define TIVA_GPIOQ_PERIPHID2 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID2_OFFSET) +# define TIVA_GPIOQ_PERIPHID3 (TIVA_GPIOQ_BASE + TIVA_GPIO_PERIPHID3_OFFSET) +# define TIVA_GPIOQ_PCELLID0 (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID0_OFFSET) +# define TIVA_GPIOQ_PCELLID1 (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID1_OFFSET) +# define TIVA_GPIOQ_PCELLID2 (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID2_OFFSET) +# define TIVA_GPIOQ_PCELLID3 (TIVA_GPIOQ_BASE + TIVA_GPIO_PCELLID3_OFFSET) + #endif /* TIVA_NPORTS */ /* GPIO Register Bitfield Definitions ***********************************************/ -#ifdef LM4F +#if defined(LM4F) || defined(TM4C) # define GPIO_PCTL_PMC_SHIFT(n) ((n) << 2) # define GPIO_PCTL_PMC_MASK(n) (15 << GPIO_PCTL_PMC_SHIFT(n)) diff --git a/arch/arm/src/tiva/tiva_dumpgpio.c b/arch/arm/src/tiva/tiva_dumpgpio.c index 40a182be148..d6c562e1e96 100644 --- a/arch/arm/src/tiva/tiva_dumpgpio.c +++ b/arch/arm/src/tiva/tiva_dumpgpio.c @@ -89,6 +89,24 @@ static const uintptr_t g_gpiobase[TIVA_NPORTS] = #if TIVA_NPORTS > 8 , TIVA_GPIOJ_BASE #endif +#if TIVA_NPORTS > 9 + , TIVA_GPIOK_BASE +#endif +#if TIVA_NPORTS > 10 + , TIVA_GPIOL_BASE +#endif +#if TIVA_NPORTS > 11 + , TIVA_GPIOM_BASE +#endif +#if TIVA_NPORTS > 12 + , TIVA_GPION_BASE +#endif +#if TIVA_NPORTS > 13 + , TIVA_GPIOP_BASE +#endif +#if TIVA_NPORTS > 14 + , TIVA_GPIOQ_BASE +#endif }; static const char g_portchar[TIVA_NPORTS] = @@ -120,6 +138,24 @@ static const char g_portchar[TIVA_NPORTS] = #if TIVA_NPORTS > 8 , 'J' #endif +#if TIVA_NPORTS > 9 + , 'K' +#endif +#if TIVA_NPORTS > 10 + , 'L' +#endif +#if TIVA_NPORTS > 11 + , 'M' +#endif +#if TIVA_NPORTS > 12 + , 'N' +#endif +#if TIVA_NPORTS > 13 + , 'P' +#endif +#if TIVA_NPORTS > 14 + , 'Q' +#endif }; /**************************************************************************** diff --git a/arch/arm/src/tiva/tiva_gpio.c b/arch/arm/src/tiva/tiva_gpio.c index c8964ac2618..f9c477ccb64 100644 --- a/arch/arm/src/tiva/tiva_gpio.c +++ b/arch/arm/src/tiva/tiva_gpio.c @@ -175,6 +175,24 @@ static const uintptr_t g_gpiobase[TIVA_NPORTS] = #if TIVA_NPORTS > 8 , TIVA_GPIOJ_BASE #endif +#if TIVA_NPORTS > 9 + , TIVA_GPIOK_BASE +#endif +#if TIVA_NPORTS > 10 + , TIVA_GPIOL_BASE +#endif +#if TIVA_NPORTS > 11 + , TIVA_GPIOM_BASE +#endif +#if TIVA_NPORTS > 12 + , TIVA_GPION_BASE +#endif +#if TIVA_NPORTS > 13 + , TIVA_GPIOP_BASE +#endif +#if TIVA_NPORTS > 14 + , TIVA_GPIOQ_BASE +#endif }; /**************************************************************************** diff --git a/arch/arm/src/tiva/tiva_gpio.h b/arch/arm/src/tiva/tiva_gpio.h index 44928c9af34..a0f46d8f60e 100644 --- a/arch/arm/src/tiva/tiva_gpio.h +++ b/arch/arm/src/tiva/tiva_gpio.h @@ -167,6 +167,12 @@ # define GPIO_PORTG (6 << GPIO_PORT_SHIFT) /* GPIOG */ # define GPIO_PORTH (7 << GPIO_PORT_SHIFT) /* GPIOH */ # define GPIO_PORTJ (8 << GPIO_PORT_SHIFT) /* GPIOJ */ +# define GPIO_PORTK (9 << GPIO_PORT_SHIFT) /* GPIOK */ +# define GPIO_PORTL (10 << GPIO_PORT_SHIFT) /* GPIOL */ +# define GPIO_PORTM (11 << GPIO_PORT_SHIFT) /* GPIOM */ +# define GPIO_PORTN (12 << GPIO_PORT_SHIFT) /* GPION */ +# define GPIO_PORTP (13 << GPIO_PORT_SHIFT) /* GPIOP */ +# define GPIO_PORTQ (14 << GPIO_PORT_SHIFT) /* GPIOQ */ /* This identifies the pin number in the port: * .... .... .... .... .... .... .... .BBB