diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2012-01-05 14:36:38 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-01-06 09:42:30 +0100 |
commit | be11d8ef355c9d5d3a0add64ef9a5e3203ad6810 (patch) | |
tree | eed8b7d32cfdd59b44378e1b154db95c9108df16 /arch/arm/boards/at91sam9260ek | |
parent | 6ac280d92e1edd7b8cceda08855d24243e911e22 (diff) | |
download | barebox-be11d8ef355c9d5d3a0add64ef9a5e3203ad6810.tar.gz barebox-be11d8ef355c9d5d3a0add64ef9a5e3203ad6810.tar.xz |
at91sam9260/9g20ek: add led support
use ds3 for heartbeat and ds5 for dfu
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/at91sam9260ek')
-rw-r--r-- | arch/arm/boards/at91sam9260ek/env/bin/init_board | 1 | ||||
-rw-r--r-- | arch/arm/boards/at91sam9260ek/init.c | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/boards/at91sam9260ek/env/bin/init_board b/arch/arm/boards/at91sam9260ek/env/bin/init_board index 0a6baf722b..977430debd 100644 --- a/arch/arm/boards/at91sam9260ek/env/bin/init_board +++ b/arch/arm/boards/at91sam9260ek/env/bin/init_board @@ -46,4 +46,5 @@ echo "" echo "Start DFU Mode" echo "" +led ds5 1 dfu ${dfu_config} -P ${product_id} -V ${vendor_id} diff --git a/arch/arm/boards/at91sam9260ek/init.c b/arch/arm/boards/at91sam9260ek/init.c index a11998a148..4bff35e90f 100644 --- a/arch/arm/boards/at91sam9260ek/init.c +++ b/arch/arm/boards/at91sam9260ek/init.c @@ -200,6 +200,37 @@ static struct at91_udc_data __initdata ek_udc_data = { .pullup_pin = -EINVAL, /* pull-up driven by UDC */ }; +struct gpio_led leds[] = { + { + .gpio = AT91_PIN_PA6, + .active_low = 1, + .led = { + .name = "ds5", + }, + }, { + .gpio = AT91_PIN_PA9, + .led = { + .name = "ds3", + }, + }, +}; + +static void __init ek_add_led(void) +{ + int i; + +#ifdef CONFIG_AT91_HAVE_2MMC + leds[0].gpio = AT91_PIN_PB8; + leds[1].gpio = AT91_PIN_PB9; +#endif + + for (i = 0; i < ARRAY_SIZE(leds); i++) { + at91_set_gpio_output(leds[i].gpio, leds[i].active_low); + led_gpio_register(&leds[i]); + } + led_set_trigger(LED_TRIGGER_HEARTBEAT, &leds[1].led); +} + static int at91sam9260ek_mem_init(void) { at91_add_device_sdram(64 * 1024 * 1024); @@ -227,6 +258,7 @@ static int at91sam9260ek_devices_init(void) at91_add_device_udc(&ek_udc_data); ek_usb_add_device_mci(); ek_add_device_buttons(); + ek_add_led(); armlinux_set_bootparams((void *)(AT91_CHIPSELECT_1 + 0x100)); ek_set_board_type(); |