[Cerowrt-devel] [PATCH] [lantiq] adds dgn3500 support

John Crispin blogic at openwrt.org
Tue Nov 13 08:23:39 EST 2012


backport from openwrt AA branch r34183

makes the unit fully functional, spi flash is a bit slow as we use gpio
bitbanging until the irq issue of the hardwrae spi is fixed

Signed-off-by: John Crispin <blogic at openwrt.org>
---
 target/linux/lantiq/ar9/config-default               |   12 ++++++++++--
 target/linux/lantiq/ar9/profiles/002-netgear.mk      |    2 +-
 target/linux/lantiq/ar9/target.mk                    |    2 +-
 .../files/arch/mips/lantiq/xway/mach-netgear.c       |   18 ++++++++++++++++++
 4 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/target/linux/lantiq/ar9/config-default b/target/linux/lantiq/ar9/config-default
index 67b6a46..f1ec989 100644
--- a/target/linux/lantiq/ar9/config-default
+++ b/target/linux/lantiq/ar9/config-default
@@ -1,13 +1,15 @@
 CONFIG_ADM6996_PHY=y
 CONFIG_AR8216_PHY=y
-# CONFIG_ATMEL_PWM is not set
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_FSNOTIFY=y
 CONFIG_HAVE_MACH_CLKDEV=y
+CONFIG_HOTPLUG_PCI=y
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+CONFIG_HOTPLUG_PCI_FAKE=y
+# CONFIG_HOTPLUG_PCI_SHPC is not set
 CONFIG_HW_HAS_PCI=y
 CONFIG_INPUT=y
 CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_GPIO_BUTTONS is not set
 CONFIG_INPUT_POLLDEV=y
 CONFIG_IRQ_FORCED_THREADING=y
 # CONFIG_ISDN is not set
@@ -22,8 +24,10 @@ CONFIG_LANTIQ_MACH_WBMR=y
 CONFIG_LANTIQ_MACH_P2601HNFX=y
 CONFIG_LANTIQ_MACH_H201L=y
 # CONFIG_LANTIQ_VRX200 is not set
+CONFIG_M25PXX_USE_FAST_READ=y
 CONFIG_MDIO_BOARDINFO=y
 CONFIG_MTD_BLOCK2MTD=y
+CONFIG_MTD_M25P80=y
 CONFIG_PCI=y
 # CONFIG_PCIEPORTBUS is not set
 # CONFIG_PCIE_LANTIQ is not set
@@ -36,5 +40,9 @@ CONFIG_RTL8306_PHY=y
 CONFIG_SOC_TYPE_XWAY=y
 CONFIG_SOC_XWAY=y
 # CONFIG_SOC_SVIP is not set
+CONFIG_SPI=y
+CONFIG_SPI_BITBANG=y
+CONFIG_SPI_GPIO=y
+CONFIG_SPI_MASTER=y
 CONFIG_USB_ARCH_HAS_XHCI=y
 CONFIG_USB_SUPPORT=y
diff --git a/target/linux/lantiq/ar9/profiles/002-netgear.mk b/target/linux/lantiq/ar9/profiles/002-netgear.mk
index a3c83bb..928dc8e 100644
--- a/target/linux/lantiq/ar9/profiles/002-netgear.mk
+++ b/target/linux/lantiq/ar9/profiles/002-netgear.mk
@@ -1,6 +1,6 @@
 define Profile/DGN3500B
   NAME:=DGN3500B Netgear
-  PACKAGES:= kmod-usb-core kmod-usb-dwc-otg
+  PACKAGES:= kmod-usb-core kmod-usb-dwc-otg kmod-ath9k kmod-ltq-dsl-firmware-b-ar9
 endef
 
 define Profile/DGN3500B/Description
diff --git a/target/linux/lantiq/ar9/target.mk b/target/linux/lantiq/ar9/target.mk
index cb57b88..0d35fa0 100644
--- a/target/linux/lantiq/ar9/target.mk
+++ b/target/linux/lantiq/ar9/target.mk
@@ -5,7 +5,7 @@ FEATURES:=squashfs jffs2 atm
 
 DEFAULT_PACKAGES+=kmod-pppoa ppp-mod-pppoa linux-atm atm-tools br2684ctl kmod-ltq-dsl-ar9 ltq-dsl-app \
 	kmod-input-gpio-keys-polled kmod-ledtrig-netdev kmod-leds-gpio kmod-button-hotplug \
-	swconfig
+	swconfig wpad-mini
 
 define Target/Description
 	Lantiq AR9
diff --git a/target/linux/lantiq/files/arch/mips/lantiq/xway/mach-netgear.c b/target/linux/lantiq/files/arch/mips/lantiq/xway/mach-netgear.c
index 29b0728..bb28537 100644
--- a/target/linux/lantiq/files/arch/mips/lantiq/xway/mach-netgear.c
+++ b/target/linux/lantiq/files/arch/mips/lantiq/xway/mach-netgear.c
@@ -22,6 +22,7 @@
 #include <linux/etherdevice.h>
 #include <linux/kobject.h>
 #include <linux/sysfs.h>
+#include <linux/rtl8366.h>
 
 #include <lantiq_soc.h>
 #include <irq.h>
@@ -149,6 +150,22 @@ static int __init setup_ethaddr(char *str)
 }
 __setup("ethaddr=", setup_ethaddr);
 
+#define smi_SCK		37
+#define smi_SDA		35
+
+static struct rtl8366_platform_data rtl8366rb_data = {
+	.gpio_sda = smi_SDA,
+	.gpio_sck = smi_SCK,
+};
+
+static struct platform_device rtl8366rb_device = {
+	.name = RTL8366RB_DRIVER_NAME,
+	.id = -1,
+	.dev = {
+		.platform_data  = &rtl8366rb_data,
+	}
+};
+
 static u16 dgn3500_eeprom_data[ATH9K_PLAT_EEP_MAX_WORDS] = {0};
 
 static ssize_t ath_eeprom_read(struct file *filp, struct kobject *kobj,
@@ -231,6 +248,7 @@ static void __init dgn3500_init(void)
 	ltq_pci_ath_fixup(14, dgn3500_eeprom_data);
 	/* The usb power is always enabled, protected by a fuse */
 	xway_register_dwc(-1);
+	platform_device_register(&rtl8366rb_device);
 }
 
 MIPS_MACHINE(LANTIQ_MACH_DGN3500B,
-- 
1.7.10.4




More information about the Cerowrt-devel mailing list