diff options
Diffstat (limited to 'arch/avr32/boards/atstk1000/atstk1002.c')
-rw-r--r-- | arch/avr32/boards/atstk1000/atstk1002.c | 106 |
1 files changed, 21 insertions, 85 deletions
diff --git a/arch/avr32/boards/atstk1000/atstk1002.c b/arch/avr32/boards/atstk1000/atstk1002.c index 5be0d13f4b0..000eb4220a1 100644 --- a/arch/avr32/boards/atstk1000/atstk1002.c +++ b/arch/avr32/boards/atstk1000/atstk1002.c @@ -11,7 +11,6 @@ #include <linux/etherdevice.h> #include <linux/init.h> #include <linux/kernel.h> -#include <linux/leds.h> #include <linux/platform_device.h> #include <linux/string.h> #include <linux/types.h> @@ -22,7 +21,7 @@ #include <asm/io.h> #include <asm/setup.h> -#include <asm/arch/at32ap7000.h> +#include <asm/arch/at32ap700x.h> #include <asm/arch/board.h> #include <asm/arch/init.h> #include <asm/arch/portmux.h> @@ -49,18 +48,16 @@ static struct eth_platform_data __initdata eth_data[2] = { }, }; -#ifndef CONFIG_BOARD_ATSTK1002_SW1_CUSTOM -#ifndef CONFIG_BOARD_ATSTK1002_SW3_CUSTOM +#ifdef CONFIG_BOARD_ATSTK1000_EXTDAC static struct at73c213_board_info at73c213_data = { .ssc_id = 0, .shortname = "AVR32 STK1000 external DAC", }; #endif -#endif -#ifndef CONFIG_BOARD_ATSTK1002_SW1_CUSTOM +#ifndef CONFIG_BOARD_ATSTK100X_SW1_CUSTOM static struct spi_board_info spi0_board_info[] __initdata = { -#ifndef CONFIG_BOARD_ATSTK1002_SW3_CUSTOM +#ifdef CONFIG_BOARD_ATSTK1000_EXTDAC { /* AT73C213 */ .modalias = "at73c213", @@ -80,7 +77,7 @@ static struct spi_board_info spi0_board_info[] __initdata = { }; #endif -#ifdef CONFIG_BOARD_ATSTK1002_SPI1 +#ifdef CONFIG_BOARD_ATSTK100X_SPI1 static struct spi_board_info spi1_board_info[] __initdata = { { /* patch in custom entries here */ } }; @@ -141,68 +138,8 @@ static void __init set_hw_addr(struct platform_device *pdev) clk_put(pclk); } -#ifdef CONFIG_BOARD_ATSTK1002_J2_LED - -static struct gpio_led stk_j2_led[] = { -#ifdef CONFIG_BOARD_ATSTK1002_J2_LED8 -#define LEDSTRING "J2 jumpered to LED8" - { .name = "led0:amber", .gpio = GPIO_PIN_PB( 8), }, - { .name = "led1:amber", .gpio = GPIO_PIN_PB( 9), }, - { .name = "led2:amber", .gpio = GPIO_PIN_PB(10), }, - { .name = "led3:amber", .gpio = GPIO_PIN_PB(13), }, - { .name = "led4:amber", .gpio = GPIO_PIN_PB(14), }, - { .name = "led5:amber", .gpio = GPIO_PIN_PB(15), }, - { .name = "led6:amber", .gpio = GPIO_PIN_PB(16), }, - { .name = "led7:amber", .gpio = GPIO_PIN_PB(30), - .default_trigger = "heartbeat", }, -#else /* RGB */ -#define LEDSTRING "J2 jumpered to RGB LEDs" - { .name = "r1:red", .gpio = GPIO_PIN_PB( 8), }, - { .name = "g1:green", .gpio = GPIO_PIN_PB(10), }, - { .name = "b1:blue", .gpio = GPIO_PIN_PB(14), }, - - { .name = "r2:red", .gpio = GPIO_PIN_PB( 9), - .default_trigger = "heartbeat", }, - { .name = "g2:green", .gpio = GPIO_PIN_PB(13), }, - { .name = "b2:blue", .gpio = GPIO_PIN_PB(15), - .default_trigger = "heartbeat", }, - /* PB16, PB30 unused */ -#endif -}; - -static struct gpio_led_platform_data stk_j2_led_data = { - .num_leds = ARRAY_SIZE(stk_j2_led), - .leds = stk_j2_led, -}; - -static struct platform_device stk_j2_led_dev = { - .name = "leds-gpio", - .id = 2, /* gpio block J2 */ - .dev = { - .platform_data = &stk_j2_led_data, - }, -}; - -static void setup_j2_leds(void) -{ - unsigned i; - - for (i = 0; i < ARRAY_SIZE(stk_j2_led); i++) - at32_select_gpio(stk_j2_led[i].gpio, AT32_GPIOF_OUTPUT); - - printk("STK1002: " LEDSTRING "\n"); - platform_device_register(&stk_j2_led_dev); -} - -#else -static void setup_j2_leds(void) -{ -} -#endif - -#ifndef CONFIG_BOARD_ATSTK1002_SW1_CUSTOM -#ifndef CONFIG_BOARD_ATSTK1002_SW3_CUSTOM -static void __init at73c213_set_clk(struct at73c213_board_info *info) +#ifdef CONFIG_BOARD_ATSTK1000_EXTDAC +static void __init atstk1002_setup_extdac(void) { struct clk *gclk; struct clk *pll; @@ -220,7 +157,7 @@ static void __init at73c213_set_clk(struct at73c213_board_info *info) } at32_select_periph(GPIO_PIN_PA(30), GPIO_PERIPH_A, 0); - info->dac_clk = gclk; + at73c213_data.dac_clk = gclk; err_set_clk: clk_put(pll); @@ -229,12 +166,16 @@ err_pll: err_gclk: return; } -#endif -#endif +#else +static void __init atstk1002_setup_extdac(void) +{ + +} +#endif /* CONFIG_BOARD_ATSTK1000_EXTDAC */ void __init setup_board(void) { -#ifdef CONFIG_BOARD_ATSTK1002_SW2_CUSTOM +#ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM at32_map_usart(0, 1); /* USART 0/B: /dev/ttyS1, IRDA */ #else at32_map_usart(1, 0); /* USART 1/A: /dev/ttyS0, DB9 */ @@ -271,7 +212,7 @@ static int __init atstk1002_init(void) at32_add_system_devices(); -#ifdef CONFIG_BOARD_ATSTK1002_SW2_CUSTOM +#ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM at32_add_device_usart(1); #else at32_add_device_usart(0); @@ -281,10 +222,10 @@ static int __init atstk1002_init(void) #ifndef CONFIG_BOARD_ATSTK1002_SW6_CUSTOM set_hw_addr(at32_add_device_eth(0, ð_data[0])); #endif -#ifndef CONFIG_BOARD_ATSTK1002_SW1_CUSTOM +#ifndef CONFIG_BOARD_ATSTK100X_SW1_CUSTOM at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info)); #endif -#ifdef CONFIG_BOARD_ATSTK1002_SPI1 +#ifdef CONFIG_BOARD_ATSTK100X_SPI1 at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info)); #endif #ifdef CONFIG_BOARD_ATSTK1002_SW5_CUSTOM @@ -294,17 +235,12 @@ static int __init atstk1002_init(void) fbmem_start, fbmem_size); #endif at32_add_device_usba(0, NULL); -#ifndef CONFIG_BOARD_ATSTK1002_SW3_CUSTOM +#ifndef CONFIG_BOARD_ATSTK100X_SW3_CUSTOM at32_add_device_ssc(0, ATMEL_SSC_TX); #endif - setup_j2_leds(); - -#ifndef CONFIG_BOARD_ATSTK1002_SW3_CUSTOM -#ifndef CONFIG_BOARD_ATSTK1002_SW1_CUSTOM - at73c213_set_clk(&at73c213_data); -#endif -#endif + atstk1000_setup_j2_leds(); + atstk1002_setup_extdac(); return 0; } |