summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2016-01-12 16:18:02 -0800
committerStefan Agner <stefan.agner@toradex.com>2016-01-12 16:18:02 -0800
commit0ee8f449249e359295071a0f31ee7f076931ada7 (patch)
tree7cd7c71820b26af7faa06ad36d4ca73b00aa1efb
parent3dcaaf25fee58ded02e217242924ea4db44b5950 (diff)
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
-rw-r--r--examples/imx7_colibri_m4/board.h10
-rw-r--r--examples/imx7_colibri_m4/driver_examples/gpio_imx/main.c2
-rw-r--r--examples/imx7_colibri_m4/gpio_pins.c42
-rw-r--r--examples/imx7_colibri_m4/gpio_pins.h1
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 <assert.h>
#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;