From d44d954dec6c9c2647a5d66e9d049eeb02367bc7 Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Sun, 18 Nov 2012 10:18:01 +0000
Subject: [PATCH] ar71xx: add kernel support for the RB435G board

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34239
---
 .../ar71xx/files/arch/mips/ath79/mach-rb4xx.c | 29 +++++++++++++++++++
 .../615-MIPS-ath79-RB435G-support.patch       | 10 +++++++
 .../615-MIPS-ath79-RB435G-support.patch       | 10 +++++++
 3 files changed, 49 insertions(+)
 create mode 100644 target/linux/ar71xx/patches-3.3/615-MIPS-ath79-RB435G-support.patch
 create mode 100644 target/linux/ar71xx/patches-3.6/615-MIPS-ath79-RB435G-support.patch

diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c
index 0699232e5d..3f02be791e 100644
--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb4xx.c
@@ -305,6 +305,35 @@ static void __init rb433u_setup(void)
 MIPS_MACHINE(ATH79_MACH_RB_433U, "433U", "MikroTik RouterBOARD 433UAH",
 	     rb433u_setup);
 
+static void __init rb435g_setup(void)
+{
+	rb4xx_generic_setup();
+
+	spi_register_board_info(rb4xx_microsd_info,
+				ARRAY_SIZE(rb4xx_microsd_info));
+
+	ath79_register_mdio(0, ~RB433_MDIO_PHYMASK);
+
+	ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 1);
+	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
+	ath79_eth0_data.phy_mask = RB433_LAN_PHYMASK;
+
+	ath79_init_mac(ath79_eth1_data.mac_addr, ath79_mac_base, 0);
+	ath79_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
+	ath79_eth1_data.phy_mask = RB433_WAN_PHYMASK;
+
+	ath79_register_eth(1);
+	ath79_register_eth(0);
+
+	ath79_pci_set_irq_map(ARRAY_SIZE(rb4xx_pci_irqs), rb4xx_pci_irqs);
+	ath79_register_pci();
+
+	ath79_register_usb();
+}
+
+MIPS_MACHINE(ATH79_MACH_RB_435G, "435G", "MikroTik RouterBOARD 435G",
+	     rb435g_setup);
+
 #define RB450_LAN_PHYMASK	BIT(0)
 #define RB450_WAN_PHYMASK	BIT(4)
 #define RB450_MDIO_PHYMASK	(RB450_LAN_PHYMASK | RB450_WAN_PHYMASK)
diff --git a/target/linux/ar71xx/patches-3.3/615-MIPS-ath79-RB435G-support.patch b/target/linux/ar71xx/patches-3.3/615-MIPS-ath79-RB435G-support.patch
new file mode 100644
index 0000000000..5921417698
--- /dev/null
+++ b/target/linux/ar71xx/patches-3.3/615-MIPS-ath79-RB435G-support.patch
@@ -0,0 +1,10 @@
+--- a/arch/mips/ath79/machtypes.h
++++ b/arch/mips/ath79/machtypes.h
+@@ -56,6 +56,7 @@ enum ath79_mach_type {
+ 	ATH79_MACH_RB_411U,		/* MikroTik RouterBOARD 411U */
+ 	ATH79_MACH_RB_433,		/* MikroTik RouterBOARD 433/433AH */
+ 	ATH79_MACH_RB_433U,		/* MikroTik RouterBOARD 433UAH */
++	ATH79_MACH_RB_435G,		/* MikroTik RouterBOARD 435G */
+ 	ATH79_MACH_RB_450G,		/* MikroTik RouterBOARD 450G */
+ 	ATH79_MACH_RB_450,		/* MikroTik RouterBOARD 450 */
+ 	ATH79_MACH_RB_493,		/* Mikrotik RouterBOARD 493/493AH */
diff --git a/target/linux/ar71xx/patches-3.6/615-MIPS-ath79-RB435G-support.patch b/target/linux/ar71xx/patches-3.6/615-MIPS-ath79-RB435G-support.patch
new file mode 100644
index 0000000000..5921417698
--- /dev/null
+++ b/target/linux/ar71xx/patches-3.6/615-MIPS-ath79-RB435G-support.patch
@@ -0,0 +1,10 @@
+--- a/arch/mips/ath79/machtypes.h
++++ b/arch/mips/ath79/machtypes.h
+@@ -56,6 +56,7 @@ enum ath79_mach_type {
+ 	ATH79_MACH_RB_411U,		/* MikroTik RouterBOARD 411U */
+ 	ATH79_MACH_RB_433,		/* MikroTik RouterBOARD 433/433AH */
+ 	ATH79_MACH_RB_433U,		/* MikroTik RouterBOARD 433UAH */
++	ATH79_MACH_RB_435G,		/* MikroTik RouterBOARD 435G */
+ 	ATH79_MACH_RB_450G,		/* MikroTik RouterBOARD 450G */
+ 	ATH79_MACH_RB_450,		/* MikroTik RouterBOARD 450 */
+ 	ATH79_MACH_RB_493,		/* Mikrotik RouterBOARD 493/493AH */
-- 
GitLab