From efb7ba7beaa61aac595c37c6e71e28b2e915672b Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Fri, 28 Dec 2018 19:08:17 -0600 Subject: [PATCH] Add some conditional compilation to logic added with commit 1cf992ed04c230e639bf29e55f2ec110cb9c4340 to better 'idiot-proof' the LM3S support. --- .../src/tiva/common/lmxx_tm4c_enableclks.h | 2 + arch/arm/src/tiva/hardware/lm/lm3s_gpio.h | 56 ++++++++++++------- arch/arm/src/tiva/hardware/lm/lm3s_sysctrl.h | 4 +- arch/arm/src/tiva/lm/lm3s_gpio.h | 42 +++++++------- 4 files changed, 63 insertions(+), 41 deletions(-) diff --git a/arch/arm/src/tiva/common/lmxx_tm4c_enableclks.h b/arch/arm/src/tiva/common/lmxx_tm4c_enableclks.h index d218a336fe..1b999a20c8 100644 --- a/arch/arm/src/tiva/common/lmxx_tm4c_enableclks.h +++ b/arch/arm/src/tiva/common/lmxx_tm4c_enableclks.h @@ -226,8 +226,10 @@ # define tiva_uart6_disableclk() tiva_uart_disableclk(6) # define tiva_uart7_disableclk() tiva_uart_disableclk(7) #else +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) # define tiva_uart_enableclk(p) tiva_enableclk(TIVA_SYSCON_RCGC1,SYSCON_RCGCUART(p)) # define tiva_uart_disableclk(p) tiva_disableclk(TIVA_SYSCON_RCGC1,SYSCON_RCGCUART(p)) +#endif # define tiva_uart0_enableclk() tiva_enableclk(TIVA_SYSCON_RCGC1,SYSCON_RCGC1_UART0) # define tiva_uart1_enableclk() tiva_enableclk(TIVA_SYSCON_RCGC1,SYSCON_RCGC1_UART1) diff --git a/arch/arm/src/tiva/hardware/lm/lm3s_gpio.h b/arch/arm/src/tiva/hardware/lm/lm3s_gpio.h index 39e1563a64..3af2fb8010 100644 --- a/arch/arm/src/tiva/hardware/lm/lm3s_gpio.h +++ b/arch/arm/src/tiva/hardware/lm/lm3s_gpio.h @@ -80,8 +80,10 @@ #define TIVA_GPIO_DEN_OFFSET 0x051c /* GPIO Digital Enable */ #define TIVA_GPIO_LOCK_OFFSET 0x0520 /* GPIO Lock */ #define TIVA_GPIO_CR_OFFSET 0x0524 /* GPIO Commit */ -#define TIVA_GPIO_AMSEL_OFFSET 0x0528 /* GPIO Analog Mode Select */ -#define TIVA_GPIO_PCTL_OFFSET 0x052c /* GPIO Port Control */ +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) +# define TIVA_GPIO_AMSEL_OFFSET 0x0528 /* GPIO Analog Mode Select */ +# define TIVA_GPIO_PCTL_OFFSET 0x052c /* GPIO Port Control */ +#endif #define TIVA_GPIO_PERIPHID4_OFFSET 0x0fd0 /* GPIO Peripheral Identification 4 */ #define TIVA_GPIO_PERIPHID5_OFFSET 0x0fd4 /* GPIO Peripheral Identification 5 */ @@ -120,8 +122,10 @@ # define TIVA_GPIOA_DEN (TIVA_GPIOA_BASE + TIVA_GPIO_DEN_OFFSET) # define TIVA_GPIOA_LOCK (TIVA_GPIOA_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOA_CR (TIVA_GPIOA_BASE + TIVA_GPIO_CR_OFFSET) +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) # define TIVA_GPIOA_AMSEL (TIVA_GPIOA_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOA_PCTL (TIVA_GPIOA_BASE + TIVA_GPIO_PCTL_OFFSET) +#endif # define TIVA_GPIOA_PERIPHID4 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID4_OFFSET) # define TIVA_GPIOA_PERIPHID5 (TIVA_GPIOA_BASE + TIVA_GPIO_PERIPHID5_OFFSET) @@ -159,8 +163,10 @@ # define TIVA_GPIOB_DEN (TIVA_GPIOB_BASE + TIVA_GPIO_DEN_OFFSET) # define TIVA_GPIOB_LOCK (TIVA_GPIOB_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOB_CR (TIVA_GPIOB_BASE + TIVA_GPIO_CR_OFFSET) +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) # define TIVA_GPIOB_AMSEL (TIVA_GPIOB_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOB_PCTL (TIVA_GPIOB_BASE + TIVA_GPIO_PCTL_OFFSET) +#endif # define TIVA_GPIOB_PERIPHID4 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID4_OFFSET) # define TIVA_GPIOB_PERIPHID5 (TIVA_GPIOB_BASE + TIVA_GPIO_PERIPHID5_OFFSET) @@ -198,8 +204,10 @@ # define TIVA_GPIOC_DEN (TIVA_GPIOC_BASE + TIVA_GPIO_DEN_OFFSET) # define TIVA_GPIOC_LOCK (TIVA_GPIOC_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOC_CR (TIVA_GPIOC_BASE + TIVA_GPIO_CR_OFFSET) +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) # define TIVA_GPIOC_AMSEL (TIVA_GPIOC_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOC_PCTL (TIVA_GPIOC_BASE + TIVA_GPIO_PCTL_OFFSET) +#endif # define TIVA_GPIOC_PERIPHID4 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID4_OFFSET) # define TIVA_GPIOC_PERIPHID5 (TIVA_GPIOC_BASE + TIVA_GPIO_PERIPHID5_OFFSET) @@ -237,8 +245,10 @@ # define TIVA_GPIOD_DEN (TIVA_GPIOD_BASE + TIVA_GPIO_DEN_OFFSET) # define TIVA_GPIOD_LOCK (TIVA_GPIOD_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOD_CR (TIVA_GPIOD_BASE + TIVA_GPIO_CR_OFFSET) +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) # define TIVA_GPIOD_AMSEL (TIVA_GPIOD_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOD_PCTL (TIVA_GPIOD_BASE + TIVA_GPIO_PCTL_OFFSET) +#endif # define TIVA_GPIOD_PERIPHID4 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID4_OFFSET) # define TIVA_GPIOD_PERIPHID5 (TIVA_GPIOD_BASE + TIVA_GPIO_PERIPHID5_OFFSET) @@ -276,8 +286,10 @@ # define TIVA_GPIOE_DEN (TIVA_GPIOE_BASE + TIVA_GPIO_DEN_OFFSET) # define TIVA_GPIOE_LOCK (TIVA_GPIOE_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOE_CR (TIVA_GPIOE_BASE + TIVA_GPIO_CR_OFFSET) +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) # define TIVA_GPIOE_AMSEL (TIVA_GPIOE_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOE_PCTL (TIVA_GPIOE_BASE + TIVA_GPIO_PCTL_OFFSET) +#endif # define TIVA_GPIOE_PERIPHID4 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID4_OFFSET) # define TIVA_GPIOE_PERIPHID5 (TIVA_GPIOE_BASE + TIVA_GPIO_PERIPHID5_OFFSET) @@ -315,8 +327,10 @@ # define TIVA_GPIOF_DEN (TIVA_GPIOF_BASE + TIVA_GPIO_DEN_OFFSET) # define TIVA_GPIOF_LOCK (TIVA_GPIOF_BASE + TIVA_GPIO_LOCK_OFFSET) # define TIVA_GPIOF_CR (TIVA_GPIOF_BASE + TIVA_GPIO_CR_OFFSET) +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) # define TIVA_GPIOF_AMSEL (TIVA_GPIOF_BASE + TIVA_GPIO_AMSEL_OFFSET) # define TIVA_GPIOF_PCTL (TIVA_GPIOF_BASE + TIVA_GPIO_PCTL_OFFSET) +#endif # define TIVA_GPIOF_PERIPHID4 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID4_OFFSET) # define TIVA_GPIOF_PERIPHID5 (TIVA_GPIOF_BASE + TIVA_GPIO_PERIPHID5_OFFSET) @@ -452,25 +466,27 @@ /* GPIO Port Control */ -#define GPIO_PCTL_PMC_SHIFT(n) ((n) << 2) -#define GPIO_PCTL_PMC_MASK(n) (15 << GPIO_PCTL_PMC_SHIFT(n)) +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) +# define GPIO_PCTL_PMC_SHIFT(n) ((n) << 2) +# define GPIO_PCTL_PMC_MASK(n) (15 << GPIO_PCTL_PMC_SHIFT(n)) -#define GPIO_PCTL_PMC0_SHIFT (0) /* Bits 0-3: Port Mux Control 0 */ -#define GPIO_PCTL_PMC0_MASK (15 << GPIO_PCTL_PMC0_SHIFT) -#define GPIO_PCTL_PMC1_SHIFT (4) /* Bits 4-7: Port Mux Control 1 */ -#define GPIO_PCTL_PMC1_MASK (15 << GPIO_PCTL_PMC1_SHIFT) -#define GPIO_PCTL_PMC2_SHIFT (8) /* Bits 8-11: Port Mux Control 2 */ -#define GPIO_PCTL_PMC2_MASK (15 << GPIO_PCTL_PMC2_SHIFT) -#define GPIO_PCTL_PMC3_SHIFT (12) /* Bits 12-15: Port Mux Control 3 */ -#define GPIO_PCTL_PMC3_MASK (15 << GPIO_PCTL_PMC3_SHIFT) -#define GPIO_PCTL_PMC4_SHIFT (16) /* Bits 16-19: Port Mux Control 4 */ -#define GPIO_PCTL_PMC4_MASK (15 << GPIO_PCTL_PMC4_SHIFT) -#define GPIO_PCTL_PMC5_SHIFT (20) /* Bits 20-23: Port Mux Control 5 */ -#define GPIO_PCTL_PMC5_MASK (15 << GPIO_PCTL_PMC5_SHIFT) -#define GPIO_PCTL_PMC6_SHIFT (24) /* Bits 24-27: Port Mux Control 6 */ -#define GPIO_PCTL_PMC6_MASK (15 << GPIO_PCTL_PMC6_SHIFT) -#define GPIO_PCTL_PMC7_SHIFT (28) /* Bits 28-31: Port Mux Control 7 */ -#define GPIO_PCTL_PMC7_MASK (15 << GPIO_PCTL_PMC7_SHIFT) +# define GPIO_PCTL_PMC0_SHIFT (0) /* Bits 0-3: Port Mux Control 0 */ +# define GPIO_PCTL_PMC0_MASK (15 << GPIO_PCTL_PMC0_SHIFT) +# define GPIO_PCTL_PMC1_SHIFT (4) /* Bits 4-7: Port Mux Control 1 */ +# define GPIO_PCTL_PMC1_MASK (15 << GPIO_PCTL_PMC1_SHIFT) +# define GPIO_PCTL_PMC2_SHIFT (8) /* Bits 8-11: Port Mux Control 2 */ +# define GPIO_PCTL_PMC2_MASK (15 << GPIO_PCTL_PMC2_SHIFT) +# define GPIO_PCTL_PMC3_SHIFT (12) /* Bits 12-15: Port Mux Control 3 */ +# define GPIO_PCTL_PMC3_MASK (15 << GPIO_PCTL_PMC3_SHIFT) +# define GPIO_PCTL_PMC4_SHIFT (16) /* Bits 16-19: Port Mux Control 4 */ +# define GPIO_PCTL_PMC4_MASK (15 << GPIO_PCTL_PMC4_SHIFT) +# define GPIO_PCTL_PMC5_SHIFT (20) /* Bits 20-23: Port Mux Control 5 */ +# define GPIO_PCTL_PMC5_MASK (15 << GPIO_PCTL_PMC5_SHIFT) +# define GPIO_PCTL_PMC6_SHIFT (24) /* Bits 24-27: Port Mux Control 6 */ +# define GPIO_PCTL_PMC6_MASK (15 << GPIO_PCTL_PMC6_SHIFT) +# define GPIO_PCTL_PMC7_SHIFT (28) /* Bits 28-31: Port Mux Control 7 */ +# define GPIO_PCTL_PMC7_MASK (15 << GPIO_PCTL_PMC7_SHIFT) +#endif /************************************************************************************ * Public Types diff --git a/arch/arm/src/tiva/hardware/lm/lm3s_sysctrl.h b/arch/arm/src/tiva/hardware/lm/lm3s_sysctrl.h index ec1dff7ff4..ce9d774cd9 100644 --- a/arch/arm/src/tiva/hardware/lm/lm3s_sysctrl.h +++ b/arch/arm/src/tiva/hardware/lm/lm3s_sysctrl.h @@ -491,7 +491,9 @@ /* UART Run Mode Clock Gating Control*/ -#define SYSCON_RCGCUART(n) (1 << (n)) /* Bit n: UART Module n Run Mode Clock Gating Control */ +#ifdef CONFIG_ARCH_CHIP_LM3S9B92 +# define SYSCON_RCGCUART(n) (1 << (n)) /* Bit n: UART Module n Run Mode Clock Gating Control */ +#endif /************************************************************************************ * Public Types diff --git a/arch/arm/src/tiva/lm/lm3s_gpio.h b/arch/arm/src/tiva/lm/lm3s_gpio.h index 9608d9349f..02acbc8378 100644 --- a/arch/arm/src/tiva/lm/lm3s_gpio.h +++ b/arch/arm/src/tiva/lm/lm3s_gpio.h @@ -127,7 +127,7 @@ /* Encoding: * - * FFFS SPPP III. .... .... ...V PPPP PBBB + * FFFS SPPP III. AAAA .... ...V PPPP PBBB */ /* These bits set the primary function of the pin: @@ -191,25 +191,27 @@ * .... .... .... AAAA .... .... .... .... */ -#define GPIO_ALT_SHIFT 16 /* Bits 16-19: Alternate function */ -#define GPIO_ALT_MASK (15 << GPIO_ALT_SHIFT) -# define GPIO_ALT(n) ((n) << GPIO_ALT_SHIFT) -# define GPIO_ALT_NONE (0 << GPIO_ALT_SHIFT) -# define GPIO_ALT_1 (1 << GPIO_ALT_SHIFT) -# define GPIO_ALT_2 (2 << GPIO_ALT_SHIFT) -# define GPIO_ALT_3 (3 << GPIO_ALT_SHIFT) -# define GPIO_ALT_4 (4 << GPIO_ALT_SHIFT) -# define GPIO_ALT_5 (5 << GPIO_ALT_SHIFT) -# define GPIO_ALT_6 (6 << GPIO_ALT_SHIFT) -# define GPIO_ALT_7 (7 << GPIO_ALT_SHIFT) -# define GPIO_ALT_8 (8 << GPIO_ALT_SHIFT) -# define GPIO_ALT_9 (9 << GPIO_ALT_SHIFT) -# define GPIO_ALT_10 (10 << GPIO_ALT_SHIFT) -# define GPIO_ALT_11 (11 << GPIO_ALT_SHIFT) -# define GPIO_ALT_12 (12 << GPIO_ALT_SHIFT) -# define GPIO_ALT_13 (13 << GPIO_ALT_SHIFT) -# define GPIO_ALT_14 (14 << GPIO_ALT_SHIFT) -# define GPIO_ALT_15 (15 << GPIO_ALT_SHIFT) +#if defined(CONFIG_ARCH_CHIP_LM3S9B92) +# define GPIO_ALT_SHIFT 16 /* Bits 16-19: Alternate function */ +# define GPIO_ALT_MASK (15 << GPIO_ALT_SHIFT) +# define GPIO_ALT(n) ((n) << GPIO_ALT_SHIFT) +# define GPIO_ALT_NONE (0 << GPIO_ALT_SHIFT) +# define GPIO_ALT_1 (1 << GPIO_ALT_SHIFT) +# define GPIO_ALT_2 (2 << GPIO_ALT_SHIFT) +# define GPIO_ALT_3 (3 << GPIO_ALT_SHIFT) +# define GPIO_ALT_4 (4 << GPIO_ALT_SHIFT) +# define GPIO_ALT_5 (5 << GPIO_ALT_SHIFT) +# define GPIO_ALT_6 (6 << GPIO_ALT_SHIFT) +# define GPIO_ALT_7 (7 << GPIO_ALT_SHIFT) +# define GPIO_ALT_8 (8 << GPIO_ALT_SHIFT) +# define GPIO_ALT_9 (9 << GPIO_ALT_SHIFT) +# define GPIO_ALT_10 (10 << GPIO_ALT_SHIFT) +# define GPIO_ALT_11 (11 << GPIO_ALT_SHIFT) +# define GPIO_ALT_12 (12 << GPIO_ALT_SHIFT) +# define GPIO_ALT_13 (13 << GPIO_ALT_SHIFT) +# define GPIO_ALT_14 (14 << GPIO_ALT_SHIFT) +# define GPIO_ALT_15 (15 << GPIO_ALT_SHIFT) +#endif /* If the pin is an GPIO digital output, then this identifies the initial output value: * .... .... .... .... .... ...V .... ....