Merge pull request #3095 from haukepetersen/opt_gpio

drivers/gpio: changed periph driver interface
dev/timer
Hauke Petersen 8 years ago
commit 350cfc7a2b

@ -133,49 +133,6 @@
#define RADIO_IRQ_PRIO 1
/** @} */
/**
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF (16U)
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 0 /* not usable */
#define GPIO_7_EN 1
#define GPIO_8_EN 1
#define GPIO_9_EN 1
#define GPIO_10_EN 1
#define GPIO_11_EN 1
#define GPIO_12_EN 1
#define GPIO_13_EN 1
#define GPIO_14_EN 1
#define GPIO_15_EN 1
#define GPIO_IRQ_PRIO 1
/* GPIO pin configuration */
#define GPIO_0_PIN 0
#define GPIO_1_PIN 1
#define GPIO_2_PIN 2
#define GPIO_3_PIN 3
#define GPIO_4_PIN 4
#define GPIO_5_PIN 5
#define GPIO_6_PIN 6 /* not usable */
#define GPIO_7_PIN 7
#define GPIO_8_PIN 8
#define GPIO_9_PIN 9
#define GPIO_10_PIN 10
#define GPIO_11_PIN 11
#define GPIO_12_PIN 12
#define GPIO_13_PIN 13
#define GPIO_14_PIN 14
#define GPIO_15_PIN 15
/** @} */
#ifdef __cplusplus
} /* end extern "C" */
#endif

@ -146,7 +146,6 @@ extern "C" {
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF (32U)
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
@ -179,6 +178,8 @@ extern "C" {
#define GPIO_29_EN 1
#define GPIO_30_EN 1
#define GPIO_31_EN 1
/* interrupt priority */
#define GPIO_IRQ_PRIO 1
/* GPIO channel 0 config */

@ -264,7 +264,6 @@ extern "C" {
/**
* @brief GPIO configuration
*/
#define GPIO_NUMOF (0U)
#define GPIO_0_EN 0
#define GPIO_1_EN 0
#define GPIO_2_EN 0

@ -116,8 +116,6 @@ extern "C" {
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 32
#define GPIO_IRQ_PRIO 1
#define GPIO_0_EN 1

@ -115,7 +115,6 @@ extern "C" {
/**
* @brief GPIO configuration
*/
#define GPIO_NUMOF 13
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -116,7 +116,6 @@ extern "C" {
/**
* @brief GPIO configuration
*/
#define GPIO_NUMOF 16
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -45,10 +45,10 @@ extern "C" {
* @{
*/
#define CC110X_SPI SPI_0
#define CC110X_CS GPIO_7
#define CC110X_GDO0 GPIO_11
#define CC110X_GDO1 GPIO_2
#define CC110X_GDO2 GPIO_12
#define CC110X_CS GPIO(PORT_B, 12)
#define CC110X_GDO0 GPIO(PORT_C, 4)
#define CC110X_GDO1 GPIO(PORT_A, 6)
#define CC110X_GDO2 GPIO(PORT_C, 5)
typedef uint8_t radio_packet_length_t;
/** @} */

@ -252,145 +252,6 @@ extern "C" {
#define I2C_0_SDA_AF 4
#define I2C_0_SDA_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN)
/**
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 16
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 1
#define GPIO_7_EN 1
#define GPIO_8_EN 1
#define GPIO_9_EN 1
#define GPIO_10_EN 1
#define GPIO_11_EN 1
#define GPIO_12_EN 1
#define GPIO_13_EN 1
#define GPIO_14_EN 1
#define GPIO_15_EN 1
#define GPIO_IRQ_PRIO 1
/* IRQ config */
#define GPIO_IRQ_0 GPIO_0 /* alternatively GPIO_4 or GPIO_9 could be used here */
#define GPIO_IRQ_1 GPIO_1 /* alternatively GPIO_10 could be used here */
#define GPIO_IRQ_2 GPIO_15
#define GPIO_IRQ_3 -1/* not configured */
#define GPIO_IRQ_4 GPIO_11
#define GPIO_IRQ_5 GPIO_12
#define GPIO_IRQ_6 GPIO_2
#define GPIO_IRQ_7 -1/* not configured */
#define GPIO_IRQ_8 GPIO_13
#define GPIO_IRQ_9 GPIO_5
#define GPIO_IRQ_10 GPIO_3
#define GPIO_IRQ_11 GPIO_6
#define GPIO_IRQ_12 GPIO_7
#define GPIO_IRQ_13 GPIO_8 /* alternatively GPIO_14 could be used here */
#define GPIO_IRQ_14 -1/* not configured */
#define GPIO_IRQ_15 -1/* not configured */
/* GPIO channel 0 config */
#define GPIO_0_PORT GPIOA /* User Button 2 */
#define GPIO_0_PIN 0
#define GPIO_0_CLK 0 /* 0: PORT A, 1: B ... */
#define GPIO_0_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PA)
#define GPIO_0_IRQ EXTI0_IRQn
/* GPIO channel 1 config */
#define GPIO_1_PORT GPIOA
#define GPIO_1_PIN 1
#define GPIO_1_CLK 0
#define GPIO_1_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI1_PA)
#define GPIO_1_IRQ EXTI1_IRQn
/* GPIO channel 2 config */
#define GPIO_2_PORT GPIOA /* CC1101 GDO1 */
#define GPIO_2_PIN 6
#define GPIO_2_CLK 0
#define GPIO_2_EXTI_CFG() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI6_PA)
#define GPIO_2_IRQ EXTI9_5_IRQn
/* GPIO channel 3 config */
#define GPIO_3_PORT GPIOA /* CC3000 SPI_IRQ */
#define GPIO_3_PIN 10
#define GPIO_3_CLK 0
#define GPIO_3_EXTI_CFG() (SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI10_PA)
#define GPIO_3_IRQ EXTI15_10_IRQn
/* GPIO channel 4 config */
#define GPIO_4_PORT GPIOB
#define GPIO_4_PIN 0
#define GPIO_4_CLK 1
#define GPIO_4_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PB)
#define GPIO_4_IRQ EXTI0_IRQn
/* GPIO channel 5 config */
#define GPIO_5_PORT GPIOB /* BEEPER Input */
#define GPIO_5_PIN 9
#define GPIO_5_CLK 1
#define GPIO_5_EXTI_CFG() (SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI9_PB)
#define GPIO_5_IRQ EXTI9_5_IRQn
/* GPIO channel 6 config */
#define GPIO_6_PORT GPIOB /* IMU-9150 INT */
#define GPIO_6_PIN 11
#define GPIO_6_CLK 1
#define GPIO_6_EXTI_CFG() (SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI11_PB)
#define GPIO_6_IRQ EXTI15_10_IRQn
/* GPIO channel 7 config */
#define GPIO_7_PORT GPIOB /* CC1101 CS */
#define GPIO_7_PIN 12
#define GPIO_7_CLK 1
#define GPIO_7_EXTI_CFG() (SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI12_PB)
#define GPIO_7_IRQ EXTI15_10_IRQn
/* GPIO channel 8 config */
#define GPIO_8_PORT GPIOB /* User Button 1 */
#define GPIO_8_PIN 13
#define GPIO_8_CLK 1
#define GPIO_8_EXTI_CFG() (SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI13_PB)
#define GPIO_8_IRQ EXTI15_10_IRQn
/* GPIO channel 9 config */
#define GPIO_9_PORT GPIOC /* TCA6416 Reset */
#define GPIO_9_PIN 0
#define GPIO_9_CLK 2
#define GPIO_9_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PC)
#define GPIO_9_IRQ EXTI0_IRQn
/* GPIO channel 10 config */
#define GPIO_10_PORT GPIOC /* CC3000 CS */
#define GPIO_10_PIN 1
#define GPIO_10_CLK 2
#define GPIO_10_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI1_PC)
#define GPIO_10_IRQ EXTI1_IRQn
/* GPIO channel 11 config */
#define GPIO_11_PORT GPIOC /* CC1101 GDO 0 */
#define GPIO_11_PIN 4
#define GPIO_11_CLK 2
#define GPIO_11_EXTI_CFG() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI4_PC)
#define GPIO_11_IRQ EXTI4_IRQn
/* GPIO channel 12 config */
#define GPIO_12_PORT GPIOC /* CC1101 GDO 2 */
#define GPIO_12_PIN 5
#define GPIO_12_CLK 2
#define GPIO_12_EXTI_CFG() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI5_PC)
#define GPIO_12_IRQ EXTI9_5_IRQn
/* GPIO channel 13 config */
#define GPIO_13_PORT GPIOC /* TCA6416 INT */
#define GPIO_13_PIN 8
#define GPIO_13_CLK 2
#define GPIO_13_EXTI_CFG() (SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI8_PC)
#define GPIO_13_IRQ EXTI9_5_IRQn
/* GPIO channel 14 config */
#define GPIO_14_PORT GPIOC /* CC3000 VBAT_SW_EN */
#define GPIO_14_PIN 13
#define GPIO_14_CLK 2
#define GPIO_14_EXTI_CFG() (SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI13_PC)
#define GPIO_14_IRQ EXTI15_10_IRQn
/* GPIO channel 15 config */
#define GPIO_15_PORT GPIOD /* Micro SD Sockel CS */
#define GPIO_15_PIN 2
#define GPIO_15_CLK 3
#define GPIO_15_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI2_PD)
#define GPIO_15_IRQ EXTI2_IRQn
/** @} */
#ifdef __cplusplus
}
#endif

@ -108,16 +108,16 @@ void board_init(void)
static inline void leds_init(void)
{
/* The pin configuration can be found in board.h and periph_conf.h */
gpio_init_out(LED_RED_GPIO, GPIO_NOPULL);
gpio_init_out(LED_YELLOW_GPIO, GPIO_NOPULL);
gpio_init_out(LED_GREEN_GPIO, GPIO_NOPULL);
gpio_init(LED_RED_GPIO, GPIO_DIR_OUT, GPIO_NOPULL);
gpio_init(LED_YELLOW_GPIO, GPIO_DIR_OUT, GPIO_NOPULL);
gpio_init(LED_GREEN_GPIO, GPIO_DIR_OUT, GPIO_NOPULL);
}
static inline void power_pins_init(void)
{
gpio_init_out(MULLE_POWER_AVDD, GPIO_NOPULL);
gpio_init_out(MULLE_POWER_VPERIPH, GPIO_NOPULL);
gpio_init_out(MULLE_POWER_VSEC, GPIO_NOPULL);
gpio_init(MULLE_POWER_AVDD, GPIO_DIR_OUT, GPIO_NOPULL);
gpio_init(MULLE_POWER_VPERIPH, GPIO_DIR_OUT, GPIO_NOPULL);
gpio_init(MULLE_POWER_VSEC, GPIO_DIR_OUT, GPIO_NOPULL);
gpio_clear(MULLE_POWER_AVDD);
gpio_clear(MULLE_POWER_VPERIPH);
gpio_clear(MULLE_POWER_VSEC);

@ -468,7 +468,6 @@ extern "C"
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 27
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -92,7 +92,6 @@ extern "C" {
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF (6U)
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -112,7 +112,6 @@ extern "C" {
* @brief GPIO configuration
* @{
*/
#define GPIO_NUMOF 3
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -102,7 +102,6 @@ extern "C" {
/**
* @brief GPIO configuration
*/
#define GPIO_NUMOF 16
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -106,7 +106,6 @@
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 12
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -303,7 +303,6 @@ extern "C"
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 8
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -121,48 +121,6 @@ extern "C" {
#define RADIO_IRQ_PRIO 1
/** @} */
/**
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 16
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 1
#define GPIO_7_EN 1
#define GPIO_8_EN 1
#define GPIO_9_EN 1
#define GPIO_10_EN 1
#define GPIO_11_EN 1
#define GPIO_12_EN 1
#define GPIO_13_EN 1
#define GPIO_14_EN 1
#define GPIO_15_EN 1
#define GPIO_IRQ_PRIO 1
/* GPIO pin configuration */
#define GPIO_0_PIN 0
#define GPIO_1_PIN 1
#define GPIO_2_PIN 2
#define GPIO_3_PIN 3
#define GPIO_4_PIN 4
#define GPIO_5_PIN 5
#define GPIO_6_PIN 6
#define GPIO_7_PIN 7
#define GPIO_8_PIN 8
#define GPIO_9_PIN 9
#define GPIO_10_PIN 10
#define GPIO_11_PIN 11
#define GPIO_12_PIN 12
#define GPIO_13_PIN 13
#define GPIO_14_PIN 14
#define GPIO_15_PIN 15
/** @} */
#ifdef __cplusplus
}
#endif

@ -140,48 +140,6 @@ extern "C" {
#define RADIO_IRQ_PRIO 1
/** @} */
/**
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 16
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 1
#define GPIO_7_EN 1
#define GPIO_8_EN 1
#define GPIO_9_EN 1
#define GPIO_10_EN 1
#define GPIO_11_EN 1
#define GPIO_12_EN 1
#define GPIO_13_EN 1
#define GPIO_14_EN 1
#define GPIO_15_EN 1
#define GPIO_IRQ_PRIO 1
/* GPIO pin configuration */
#define GPIO_0_PIN 0
#define GPIO_1_PIN 1
#define GPIO_2_PIN 2
#define GPIO_3_PIN 3
#define GPIO_4_PIN 4
#define GPIO_5_PIN 5
#define GPIO_6_PIN 6
#define GPIO_7_PIN 7
#define GPIO_8_PIN 8
#define GPIO_9_PIN 9
#define GPIO_10_PIN 10
#define GPIO_11_PIN 11
#define GPIO_12_PIN 12
#define GPIO_13_PIN 13
#define GPIO_14_PIN 14
#define GPIO_15_PIN 15
/** @} */
#ifdef __cplusplus
}
#endif

@ -44,5 +44,5 @@ void board_init(void)
*/
void led_init(void)
{
gpio_init_out(PB10, GPIO_NOPULL);
gpio_init(GPIO(PB,10), GPIO_DIR_OUT, GPIO_NOPULL);
}

@ -103,79 +103,6 @@ extern "C" {
#define RTT_NUMOF (1)
/** @} */
/**
* @name GPIO configuration
* @{
*/
/* GPIO pin mapping */
enum {
PA2, /* EXT1 P10, SW0 */
PB10, /* orange LED */
PB6, /* EXT1 P05 */
PA12, /* EXT1 P07 */
PB4, /* EXT1 P09 */
PA5, /* EXT1 P15 SPI_SS */
PA6, /* EXT1 P16 SPI_MOSI */
PA4, /* EXT1 P17 SPI_MISO */
PA7, /* EXT1 P18 SPI_SCK */
GPIO_UNUSED,
PB5,
PA3,
PB7,
PB9,
PA13,
};
/* define this to the value of GPIO_UNNUSED.
* Unfortunately the preprocessor can't access the enum's value.*/
#define GPIO_NUMOF 9 /* same as GPIO_UNUSED */
enum {
EXT1_SPI, /* EXT1 -> SPI0 */
};
enum {
EXT1_P07 = PA12,
EXT1_P09 = PB4,
EXT1_P10 = PA2,
EXT1_SPI_SS = PA5,
EXT1_SPI_MOSI = PA6,
EXT1_SPI_MISO = PA4,
EXT1_SPI_SCK = PA7,
};
#define GPIO_EXTI0_EN 0
#define GPIO_EXTI1_EN 0
#define GPIO_EXTI2_EN 1 /* for PA02/BUTTON0 */
#define GPIO_EXTI3_EN 0
#define GPIO_EXTI4_EN 1 /* for PB04 */
#define GPIO_EXTI5_EN 0
#define GPIO_EXTI6_EN 0
#define GPIO_EXTI7_EN 0
#define GPIO_EXTI8_EN 0
#define GPIO_EXTI9_EN 0
#define GPIO_EXTI10_EN 0
#define GPIO_EXTI11_EN 0
#define GPIO_EXTI12_EN 1
#define GPIO_EXTI13_EN 0
#define GPIO_EXTI14_EN 0
#define GPIO_EXTI15_EN 0
/* defines to satisfy periph/gpio.h
* In order to support GPIO_0..n in applications, you have to define these here.
*/
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 1
#define GPIO_7_EN 1
#define GPIO_8_EN 1
/** @} */
#ifdef __cplusplus
}
#endif

@ -24,6 +24,7 @@
#include "cpu.h"
#include "periph_conf.h"
#include "periph_cpu.h"
#ifdef __cplusplus
extern "C" {
@ -44,10 +45,10 @@ extern "C" {
* @{
*/
#define NG_AT86RF233_SPI (SPI_0)
#define NG_AT86RF233_CS (GPIO_4)
#define NG_AT86RF233_INT (GPIO_5)
#define NG_AT86RF233_RESET (GPIO_6)
#define NG_AT86RF233_SLEEP (GPIO_7)
#define NG_AT86RF233_CS GPIO(PB, 31)
#define NG_AT86RF233_INT GPIO(PB, 0)
#define NG_AT86RF233_RESET GPIO(PB, 15)
#define NG_AT86RF233_SLEEP GPIO(PA, 20)
#define NG_AT86RF233_SPI_CLK (SPI_SPEED_1MHZ)
/** @}*/
@ -56,10 +57,10 @@ extern "C" {
* @{
*/
#define AT86RF231_SPI SPI_0
#define AT86RF231_CS GPIO_4
#define AT86RF231_INT GPIO_5
#define AT86RF231_RESET GPIO_6
#define AT86RF231_SLEEP GPIO_7
#define AT86RF231_CS GPIO(PB, 31)
#define AT86RF231_INT GPIO(PB, 0)
#define AT86RF231_RESET GPIO(PB, 15)
#define AT86RF231_SLEEP GPIO(PA, 20)
#define AT86RF231_SPI_SPEED SPI_SPEED_1MHZ
/** @} */

@ -259,96 +259,6 @@ static const pwm_conf_t pwm_config[] = {
#define RTT_RUNSTDBY (1) /* Keep RTT running in sleep states */
/** @} */
/**
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF (9U)
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
/*4-7 -> internal */
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 1
#define GPIO_7_EN 1
#define GPIO_8_EN 1
#define GPIO_9_EN 0
#define GPIO_10_EN 0
#define GPIO_11_EN 0
#define GPIO_12_EN 0
#define GPIO_13_EN 0
#define GPIO_14_EN 0
#define GPIO_15_EN 0
#define GPIO_NO_EXTINT (18)
/* GPIO channel 0 config */
#define GPIO_0_DEV PORT->Group[0]
#define GPIO_0_PIN (13)
#define GPIO_0_EXTINT (13)
/* GPIO channel 1 config */
#define GPIO_1_DEV PORT->Group[0]
#define GPIO_1_PIN (28)
#define GPIO_1_EXTINT (8)
/* GPIO channel 2 config */
#define GPIO_2_DEV PORT->Group[0]
#define GPIO_2_PIN (15)
#define GPIO_2_EXTINT (15)
/* GPIO channel 3 config */
#define GPIO_3_DEV PORT->Group[1]
#define GPIO_3_PIN (3)
#define GPIO_3_EXTINT (3)
/* GPIO 4-7 Internal radio pins*/
/* GPIO channel 4 config radio CS*/
#define GPIO_4_DEV PORT->Group[1]
#define GPIO_4_PIN (31)
#define GPIO_4_EXTINT GPIO_NO_EXTINT
/* GPIO channel 5 config radio IRQ0*/
#define GPIO_5_DEV PORT->Group[1]
#define GPIO_5_PIN (0)
#define GPIO_5_EXTINT (0)
/* GPIO channel 6 config radio reset*/
#define GPIO_6_DEV PORT->Group[1]
#define GPIO_6_PIN (15)
#define GPIO_6_EXTINT GPIO_NO_EXTINT
/* GPIO channel 7 config radio sleep*/
#define GPIO_7_DEV PORT->Group[0]
#define GPIO_7_PIN (20)
#define GPIO_7_EXTINT GPIO_NO_EXTINT
/* GPIO channel 8 config */
#define GPIO_8_DEV PORT->Group[0]
#define GPIO_8_PIN (27)
#define GPIO_8_EXTINT GPIO_NO_EXTINT
/* GPIO channel 9 config */
#define GPIO_9_DEV
#define GPIO_9_PIN
#define GPIO_9_EXTINT
/* GPIO channel 10 config */
#define GPIO_10_DEV
#define GPIO_10_PIN
#define GPIO_10_EXTINT
/* GPIO channel 11 config */
#define GPIO_11_DEV
#define GPIO_11_PIN
#define GPIO_11_EXTINT
/* GPIO channel 12 config */
#define GPIO_12_PIN
#define GPIO_12_EXTINT
/* GPIO channel 13 config */
#define GPIO_13_PIN
#define GPIO_13_EXTINT
/* GPIO channel 14 config */
#define GPIO_14_PIN
#define GPIO_14_EXTINT
/* GPIO channel 15 config */
#define GPIO_15_PIN
#define GPIO_15_EXTINT
/** @} */
#ifdef __cplusplus
}
#endif

@ -99,7 +99,6 @@
/**
* @brief GPIO configuration
*/
#define GPIO_NUMOF (13U)
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -165,7 +165,6 @@ extern "C" {
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 12
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -244,130 +244,6 @@ extern "C" {
#define I2C_1_SDA_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOFEN)
/** @} */
/**
* @brief GPIO configuration
* @{
*/
#define GPIO_NUMOF 12
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 1
#define GPIO_7_EN 1
#define GPIO_8_EN 1
#define GPIO_9_EN 1
#define GPIO_10_EN 1
#define GPIO_11_EN 1
#define GPIO_IRQ_PRIO 1
/* IRQ config */
#define GPIO_IRQ_0 GPIO_11 /* alternatively GPIO_4 could be used here */
#define GPIO_IRQ_1 GPIO_5
#define GPIO_IRQ_2 GPIO_0
#define GPIO_IRQ_3 GPIO_3
#define GPIO_IRQ_4 GPIO_1
#define GPIO_IRQ_5 GPIO_2
#define GPIO_IRQ_6 (-1) /* not configured */
#define GPIO_IRQ_7 (-1) /* not configured */
#define GPIO_IRQ_8 (-1) /* not configured */
#define GPIO_IRQ_9 (-1) /* not configured */
#define GPIO_IRQ_10 (-1) /* not configured */
#define GPIO_IRQ_11 GPIO_6
#define GPIO_IRQ_12 GPIO_7
#define GPIO_IRQ_13 GPIO_8
#define GPIO_IRQ_14 GPIO_9
#define GPIO_IRQ_15 GPIO_10
/* GPIO channel 0 config */
#define GPIO_0_PORT GPIOE /* LSM303DLHC -> DRDY */
#define GPIO_0_PIN 2
#define GPIO_0_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOEEN)
#define GPIO_0_EXTI_CFG1() (SYSCFG->EXTICR[0] &= ~(SYSCFG_EXTICR1_EXTI2))
#define GPIO_0_EXTI_CFG2() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI2_PE)
#define GPIO_0_IRQ EXTI2_TSC_IRQn
/* GPIO channel 1 config */
#define GPIO_1_PORT GPIOE /* LSM303DLHC -> INT1 */
#define GPIO_1_PIN 4
#define GPIO_1_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOEEN)
#define GPIO_1_EXTI_CFG1() (SYSCFG->EXTICR[1] &= ~(SYSCFG_EXTICR2_EXTI4))
#define GPIO_1_EXTI_CFG2() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI4_PE)
#define GPIO_1_IRQ EXTI4_IRQn
/* GPIO channel 2 config */
#define GPIO_2_PORT GPIOE /* LSM303DLHC -> INT2 */
#define GPIO_2_PIN 5
#define GPIO_2_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOEEN)
#define GPIO_2_EXTI_CFG1() (SYSCFG->EXTICR[1] &= ~(SYSCFG_EXTICR2_EXTI5))
#define GPIO_2_EXTI_CFG2() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI5_PE)
#define GPIO_2_IRQ EXTI9_5_IRQn
/* GPIO channel 3 config */
#define GPIO_3_PORT GPIOE /* L2GD20 -> CS */
#define GPIO_3_PIN 3
#define GPIO_3_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOEEN)
#define GPIO_3_EXTI_CFG1() (SYSCFG->EXTICR[0] &= ~(SYSCFG_EXTICR1_EXTI3))
#define GPIO_3_EXTI_CFG2() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI3_PE)
#define GPIO_3_IRQ EXTI3_IRQn
/* GPIO channel 4 config */
#define GPIO_4_PORT GPIOE /* L2GD20 -> INT1 */
#define GPIO_4_PIN 0
#define GPIO_4_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOEEN)
#define GPIO_4_EXTI_CFG1() (SYSCFG->EXTICR[0] &= ~(SYSCFG_EXTICR1_EXTI0))
#define GPIO_4_EXTI_CFG2() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PE)
#define GPIO_4_IRQ EXTI0_IRQn
/* GPIO channel 5 config */
#define GPIO_5_PORT GPIOE /* L2GD20 -> INT2/DRDY */
#define GPIO_5_PIN 1
#define GPIO_5_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOEEN)
#define GPIO_5_EXTI_CFG1() (SYSCFG->EXTICR[0] &= ~(SYSCFG_EXTICR1_EXTI1))
#define GPIO_5_EXTI_CFG2() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI1_PE)
#define GPIO_5_IRQ EXTI1_IRQn
/* GPIO channel 6 config */
#define GPIO_6_PORT GPIOB
#define GPIO_6_PIN 11
#define GPIO_6_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN)
#define GPIO_6_EXTI_CFG1() (SYSCFG->EXTICR[2] &= ~(SYSCFG_EXTICR3_EXTI11))
#define GPIO_6_EXTI_CFG2() (SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI11_PB)
#define GPIO_6_IRQ EXTI15_10_IRQn
/* GPIO channel 7 config */
#define GPIO_7_PORT GPIOB
#define GPIO_7_PIN 12
#define GPIO_7_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN)
#define GPIO_7_EXTI_CFG1() (SYSCFG->EXTICR[3] &= ~(SYSCFG_EXTICR4_EXTI12))
#define GPIO_7_EXTI_CFG2() (SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI12_PB)
#define GPIO_7_IRQ EXTI15_10_IRQn
/* GPIO channel 8 config */
#define GPIO_8_PORT GPIOB
#define GPIO_8_PIN 13
#define GPIO_8_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN)
#define GPIO_8_EXTI_CFG1() (SYSCFG->EXTICR[3] &= ~(SYSCFG_EXTICR4_EXTI13))
#define GPIO_8_EXTI_CFG2() (SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI13_PB)
#define GPIO_8_IRQ EXTI15_10_IRQn
/* GPIO channel 9 config */
#define GPIO_9_PORT GPIOB
#define GPIO_9_PIN 14
#define GPIO_9_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN)
#define GPIO_9_EXTI_CFG1() (SYSCFG->EXTICR[3] &= ~(SYSCFG_EXTICR4_EXTI14))
#define GPIO_9_EXTI_CFG2() (SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI14_PB)
#define GPIO_9_IRQ EXTI15_10_IRQn
/* GPIO channel 10 config */
#define GPIO_10_PORT GPIOB
#define GPIO_10_PIN 15
#define GPIO_10_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN)
#define GPIO_10_EXTI_CFG1() (SYSCFG->EXTICR[3] &= ~(SYSCFG_EXTICR4_EXTI15))
#define GPIO_10_EXTI_CFG2() (SYSCFG->EXTICR[3] |= SYSCFG_EXTICR4_EXTI15_PB)
#define GPIO_10_IRQ EXTI15_10_IRQn
/* GPIO channel 11 config */
#define GPIO_11_PORT GPIOA /* User button 1 */
#define GPIO_11_PIN 0
#define GPIO_11_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN)
#define GPIO_11_EXTI_CFG1() (SYSCFG->EXTICR[0] &= ~(SYSCFG_EXTICR1_EXTI0))
#define GPIO_11_EXTI_CFG2() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PA)
#define GPIO_11_IRQ EXTI0_IRQn
/** @} */
#ifdef __cplusplus
}
#endif

@ -80,6 +80,8 @@ extern "C" {
#define UART_IRQ_PRIO 1
#define UART_CLK (14000000U) /* UART clock runs with 14MHz */
/* UART 0 device configuration */
#define UART_0_DEV USART2
#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN)
@ -294,117 +296,6 @@ extern "C" {
#define I2C_0_SDA_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN)
/** @} */
/**
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF 12
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 1
#define GPIO_7_EN 1
#define GPIO_8_EN 1
#define GPIO_9_EN 1
#define GPIO_10_EN 1
#define GPIO_11_EN 1
#define GPIO_IRQ_PRIO 1
/* IRQ config */
#define GPIO_IRQ_0 GPIO_0 /* alternatively GPIO_1 could be used here */
#define GPIO_IRQ_1 GPIO_2
#define GPIO_IRQ_2 GPIO_3
#define GPIO_IRQ_3 GPIO_4
#define GPIO_IRQ_4 GPIO_5
#define GPIO_IRQ_5 GPIO_6
#define GPIO_IRQ_6 GPIO_7
#define GPIO_IRQ_7 GPIO_8
#define GPIO_IRQ_8 GPIO_9
#define GPIO_IRQ_9 GPIO_10
#define GPIO_IRQ_10 GPIO_11
#define GPIO_IRQ_11 -1/* not configured */
#define GPIO_IRQ_12 -1/* not configured */
#define GPIO_IRQ_13 -1/* not configured */
#define GPIO_IRQ_14 -1/* not configured */
#define GPIO_IRQ_15 -1/* not configured */
/* GPIO channel 0 config */
#define GPIO_0_PORT GPIOA /* Used for user button 1 */
#define GPIO_0_PIN 0
#define GPIO_0_CLK 0 /* 0: PORT A, 1: B ... */
#define GPIO_0_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PA)
#define GPIO_0_IRQ EXTI0_IRQn
/* GPIO channel 1 config */
#define GPIO_1_PORT GPIOE /* LIS302DL INT1 */
#define GPIO_1_PIN 0
#define GPIO_1_CLK 4
#define GPIO_1_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PE)
#define GPIO_1_IRQ EXTI0_IRQn
/* GPIO channel 2 config */
#define GPIO_2_PORT GPIOE /* LIS302DL INT2 */
#define GPIO_2_PIN 1
#define GPIO_2_CLK 4
#define GPIO_2_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI1_PE)
#define GPIO_2_IRQ EXTI1_IRQn
/* GPIO channel 3 config */
#define GPIO_3_PORT GPIOE
#define GPIO_3_PIN 2
#define GPIO_3_CLK 4
#define GPIO_3_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI2_PE)
#define GPIO_3_IRQ EXTI2_IRQn
/* GPIO channel 4 config */
#define GPIO_4_PORT GPIOE /* LIS302DL CS */
#define GPIO_4_PIN 3
#define GPIO_4_CLK 4
#define GPIO_4_EXTI_CFG() (SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI3_PE)
#define GPIO_4_IRQ EXTI3_IRQn
/* GPIO channel 5 config */
#define GPIO_5_PORT GPIOD /* CS43L22 RESET */
#define GPIO_5_PIN 4
#define GPIO_5_CLK 3
#define GPIO_5_EXTI_CFG() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI4_PD)
#define GPIO_5_IRQ EXTI4_IRQn
/* GPIO channel 6 config */
#define GPIO_6_PORT GPIOD /* LD8 */
#define GPIO_6_PIN 5
#define GPIO_6_CLK 3
#define GPIO_6_EXTI_CFG() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI5_PD)
#define GPIO_6_IRQ EXTI9_5_IRQn
/* GPIO channel 7 config */
#define GPIO_7_PORT GPIOD
#define GPIO_7_PIN 6
#define GPIO_7_CLK 3
#define GPIO_7_EXTI_CFG() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI6_PD)
#define GPIO_7_IRQ EXTI9_5_IRQn
/* GPIO channel 8 config */
#define GPIO_8_PORT GPIOD
#define GPIO_8_PIN 7
#define GPIO_8_CLK 3
#define GPIO_8_EXTI_CFG() (SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI7_PD)
#define GPIO_8_IRQ EXTI9_5_IRQn
/* GPIO channel 9 config */
#define GPIO_9_PORT GPIOA
#define GPIO_9_PIN 8
#define GPIO_9_CLK 0
#define GPIO_9_EXTI_CFG() (SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI8_PA)
#define GPIO_9_IRQ EXTI9_5_IRQn
/* GPIO channel 10 config */
#define GPIO_10_PORT GPIOA /* LD7 */
#define GPIO_10_PIN 9
#define GPIO_10_CLK 0
#define GPIO_10_EXTI_CFG() (SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI9_PA)
#define GPIO_10_IRQ EXTI9_5_IRQn
/* GPIO channel 11 config */
#define GPIO_11_PORT GPIOD
#define GPIO_11_PIN 10
#define GPIO_11_CLK 3
#define GPIO_11_EXTI_CFG() (SYSCFG->EXTICR[2] |= SYSCFG_EXTICR3_EXTI10_PD)
#define GPIO_11_IRQ EXTI15_10_IRQn
/** @} */
#ifdef __cplusplus
}
#endif

@ -146,7 +146,6 @@ extern "C" {
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF (32U)
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1

@ -138,32 +138,6 @@ extern "C" {
#define RADIO_IRQ_PRIO 1
/** @} */
/**
* @name GPIO configuration
* @{
*/
#define GPIO_NUMOF (8U)
#define GPIO_0_EN 1
#define GPIO_1_EN 1
#define GPIO_2_EN 1
#define GPIO_3_EN 1
#define GPIO_4_EN 1
#define GPIO_5_EN 1
#define GPIO_6_EN 1
#define GPIO_7_EN 1
#define GPIO_IRQ_PRIO 1
/* GPIO pin configuration */
#define GPIO_0_PIN 7
#define GPIO_1_PIN 8
#define GPIO_2_PIN 9
#define GPIO_3_PIN 10
#define GPIO_4_PIN 11
#define GPIO_5_PIN 12
#define GPIO_6_PIN 13
#define GPIO_7_PIN 14
/** @} */
#ifdef __cplusplus
}
#endif

@ -0,0 +1,35 @@
/*
* Copyright (C) 2015 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup cpu_atmega2560
* @{
*
* @file
* @brief CPU specific definitions for internal peripheral handling
*
* @author Hauke Petersen <hauke.peterse@fu-berlin.de>
*/
#ifndef PERIPH_CPU_H_
#define PERIPH_CPU_H_
#include "periph/dev_enums.h"
#ifdef __cplusplus
extern "C" {
#endif
/* nothing defined here so far... */
#ifdef __cplusplus
}
#endif
#endif /* PERIPH_CPU_H_ */
/** @} */

@ -1,75 +0,0 @@
/*
* Copyright (C) 2014 Freie Universität Berlin, Hinnerk van Bruinehsen
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup driver_periph
* @{
*
* @file
* @brief Low-level GPIO driver implementation
*
* @author Hauke Petersen <mail@haukepetersen.de>
*
* @}
*/
/*
* TODO: Implement GPIO interface
*/
#include "cpu.h"
#include "periph/gpio.h"
#include "periph_conf.h"
#if GPIO_NUMOF
typedef struct {
void (*cb)(void);
} gpio_state_t;
/*static gpio_state_t config[GPIO_NUMOF]; */
int gpio_init_out(gpio_t dev, gpio_pp_t pushpull)
{
return -1;
}
int gpio_init_in(gpio_t dev, gpio_pp_t pushpull)
{
return -1;
}
int gpio_init_int(gpio_t dev, gpio_pp_t pushpull, gpio_flank_t flank, gpio_cb_t cb, void *arg)
{
return -1;
}
int gpio_read(gpio_t dev)
{
return -1;
}
void gpio_set(gpio_t dev)
{
}
void gpio_clear(gpio_t dev)
{
}
void gpio_toggle(gpio_t dev)
{
}
void gpio_write(gpio_t dev, int value)
{
}
#endif /* GPIO_NUMOF */

@ -0,0 +1,35 @@
/*
* Copyright (C) 2015 Freie Universität Berlin
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup cpu_cc2538
* @{
*
* @file
* @brief CPU specific definitions for internal peripheral handling
*
* @author Hauke Petersen <hauke.peterse@fu-berlin.de>
*/
#ifndef PERIPH_CPU_H_
#define PERIPH_CPU_H_
#include "periph/dev_enums.h"
#ifdef __cplusplus
extern "C" {
#endif
/* nothing to do here, yet */
#ifdef __cplusplus
}
#endif
#endif /* PERIPH_CPU_H_ */
/** @} */

@ -26,9 +26,6 @@
#include "periph/gpio.h"
#include "periph_conf.h"
/* guard file in case no GPIO devices are defined */
#if GPIO_NUMOF
/**
* @brief Generate a bit mask in which only the specified bit is high.
*
@ -357,7 +354,7 @@ static const uint32_t ioc_mask_lut[] = {
[GPIO_PULLDOWN] = IOC_OVERRIDE_PDE,
};
int gpio_init_out(gpio_t dev, gpio_pp_t pushpull)
int gpio_init(gpio_t dev, gpio_dir_t dir, gpio_pp_t pushpull)
{
int pin;
@ -367,28 +364,17 @@ int gpio_init_out(gpio_t dev, gpio_pp_t pushpull)
pin = pin_lut[dev];
gpio_software_control(pin);
gpio_dir_output(pin);
/* configure the pin's pull resistor state */
IOC_PXX_OVER[pin] = IOC_OVERRIDE_OE | ioc_mask_lut[pushpull];
return 0;
}
int gpio_init_in(gpio_t dev, gpio_pp_t pushpull)
{
int pin;
if (!gpio_enabled(dev)) {
return -1;
if (dir == GPIO_DIR_OUT) {
gpio_dir_output(pin);
/* configure the pin's pull resistor state */
IOC_PXX_OVER[pin] = IOC_OVERRIDE_OE | ioc_mask_lut[pushpull];
}
else {
gpio_dir_input(pin);
/* configure the pin's pull resistor state */
IOC_PXX_OVER[pin] = ioc_mask_lut[pushpull];
}
pin = pin_lut[dev];
gpio_software_control(pin);
gpio_dir_input(pin);
/* configure the pin's pull resistor state */
IOC_PXX_OVER[pin] = ioc_mask_lut[pushpull];
return 0;
}
@ -399,8 +385,8 @@ int gpio_init_int(gpio_t dev, gpio_pp_t pullup, gpio_flank_t flank, gpio_cb_t cb
uint32_t mask;
cc2538_gpio_t* instance;
/* Note: gpio_init_in() also checks if the gpio is enabled. */
res = gpio_init_in(dev, pullup);
/* Note: gpio_init() also checks if the gpio is enabled. */
res = gpio_init(dev, GPIO_DIR_IN, pullup);
if (res < 0) {
return res;
}
@ -623,5 +609,3 @@ void isr_gpiod(void)
thread_yield();
}
}
#endif /* GPIO_NUMOF */

@ -30,8 +30,6 @@
#include "periph/gpio.h"
#include "periph_conf.h"
#if GPIO_NUMOF
#define ENABLE_DEBUG (0)
#include "debug.h"
@ -181,7 +179,7 @@ static inline void irq_handler(gpio_t dev);
*/
static gpio_state_t config[GPIO_NUMOF];
int gpio_init_out(gpio_t dev, gpio_pp_t pushpull)
int gpio_init(gpio_t dev, gpio_dir_t dir, gpio_pp_t pushpull)
{
switch (dev) {
#if GPIO_0_EN
@ -388,220 +386,14 @@ int gpio_init_out(gpio_t dev, gpio_pp_t pushpull)
break;
}
gpio->PDDR |= GPIO_PDDR_PDD(1 << pin); /* set pin to output mode */
gpio->PCOR |= GPIO_PCOR_PTCO(1 << pin); /* set output to low */
/* Select GPIO function for the pin */
port->PCR[pin] |= PORT_PCR_MUX(PIN_MUX_FUNCTION_GPIO);
return 0;
}
int gpio_init_in(gpio_t dev, gpio_pp_t pushpull)
{
switch (dev) {
#if GPIO_0_EN
case GPIO_0:
GPIO_0_CLKEN();
break;
#endif
#if GPIO_1_EN
case GPIO_1:
GPIO_1_CLKEN();
break;
#endif
#if GPIO_2_EN
case GPIO_2:
GPIO_2_CLKEN();
break;
#endif
#if GPIO_3_EN
case GPIO_3:
GPIO_3_CLKEN();
break;
#endif
#if GPIO_4_EN
case GPIO_4:
GPIO_4_CLKEN();
break;
#endif
#if GPIO_5_EN
case GPIO_5:
GPIO_5_CLKEN();
break;
#endif
#if GPIO_6_EN
case GPIO_6:
GPIO_6_CLKEN();
break;
#endif
#if GPIO_7_EN
case GPIO_7:
GPIO_7_CLKEN();
break;
#endif
#if GPIO_8_EN
case GPIO_8:
GPIO_8_CLKEN();
break;
#endif
#if GPIO_9_EN
case GPIO_9:
GPIO_9_CLKEN();
break;
#endif
#if GPIO_10_EN
case GPIO_10:
GPIO_10_CLKEN();
break;
#endif
#if GPIO_11_EN
case GPIO_11:
GPIO_11_CLKEN();
break;
#endif
#if GPIO_12_EN
case GPIO_12:
GPIO_12_CLKEN();
break;
#endif
#if GPIO_13_EN
case GPIO_13:
GPIO_13_CLKEN();
break;
#endif
#if GPIO_14_EN
case GPIO_14:
GPIO_14_CLKEN();
break;
#endif
#if GPIO_15_EN
case GPIO_15:
GPIO_15_CLKEN();
break;
#endif
#if GPIO_16_EN
case GPIO_16:
GPIO_16_CLKEN();
break;
#endif
#if GPIO_17_EN
case GPIO_17:
GPIO_17_CLKEN();
break;
#endif
#if GPIO_18_EN
case GPIO_18:
GPIO_18_CLKEN();
break;
#endif
#if GPIO_19_EN
case GPIO_19:
GPIO_19_CLKEN();
break;
#endif
#if GPIO_20_EN
case GPIO_20:
GPIO_20_CLKEN();
break;
#endif
#if GPIO_21_EN
case GPIO_21:
GPIO_21_CLKEN();
break;
#endif
#if GPIO_22_EN
case GPIO_22:
GPIO_22_CLKEN();
break;
#endif
#if GPIO_23_EN
case GPIO_23:
GPIO_23_CLKEN();
break;
#endif
#if GPIO_24_EN
case GPIO_24:
GPIO_24_CLKEN();
break;
#endif
#if GPIO_25_EN
case GPIO_25:
GPIO_25_CLKEN();
break;
#endif
#if GPIO_26_EN
case GPIO_26:
GPIO_26_CLKEN();
break;
#endif
#if GPIO_27_EN
case GPIO_27:
GPIO_27_CLKEN();
break;
#endif
#if GPIO_28_EN
case GPIO_28:
GPIO_28_CLKEN();
break;
#endif
#if GPIO_29_EN
case GPIO_29:
GPIO_29_CLKEN();
break;
#endif
#if GPIO_30_EN
case GPIO_30:
GPIO_30_CLKEN();
break;
#endif
#if GPIO_31_EN
case GPIO_31:
GPIO_31_CLKEN();
break;
#endif