diff options
Diffstat (limited to 'target/linux/ifxmips')
| -rw-r--r-- | target/linux/ifxmips/patches-2.6.30/500-arv452.patch | 79 | 
1 files changed, 79 insertions, 0 deletions
| diff --git a/target/linux/ifxmips/patches-2.6.30/500-arv452.patch b/target/linux/ifxmips/patches-2.6.30/500-arv452.patch new file mode 100644 index 000000000..77dcb7a2e --- /dev/null +++ b/target/linux/ifxmips/patches-2.6.30/500-arv452.patch @@ -0,0 +1,79 @@ +Index: linux-2.6.30.10/arch/mips/ifxmips/board.c +=================================================================== +--- linux-2.6.30.10.orig/arch/mips/ifxmips/board.c	2010-03-24 16:45:31.000000000 +0100 ++++ linux-2.6.30.10/arch/mips/ifxmips/board.c	2010-03-24 16:53:18.000000000 +0100 +@@ -52,6 +52,7 @@ + 	EASY50712, + 	EASY4010, + 	ARV4519, ++	ARV452, + }; +  + extern int ifxmips_pci_external_clock; +@@ -141,6 +142,15 @@ + 	{ .name = "ifx:green:usb", .gpio = 19, .active_low = 1, }, + }; +  ++static struct gpio_led arv452_gpio_leds[] = { ++	{ .name = "ifx:blue:power", .gpio = 3, .active_low = 1, }, ++	{ .name = "ifx:blue:adsl", .gpio = 4, .active_low = 1, }, ++	{ .name = "ifx:pink:internet", .gpio = 5, .active_low = 1, }, ++	{ .name = "ifx:red:power", .gpio = 6, .active_low = 1, }, ++	{ .name = "ifx:yello:wps", .gpio = 7, .active_low = 1, }, ++	{ .name = "ifx:red:wps", .gpio = 9, .active_low = 1, }, ++}; ++ + static struct gpio_led_platform_data ifxmips_gpio_led_data; +  + static struct platform_device ifxmips_gpio_leds = { +@@ -192,6 +202,14 @@ + #endif + }; +  ++struct platform_device *arv542_devs[] = { ++	/*&ifxmips_gpio,*/ &ifxmips_mii, &ifxmips_mtd, ++	&ifxmips_gpio_dev, &ifxmips_wdt, &dwc_usb, ++#ifdef CONFIG_LEDS_GPIO ++	&ifxmips_gpio_leds, ++#endif ++}; ++ + static struct gpio_led easy50712_leds[] = { + 	{ .name = "ifx:green:test0", .gpio = 0,}, + 	{ .name = "ifx:green:test1", .gpio = 1,}, +@@ -237,7 +255,20 @@ + 		.devs = arv5419_devs, + 		.reset_resource = {.name = "reset", .start = 1, .end = 14}, + 		.pci_external_clock = 1, ++#ifdef CONFIG_LEDS_GPIO + 		.gpio_leds = arv4519_gpio_leds, ++#endif ++	}, { ++		/* arcaydian annex-b board used by airties, arcor */ ++		.type = ARV452, ++		.name = "ARV452", ++		.system_type = SYSTEM_DANUBE_CHIPID2, ++		.devs = arv542_devs, ++		.reset_resource = {.name = "reset", .start = 1, .end = 14}, ++		.pci_external_clock = 1, ++#ifdef CONFIG_LEDS_GPIO ++		.gpio_leds = arv452_gpio_leds, ++#endif + 	}, + }; +  +@@ -382,6 +413,14 @@ + 		ifxmips_gpio_led_data.num_leds = ARRAY_SIZE(arv4519_gpio_leds); + #endif + 		break; ++	case ARV452: ++		/* set some sane defaults for the gpios */ ++		board->num_devs = ARRAY_SIZE(arv542_devs); ++		ifxmips_w32(0x8001e7ff, IFXMIPS_EBU_BUSCON1); ++#ifdef CONFIG_LEDS_GPIO ++		ifxmips_gpio_led_data.num_leds = ARRAY_SIZE(arv452_gpio_leds); ++#endif ++		break; + 	} + #ifdef CONFIG_LEDS_GPIO + 	ifxmips_gpio_led_data.leds = board->gpio_leds; | 
