From 0ee8f449249e359295071a0f31ee7f076931ada7 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 12 Jan 2016 16:18:02 -0800 Subject: examples: imx7_colibri_m4: adopted GPIO example Use Colibri EXT_IO0-2 as Key/LED GPIO. Those signals can easily be connected to a real button/LED on the Colibri Evaluation board: EXT_IO0 => X21-LED1 EXT_IO1 => X21-SW6 EXT_IO2 => X21-SW5 --- examples/imx7_colibri_m4/board.h | 10 +++--- .../driver_examples/gpio_imx/main.c | 2 +- examples/imx7_colibri_m4/gpio_pins.c | 42 +++++++++++++--------- examples/imx7_colibri_m4/gpio_pins.h | 1 + 4 files changed, 34 insertions(+), 21 deletions(-) diff --git a/examples/imx7_colibri_m4/board.h b/examples/imx7_colibri_m4/board.h index 40d5dbe..7d531c1 100644 --- a/examples/imx7_colibri_m4/board.h +++ b/examples/imx7_colibri_m4/board.h @@ -80,11 +80,13 @@ #define BOARD_GPTB_HANDLER GPT4_Handler /* GPIO information for this board */ -#define BOARD_GPIO_CCM_CCGR ccmCcgrGateGpio5 -#define BOARD_GPIO_KEY_RDC_PDAP rdcPdapGpio5 +#define BOARD_GPIO_CCM_CCGR ccmCcgrGateGpio2 +#define BOARD_GPIO_LED_RDC_PDAP rdcPdapGpio1 +#define BOARD_GPIO_LED_CONFIG (&gpioLed) +#define BOARD_GPIO_KEY_RDC_PDAP rdcPdapGpio2 #define BOARD_GPIO_KEY_CONFIG (&gpioKeyFunc1) -#define BOARD_GPIO_KEY_IRQ_NUM GPIO5_INT15_0_IRQn -#define BOARD_GPIO_KEY_HANDLER GPIO5_INT15_0_Handler +#define BOARD_GPIO_KEY_IRQ_NUM GPIO2_INT31_16_IRQn +#define BOARD_GPIO_KEY_HANDLER GPIO2_INT31_16_Handler /* Debug UART information for this board */ #define BOARD_DEBUG_UART_RDC_PDAP rdcPdapUart2 diff --git a/examples/imx7_colibri_m4/driver_examples/gpio_imx/main.c b/examples/imx7_colibri_m4/driver_examples/gpio_imx/main.c index bc51468..925bd38 100644 --- a/examples/imx7_colibri_m4/driver_examples/gpio_imx/main.c +++ b/examples/imx7_colibri_m4/driver_examples/gpio_imx/main.c @@ -119,7 +119,7 @@ int main( void ) keyState = GPIO_ReadPinInput(BOARD_GPIO_KEY_CONFIG->base, BOARD_GPIO_KEY_CONFIG->pin); if(keyState != keyLastState) { - PRINTF("Button %s\n\r", keyState ? "released" : "pressed"); + PRINTF("Button %s\n\r", keyState ? "pressed" : "released"); keyLastState = keyState; #ifdef BOARD_GPIO_LED_CONFIG GPIO_WritePinOutput(BOARD_GPIO_LED_CONFIG->base, BOARD_GPIO_LED_CONFIG->pin, keyState ? gpioPinSet : gpioPinClear); diff --git a/examples/imx7_colibri_m4/gpio_pins.c b/examples/imx7_colibri_m4/gpio_pins.c index 3e2d167..f500963 100644 --- a/examples/imx7_colibri_m4/gpio_pins.c +++ b/examples/imx7_colibri_m4/gpio_pins.c @@ -31,28 +31,38 @@ #include #include "gpio_pins.h" +gpio_config_t gpioLed = { + "EXT_IO0 LED", /* name */ + &IOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO1_IO02, /* muxReg */ + 0, /* muxConfig */ + &IOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO1_IO02, /* padReg */ + 0, /* padConfig */ + GPIO1, /* base */ + 2 /* pin */ +}; + gpio_config_t gpioKeyFunc1 = { - "FUNC1", /* name */ - &IOMUXC_SW_MUX_CTL_PAD_SD2_RESET_B, /* muxReg */ + "EXT_IO1", /* name */ + &IOMUXC_SW_MUX_CTL_PAD_EPDC_GDRL, /* muxReg */ 5, /* muxConfig */ - &IOMUXC_SW_PAD_CTL_PAD_SD2_RESET_B, /* padReg */ - IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO14_PS(2) | /* padConfig */ - IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO14_PE_MASK | - IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO14_HYS_MASK, - GPIO5, /* base */ - 11 /* pin */ + &IOMUXC_SW_PAD_CTL_PAD_EPDC_GDRL, /* padReg */ + IOMUXC_SW_PAD_CTL_PAD_EPDC_GDRL_PS(2) | /* padConfig */ + IOMUXC_SW_PAD_CTL_PAD_EPDC_GDRL_PE_MASK | + IOMUXC_SW_PAD_CTL_PAD_EPDC_GDRL_HYS_MASK, + GPIO2, /* base */ + 26 /* pin */ }; gpio_config_t gpioKeyFunc2 = { - "FUNC2", /* name */ - &IOMUXC_SW_MUX_CTL_PAD_SD2_WP, /* muxReg */ + "EXT_IO2", /* name */ + &IOMUXC_SW_MUX_CTL_PAD_EPDC_SDCE2, /* muxReg */ 5, /* muxConfig */ - &IOMUXC_SW_PAD_CTL_PAD_SD2_WP, /* padReg */ - IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO15_PS(2) | /* padConfig */ - IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO15_PE_MASK | - IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO15_HYS_MASK, - GPIO5, /* base */ - 10 /* pin */ + &IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE2, /* padReg */ + IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE2_PS(2) | /* padConfig */ + IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE2_PE_MASK | + IOMUXC_SW_PAD_CTL_PAD_EPDC_SDCE2_HYS_MASK, + GPIO2, /* base */ + 22 /* pin */ }; void configure_gpio_pin(gpio_config_t *config) diff --git a/examples/imx7_colibri_m4/gpio_pins.h b/examples/imx7_colibri_m4/gpio_pins.h index 7a89afd..0994193 100644 --- a/examples/imx7_colibri_m4/gpio_pins.h +++ b/examples/imx7_colibri_m4/gpio_pins.h @@ -50,6 +50,7 @@ extern "C" { #endif /* __cplusplus */ /*! @brief GPIO pin configuration */ +extern gpio_config_t gpioLed; extern gpio_config_t gpioKeyFunc1; extern gpio_config_t gpioKeyFunc2; -- cgit v1.2.3