Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 62621
b: refs/heads/master
c: f9f451d
h: refs/heads/master
i:
  62619: 5697062
v: v3
  • Loading branch information
David Brownell authored and Richard Purdie committed Jul 16, 2007
1 parent ff69df7 commit b17d608
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e3986f6380558b84fef1e7ce7a29fed5bb090721
refs/heads/master: f9f451d9cac24b9bd49947d1c6971f3d689381fa
31 changes: 31 additions & 0 deletions trunk/arch/avr32/boards/atngw100/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <linux/linkage.h>
#include <linux/platform_device.h>
#include <linux/types.h>
#include <linux/leds.h>
#include <linux/spi/spi.h>

#include <asm/io.h>
Expand All @@ -21,6 +22,7 @@
#include <asm/arch/at32ap7000.h>
#include <asm/arch/board.h>
#include <asm/arch/init.h>
#include <asm/arch/portmux.h>

/* Initialized by bootloader-specific startup code. */
struct tag *bootloader_tags __initdata;
Expand Down Expand Up @@ -100,8 +102,31 @@ void __init setup_board(void)
at32_setup_serial_console(0);
}

static const struct gpio_led ngw_leds[] = {
{ .name = "sys", .gpio = GPIO_PIN_PA(16), .active_low = 1,
.default_trigger = "heartbeat",
},
{ .name = "a", .gpio = GPIO_PIN_PA(19), .active_low = 1, },
{ .name = "b", .gpio = GPIO_PIN_PE(19), .active_low = 1, },
};

static const struct gpio_led_platform_data ngw_led_data = {
.num_leds = ARRAY_SIZE(ngw_leds),
.leds = (void *) ngw_leds,
};

static struct platform_device ngw_gpio_leds = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data = (void *) &ngw_led_data,
}
};

static int __init atngw100_init(void)
{
unsigned i;

/*
* ATNGW100 uses 16-bit SDRAM interface, so we don't need to
* reserve any pins for it.
Expand All @@ -116,6 +141,12 @@ static int __init atngw100_init(void)

at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info));

for (i = 0; i < ARRAY_SIZE(ngw_leds); i++) {
at32_select_gpio(ngw_leds[i].gpio,
AT32_GPIOF_OUTPUT | AT32_GPIOF_HIGH);
}
platform_device_register(&ngw_gpio_leds);

return 0;
}
postcore_initcall(atngw100_init);
16 changes: 15 additions & 1 deletion trunk/arch/avr32/configs/atngw100_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -712,7 +712,21 @@ CONFIG_SPI_ATMEL=y
#
# LED devices
#
# CONFIG_NEW_LEDS is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y

#
# LED drivers
#
CONFIG_LEDS_GPIO=y

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y


#
# LED drivers
Expand Down

0 comments on commit b17d608

Please sign in to comment.