aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/orion/patches-4.9/210-wn802t_support.patch
diff options
context:
space:
mode:
authorFlorian Fainelli <f.fainelli@gmail.com>2017-10-24 17:46:02 -0700
committerFlorian Fainelli <f.fainelli@gmail.com>2017-10-24 18:39:17 -0700
commit124cf53c872dbaf2212db6cd3e7446f0fa35a63f (patch)
tree781a138f401eba675992914e4a0a9f81f641b4b6 /target/linux/orion/patches-4.9/210-wn802t_support.patch
parent474391573bbd9720a58b6fcd725896f85113e4ec (diff)
downloadupstream-124cf53c872dbaf2212db6cd3e7446f0fa35a63f.tar.gz
upstream-124cf53c872dbaf2212db6cd3e7446f0fa35a63f.tar.bz2
upstream-124cf53c872dbaf2212db6cd3e7446f0fa35a63f.zip
orion: Add support for 4.9 kernel
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Diffstat (limited to 'target/linux/orion/patches-4.9/210-wn802t_support.patch')
-rw-r--r--target/linux/orion/patches-4.9/210-wn802t_support.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/target/linux/orion/patches-4.9/210-wn802t_support.patch b/target/linux/orion/patches-4.9/210-wn802t_support.patch
new file mode 100644
index 0000000000..a274beedc3
--- /dev/null
+++ b/target/linux/orion/patches-4.9/210-wn802t_support.patch
@@ -0,0 +1,73 @@
+--- a/arch/arm/mach-orion5x/Kconfig
++++ b/arch/arm/mach-orion5x/Kconfig
+@@ -159,10 +159,13 @@ config MACH_MSS2_DT
+ Maxtor Shared Storage II platform.
+
+ config MACH_WNR854T
+- bool "Netgear WNR854T"
++ bool "Netgear WNR854T / WN802T"
+ help
+ Say 'Y' here if you want your kernel to support the
+- Netgear WNR854T platform.
++ Netgear WNR854T or WN802T platform.
++
++config MACH_WN802T
++ def_bool MACH_WNR854T
+
+ config MACH_RD88F5181L_GE
+ bool "Marvell Orion-VoIP GE Reference Design"
+--- a/arch/arm/mach-orion5x/wnr854t-setup.c
++++ b/arch/arm/mach-orion5x/wnr854t-setup.c
+@@ -115,6 +115,15 @@ static struct dsa_platform_data __initda
+ .chip = &wnr854t_switch_chip_data,
+ };
+
++static struct dsa_chip_data wn802t_switch_chip_data = {
++ .port_names[2] = "wan",
++ .port_names[3] = "cpu",
++};
++
++static struct dsa_platform_data wn802t_switch_plat_data = {
++ .nr_chips = 1,
++ .chip = &wn802t_switch_chip_data,
++};
+ static void __init wnr854t_init(void)
+ {
+ /*
+@@ -128,7 +137,10 @@ static void __init wnr854t_init(void)
+ * Configure peripherals.
+ */
+ orion5x_eth_init(&wnr854t_eth_data);
+- orion5x_eth_switch_init(&wnr854t_switch_plat_data);
++ if (machine_is_wn802t())
++ orion5x_eth_switch_init(&wn802t_switch_plat_data);
++ else
++ orion5x_eth_switch_init(&wnr854t_switch_plat_data);
+ orion5x_uart0_init();
+
+ mvebu_mbus_add_window_by_id(ORION_MBUS_DEVBUS_BOOT_TARGET,
+@@ -168,7 +180,7 @@ static struct hw_pci wnr854t_pci __initd
+
+ static int __init wnr854t_pci_init(void)
+ {
+- if (machine_is_wnr854t())
++ if (machine_is_wnr854t() || machine_is_wn802t())
+ pci_common_init(&wnr854t_pci);
+
+ return 0;
+@@ -187,3 +199,15 @@ MACHINE_START(WNR854T, "Netgear WNR854T"
+ .fixup = tag_fixup_mem32,
+ .restart = orion5x_restart,
+ MACHINE_END
++
++MACHINE_START(WN802T, "Netgear WN802T")
++ /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */
++ .atag_offset = 0x100,
++ .init_machine = wnr854t_init,
++ .map_io = orion5x_map_io,
++ .init_early = orion5x_init_early,
++ .init_irq = orion5x_init_irq,
++ .init_time = orion5x_timer_init,
++ .fixup = tag_fixup_mem32,
++ .restart = orion5x_restart,
++MACHINE_END