From: marek.vasut@gmail.com (Marek Vasut)
To: linux-arm-kernel@lists.infradead.org
Subject: [patch v4 06/10] efikamx: add leds support
Date: Sat, 30 Oct 2010 09:54:47 +0200 [thread overview]
Message-ID: <201010300954.47839.marek.vasut@gmail.com> (raw)
In-Reply-To: <20101027124347.146428989@rtp-net.org>
On Wednesday 27 October 2010 14:40:51 Arnaud Patard wrote:
> The efika mx a 3 leds (1 blue, 1 red, 1 green) connected on GPIOS 3
> 13/14/15. Also, some special care is done for default trigger of blue led
> for mmc as the mmc host used is different between hw revisions
>
> Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
> Index: linux-2.6-submit/arch/arm/mach-mx5/board-mx51_efikamx.c
> ===================================================================
> --- linux-2.6-submit.orig/arch/arm/mach-mx5/board-mx51_efikamx.c 2010-10-27
> 11:26:16.000000000 +0200 +++
> linux-2.6-submit/arch/arm/mach-mx5/board-mx51_efikamx.c 2010-10-27
> 11:27:38.000000000 +0200 @@ -18,6 +18,7 @@
> #include <linux/platform_device.h>
> #include <linux/i2c.h>
> #include <linux/gpio.h>
> +#include <linux/leds.h>
> #include <linux/delay.h>
> #include <linux/io.h>
> #include <linux/fsl_devices.h>
> @@ -43,6 +44,10 @@
> #define EFIKAMX_PCBID1 (2*32 + 17)
> #define EFIKAMX_PCBID2 (2*32 + 11)
>
> +#define EFIKAMX_BLUE_LED (2*32 + 13)
> +#define EFIKAMX_GREEN_LED (2*32 + 14)
> +#define EFIKAMX_RED_LED (2*32 + 15)
> +
> /* the pci ids pin have pull up. they're driven low according to board id
> */ #define MX51_PAD_PCBID0 IOMUX_PAD(0x518, 0x130, 3, 0x0, 0,
> PAD_CTL_PUS_100K_UP) #define MX51_PAD_PCBID1 IOMUX_PAD(0x51C, 0x134, 3,
> 0x0, 0, PAD_CTL_PUS_100K_UP) @@ -81,6 +86,11 @@
> MX51_PAD_GPIO_1_1__ESDHC1_WP,
> MX51_PAD_GPIO_1_7__ESDHC2_WP,
> MX51_PAD_GPIO_1_8__ESDHC2_CD,
> +
> + /* leds */
> + MX51_PAD_CSI1_D9__GPIO_3_13,
> + MX51_PAD_CSI1_VSYNC__GPIO_3_14,
> + MX51_PAD_CSI1_HSYNC__GPIO_3_15,
> };
>
> /* Serial ports */
> @@ -179,6 +189,37 @@
> }
> }
Maybe this could be modularized ?
#ifdef CONFIG_LEDS_GPIO
... the platform_data stuff below ...
efikamx_register_leds()
{
platform_device_register();
}
#else
static inline void efikamx_register_leds() {}
#endif
board_init()
{
...
efikamx_register_leds();
...
}
What do you think ? Cheers
>
> +static struct gpio_led mx51_efikamx_leds[] = {
> + {
> + .name = "efikamx:green",
> + .default_trigger = "default-on",
> + .gpio = EFIKAMX_GREEN_LED,
> + },
> + {
> + .name = "efikamx:red",
> + .default_trigger = "ide-disk",
> + .gpio = EFIKAMX_RED_LED,
> + },
> + {
> + .name = "efikamx:blue",
> + .default_trigger = "mmc0",
> + .gpio = EFIKAMX_BLUE_LED,
> + },
> +};
> +
> +static struct gpio_led_platform_data mx51_efikamx_leds_data = {
> + .leds = mx51_efikamx_leds,
> + .num_leds = ARRAY_SIZE(mx51_efikamx_leds),
> +};
> +
> +static struct platform_device mx51_efikamx_leds_device = {
> + .name = "leds-gpio",
> + .id = -1,
> + .dev = {
> + .platform_data = &mx51_efikamx_leds_data,
> + },
> +};
> +
> static void __init mxc_board_init(void)
> {
> mxc_iomux_v3_setup_multiple_pads(mx51efikamx_pads,
> @@ -189,8 +230,12 @@
> imx51_add_esdhc(0, NULL);
>
> /* on < 1.2 boards both SD controllers are used */
> - if (system_rev < 0x12)
> + if (system_rev < 0x12) {
> imx51_add_esdhc(1, NULL);
> + mx51_efikamx_leds[2].default_trigger = "mmc1";
> + }
> +
> + platform_device_register(&mx51_efikamx_leds_device);
> }
>
> static void __init mx51_efikamx_timer_init(void)
>
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2010-10-30 7:54 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-27 12:40 [patch v4 00/10] efikamx support improvements - take 4 Arnaud Patard (Rtp)
2010-10-27 12:40 ` [patch v4 01/10] efikamx: read board id Arnaud Patard (Rtp)
2010-10-30 7:48 ` Marek Vasut
2010-11-02 9:35 ` Arnaud Patard (Rtp)
2010-10-27 12:40 ` [patch v4 02/10] imx51: fix iomux configuration Arnaud Patard (Rtp)
2010-10-30 7:50 ` Marek Vasut
2010-10-30 15:22 ` Xinyu Chen
2010-10-27 12:40 ` [patch v4 03/10] imx51: enhance iomux configuration for esdhc support Arnaud Patard (Rtp)
2010-10-27 12:40 ` [patch v4 04/10] efikamx: add mmc support Arnaud Patard (Rtp)
2010-10-27 12:40 ` [patch v4 05/10] imx51: add gpio mode for csi1 {h,v}sync Arnaud Patard (Rtp)
2010-10-30 7:51 ` Marek Vasut
2010-10-27 12:40 ` [patch v4 06/10] efikamx: add leds support Arnaud Patard (Rtp)
2010-10-30 7:54 ` Marek Vasut [this message]
2010-11-02 8:38 ` Uwe Kleine-König
2010-11-02 9:35 ` Arnaud Patard (Rtp)
2010-11-02 13:46 ` Alberto Panizzo
2010-11-02 14:16 ` Matt Sealey
2010-11-02 16:18 ` Alberto Panizzo
2010-11-02 13:31 ` Matt Sealey
2010-11-02 17:42 ` Sascha Hauer
2010-10-27 12:40 ` [patch v4 07/10] efikamx: add support for power key Arnaud Patard (Rtp)
2010-10-27 12:40 ` [patch v4 08/10] imx51: fix gpio_4_24 and gpio_4_25 pad configuration Arnaud Patard (Rtp)
2010-10-27 12:40 ` [patch v4 09/10] efikamx: add spi nor support Arnaud Patard (Rtp)
2010-10-30 7:56 ` Marek Vasut
2010-10-27 12:40 ` [patch v4 10/10] efikamx: add reset Arnaud Patard (Rtp)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201010300954.47839.marek.vasut@gmail.com \
--to=marek.vasut@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.