ARM: mx5/mx53_loco: Add support for LED
authorFabio Estevam <festevam@gmail.com>
Sat, 28 May 2011 14:51:32 +0000 (11:51 -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>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
arch/arm/mach-mx5/Kconfig
arch/arm/mach-mx5/board-mx53_loco.c

index f25e9d7..7976512 100644 (file)
@@ -203,6 +203,7 @@ config MACH_MX53_LOCO
        select IMX_HAVE_PLATFORM_IMX_UART
        select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
        select IMX_HAVE_PLATFORM_GPIO_KEYS
+       select LEDS_GPIO_REGISTER
        help
          Include support for MX53 LOCO platform. This includes specific
          configurations for the board and its peripherals.
index 359c3e2..57576f7 100644 (file)
@@ -38,6 +38,7 @@
 #define MX53_LOCO_UI1                  IMX_GPIO_NR(2, 14)
 #define MX53_LOCO_UI2                  IMX_GPIO_NR(2, 15)
 #define LOCO_FEC_PHY_RST               IMX_GPIO_NR(7, 6)
+#define LOCO_LED                       IMX_GPIO_NR(7, 7)
 
 static iomux_v3_cfg_t mx53_loco_pads[] = {
        /* FEC */
@@ -163,7 +164,7 @@ static iomux_v3_cfg_t mx53_loco_pads[] = {
        MX53_PAD_GPIO_7__SPDIF_PLOCK,
        MX53_PAD_GPIO_17__SPDIF_OUT1,
        /* GPIO */
-       MX53_PAD_PATA_DA_1__GPIO7_7,
+       MX53_PAD_PATA_DA_1__GPIO7_7,            /* LED */
        MX53_PAD_PATA_DA_2__GPIO7_8,
        MX53_PAD_PATA_DATA5__GPIO2_5,
        MX53_PAD_PATA_DATA6__GPIO2_6,
@@ -225,6 +226,19 @@ static const struct imxi2c_platform_data mx53_loco_i2c_data __initconst = {
        .bitrate = 100000,
 };
 
+static const struct gpio_led mx53loco_leds[] __initconst = {
+       {
+               .name                   = "green",
+               .default_trigger        = "heartbeat",
+               .gpio                   = LOCO_LED,
+       },
+};
+
+static const struct gpio_led_platform_data mx53loco_leds_data __initconst = {
+       .leds           = mx53loco_leds,
+       .num_leds       = ARRAY_SIZE(mx53loco_leds),
+};
+
 static void __init mx53_loco_board_init(void)
 {
        imx53_soc_init();
@@ -240,6 +254,7 @@ static void __init mx53_loco_board_init(void)
        imx53_add_sdhci_esdhc_imx(0, NULL);
        imx53_add_sdhci_esdhc_imx(2, NULL);
        imx_add_gpio_keys(&loco_button_data);
+       gpio_led_register_device(-1, &mx53loco_leds_data);
 }
 
 static void __init mx53_loco_timer_init(void)