diff options
Diffstat (limited to 'target/linux/orion/patches')
7 files changed, 108 insertions, 45 deletions
diff --git a/target/linux/orion/patches/010-ignore_atag_cmdline.patch b/target/linux/orion/patches/010-ignore_atag_cmdline.patch index 05e835bf9..9df21f1eb 100644 --- a/target/linux/orion/patches/010-ignore_atag_cmdline.patch +++ b/target/linux/orion/patches/010-ignore_atag_cmdline.patch @@ -1,6 +1,6 @@  --- a/arch/arm/kernel/setup.c  +++ b/arch/arm/kernel/setup.c -@@ -614,7 +614,7 @@ __tagtable(ATAG_REVISION, parse_tag_revi +@@ -629,7 +629,7 @@ __tagtable(ATAG_REVISION, parse_tag_revi   static int __init parse_tag_cmdline(const struct tag *tag)   { diff --git a/target/linux/orion/patches/020-wnr854t_switch_support.patch b/target/linux/orion/patches/020-wnr854t_switch_support.patch index f62b56944..e69de29bb 100644 --- a/target/linux/orion/patches/020-wnr854t_switch_support.patch +++ b/target/linux/orion/patches/020-wnr854t_switch_support.patch @@ -1,39 +0,0 @@ ---- a/arch/arm/mach-orion5x/wnr854t-setup.c -+++ b/arch/arm/mach-orion5x/wnr854t-setup.c -@@ -15,6 +15,7 @@ - #include <linux/mtd/physmap.h> - #include <linux/mv643xx_eth.h> - #include <linux/ethtool.h> -+#include <net/dsa.h> - #include <asm/mach-types.h> - #include <asm/gpio.h> - #include <asm/mach/arch.h> -@@ -97,6 +98,20 @@ static struct mv643xx_eth_platform_data  - 	.duplex		= DUPLEX_FULL, - }; -  -+static struct dsa_chip_data wnr854t_switch_chip_data = { -+	.port_names[0] = "lan3", -+	.port_names[1] = "lan4", -+	.port_names[2] = "wan", -+	.port_names[3] = "cpu", -+	.port_names[5] = "lan1", -+	.port_names[7] = "lan2", -+}; -+ -+static struct dsa_platform_data wnr854t_switch_plat_data = { -+	.nr_chips	= 1, -+	.chip		= &wnr854t_switch_chip_data, -+}; -+ - static void __init wnr854t_init(void) - { - 	/* -@@ -110,6 +125,7 @@ static void __init wnr854t_init(void) - 	 * Configure peripherals. - 	 */ - 	orion5x_eth_init(&wnr854t_eth_data); -+	orion5x_eth_switch_init(&wnr854t_switch_plat_data, NO_IRQ); - 	orion5x_uart0_init(); -  - 	orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE, diff --git a/target/linux/orion/patches/050-wrt350nv2_cfi_workaround.patch b/target/linux/orion/patches/050-wrt350nv2_cfi_workaround.patch index b8ba0e2e2..246276d1f 100644 --- a/target/linux/orion/patches/050-wrt350nv2_cfi_workaround.patch +++ b/target/linux/orion/patches/050-wrt350nv2_cfi_workaround.patch @@ -1,6 +1,6 @@  --- a/drivers/mtd/chips/cfi_cmdset_0002.c  +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -385,8 +385,9 @@ struct mtd_info *cfi_cmdset_0002(struct  +@@ -374,8 +374,9 @@ struct mtd_info *cfi_cmdset_0002(struct    		cfi_fixup_major_minor(cfi, extp); diff --git a/target/linux/orion/patches/090-wrt350nv2_gpio_leds_buttons.patch b/target/linux/orion/patches/090-wrt350nv2_gpio_leds_buttons.patch new file mode 100644 index 000000000..e18569328 --- /dev/null +++ b/target/linux/orion/patches/090-wrt350nv2_gpio_leds_buttons.patch @@ -0,0 +1,102 @@ +--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c	2009-12-08 02:39:46.000000000 +0100 ++++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c	2010-01-13 15:25:17.000000000 +0100 +@@ -15,6 +15,9 @@ + #include <linux/mtd/physmap.h> + #include <linux/mv643xx_eth.h> + #include <linux/ethtool.h> ++#include <linux/leds.h> ++#include <linux/gpio_keys.h> ++#include <linux/input.h> + #include <net/dsa.h> + #include <asm/mach-types.h> + #include <asm/gpio.h> +@@ -24,6 +27,80 @@ + #include "common.h" + #include "mpp.h" +  ++/* ++ * LEDs attached to GPIO ++ */ ++static struct gpio_led wrt350n_v2_led_pins[] = { ++	{ ++		.name           = "wrt350nv2:green:power", ++		.gpio           = 0, ++		.active_low     = 1, ++	}, { ++		.name           = "wrt350nv2:green:security", ++		.gpio           = 1, ++		.active_low     = 1, ++	}, { ++		.name           = "wrt350nv2:orange:power", ++		.gpio           = 5, ++		.active_low     = 1, ++	}, { ++		.name           = "wrt350nv2:green:usb", ++		.gpio           = 6, ++		.active_low     = 1, ++	}, { ++		.name           = "wrt350nv2:green:wireless", ++		.gpio           = 7, ++		.active_low     = 1, ++	}, ++}; ++ ++static struct gpio_led_platform_data wrt350n_v2_led_data = { ++	.leds           = wrt350n_v2_led_pins, ++	.num_leds       = ARRAY_SIZE(wrt350n_v2_led_pins), ++}; ++ ++static struct platform_device wrt350n_v2_leds = { ++	.name   = "leds-gpio", ++	.id     = -1, ++	.dev    = { ++		.platform_data  = &wrt350n_v2_led_data, ++	}, ++}; ++ ++/* ++ * Buttons attached to GPIO ++ */ ++static struct gpio_keys_button wrt350n_v2_buttons[] = { ++        { ++                .code           = KEY_RESTART, ++                .gpio           = 3, ++                .desc           = "Reset Button", ++                .active_low     = 1, ++        }, { ++                .code           = KEY_WLAN, ++                .gpio           = 2, ++                .desc           = "WPS Button", ++                .active_low     = 1, ++        }, ++}; ++ ++static struct gpio_keys_platform_data wrt350n_v2_button_data = { ++        .buttons        = wrt350n_v2_buttons, ++        .nbuttons       = ARRAY_SIZE(wrt350n_v2_buttons), ++}; ++ ++static struct platform_device wrt350n_v2_button_device = { ++        .name           = "gpio-keys", ++        .id             = -1, ++        .num_resources  = 0, ++        .dev            = { ++                .platform_data  = &wrt350n_v2_button_data, ++        }, ++}; ++ ++/* ++ * General setup ++ */ + static struct orion5x_mpp_mode wrt350n_v2_mpp_modes[] __initdata = { + 	{  0, MPP_GPIO },		/* Power LED green (0=on) */ + 	{  1, MPP_GPIO },		/* Security LED (0=on) */ +@@ -140,6 +217,8 @@ + 	orion5x_setup_dev_boot_win(WRT350N_V2_NOR_BOOT_BASE, + 				   WRT350N_V2_NOR_BOOT_SIZE); + 	platform_device_register(&wrt350n_v2_nor_flash); ++	platform_device_register(&wrt350n_v2_button_device); ++	platform_device_register(&wrt350n_v2_leds); + } +  + static int __init wrt350n_v2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) diff --git a/target/linux/orion/patches/100-openwrt_partition_map.patch b/target/linux/orion/patches/100-openwrt_partition_map.patch index bef4a54e8..79e1be7ee 100644 --- a/target/linux/orion/patches/100-openwrt_partition_map.patch +++ b/target/linux/orion/patches/100-openwrt_partition_map.patch @@ -1,6 +1,6 @@  --- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c  +++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c -@@ -58,11 +58,11 @@ static struct mtd_partition wrt350n_v2_nor_flash_partitions +@@ -135,11 +135,11 @@ static struct mtd_partition wrt350n_v2_nor_flash_partitions   	{   		.name		= "kernel",   		.offset		= 0x00000000, @@ -15,7 +15,7 @@   	}, {   		.name		= "lang",   		.offset		= 0x00760000, -@@ -75,6 +79,14 @@ static struct mtd_partition wrt350n_v2_nor_flash_partitions +@@ -152,6 +152,14 @@ static struct mtd_partition wrt350n_v2_nor_flash_partitions   		.name		= "u-boot",   		.offset		= 0x007c0000,   		.size		= 0x00040000, diff --git a/target/linux/orion/patches/200-dt2_board_support.patch b/target/linux/orion/patches/200-dt2_board_support.patch index 4735a221e..27154723e 100644 --- a/target/linux/orion/patches/200-dt2_board_support.patch +++ b/target/linux/orion/patches/200-dt2_board_support.patch @@ -16,7 +16,7 @@   	select I2C_BOARDINFO  --- a/arch/arm/mach-orion5x/Makefile  +++ b/arch/arm/mach-orion5x/Makefile -@@ -17,3 +17,4 @@ obj-$(CONFIG_MACH_WNR854T)	+= wnr854t-se +@@ -20,3 +20,4 @@ obj-$(CONFIG_MACH_WNR854T)	+= wnr854t-se   obj-$(CONFIG_MACH_RD88F5181L_GE)	+= rd88f5181l-ge-setup.o   obj-$(CONFIG_MACH_RD88F5181L_FXO)	+= rd88f5181l-fxo-setup.o   obj-$(CONFIG_MACH_RD88F6183AP_GE)	+= rd88f6183ap-ge-setup.o diff --git a/target/linux/orion/patches/300-skb_cb_align.patch b/target/linux/orion/patches/300-skb_cb_align.patch index 89563c244..3fefa4de3 100644 --- a/target/linux/orion/patches/300-skb_cb_align.patch +++ b/target/linux/orion/patches/300-skb_cb_align.patch @@ -1,6 +1,6 @@  --- a/include/linux/skbuff.h  +++ b/include/linux/skbuff.h -@@ -335,7 +335,7 @@ struct sk_buff { +@@ -332,7 +332,7 @@ struct sk_buff {   	 * want to keep them across layers you have to do a skb_clone()   	 * first. This is owned by whoever has the skb queued ATM.   	 */  | 
