ARM: mx5/mx53_evk: Add support for LED
authorFabio Estevam <fabio.estevam@freescale.com>
Mon, 30 May 2011 15:42:26 +0000 (12:42 -0300)
committerSascha Hauer <s.hauer@pengutronix.de>
Thu, 7 Jul 2011 08:01:06 +0000 (10:01 +0200)
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx5/Kconfig
arch/arm/mach-mx5/board-mx53_evk.c

index 79765122b6ff7991de2d2742b6ce12169ee1b36a..3c9845552ca7b8e64b30a09ed7045a8c90ddbe50 100644 (file)
@@ -180,6 +180,7 @@ config MACH_MX53_EVK
        select IMX_HAVE_PLATFORM_IMX_I2C
        select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
        select IMX_HAVE_PLATFORM_SPI_IMX
        select IMX_HAVE_PLATFORM_IMX_I2C
        select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
        select IMX_HAVE_PLATFORM_SPI_IMX
+       select LEDS_GPIO_REGISTER
        help
          Include support for MX53 EVK platform. This includes specific
          configurations for the board and its peripherals.
        help
          Include support for MX53 EVK platform. This includes specific
          configurations for the board and its peripherals.
index 0d9218a6e2d23da4542fa60edf35120630b97f13..1b417b06b7360b526d87915654e569ae91111efd 100644 (file)
@@ -35,6 +35,7 @@
 #define MX53_EVK_FEC_PHY_RST   IMX_GPIO_NR(7, 6)
 #define EVK_ECSPI1_CS0         IMX_GPIO_NR(2, 30)
 #define EVK_ECSPI1_CS1         IMX_GPIO_NR(3, 19)
 #define MX53_EVK_FEC_PHY_RST   IMX_GPIO_NR(7, 6)
 #define EVK_ECSPI1_CS0         IMX_GPIO_NR(2, 30)
 #define EVK_ECSPI1_CS1         IMX_GPIO_NR(3, 19)
+#define MX53EVK_LED            IMX_GPIO_NR(7, 7)
 
 #include "crm_regs.h"
 #include "devices-imx53.h"
 
 #include "crm_regs.h"
 #include "devices-imx53.h"
@@ -58,12 +59,27 @@ static iomux_v3_cfg_t mx53_evk_pads[] = {
        /* ecspi chip select lines */
        MX53_PAD_EIM_EB2__GPIO2_30,
        MX53_PAD_EIM_D19__GPIO3_19,
        /* ecspi chip select lines */
        MX53_PAD_EIM_EB2__GPIO2_30,
        MX53_PAD_EIM_D19__GPIO3_19,
+       /* LED */
+       MX53_PAD_PATA_DA_1__GPIO7_7,
 };
 
 static const struct imxuart_platform_data mx53_evk_uart_pdata __initconst = {
        .flags = IMXUART_HAVE_RTSCTS,
 };
 
 };
 
 static const struct imxuart_platform_data mx53_evk_uart_pdata __initconst = {
        .flags = IMXUART_HAVE_RTSCTS,
 };
 
+static const struct gpio_led mx53evk_leds[] __initconst = {
+       {
+               .name                   = "green",
+               .default_trigger        = "heartbeat",
+               .gpio                   = MX53EVK_LED,
+       },
+};
+
+static const struct gpio_led_platform_data mx53evk_leds_data __initconst = {
+       .leds           = mx53evk_leds,
+       .num_leds       = ARRAY_SIZE(mx53evk_leds),
+};
+
 static inline void mx53_evk_init_uart(void)
 {
        imx53_add_imx_uart(0, NULL);
 static inline void mx53_evk_init_uart(void)
 {
        imx53_add_imx_uart(0, NULL);
@@ -135,6 +151,7 @@ static void __init mx53_evk_board_init(void)
                ARRAY_SIZE(mx53_evk_spi_board_info));
        imx53_add_ecspi(0, &mx53_evk_spi_data);
        imx53_add_imx2_wdt(0, NULL);
                ARRAY_SIZE(mx53_evk_spi_board_info));
        imx53_add_ecspi(0, &mx53_evk_spi_data);
        imx53_add_imx2_wdt(0, NULL);
+       gpio_led_register_device(-1, &mx53evk_leds_data);
 }
 
 static void __init mx53_evk_timer_init(void)
 }
 
 static void __init mx53_evk_timer_init(void)