From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nbd.name (unknown [IPv6:2a01:4f8:131:30e2::2]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by huchra.bufferbloat.net (Postfix) with ESMTPS id B7EF221F11C for ; Tue, 13 Nov 2012 05:24:52 -0800 (PST) From: John Crispin To: dave.taht@bufferbloat.net Date: Tue, 13 Nov 2012 14:23:39 +0100 Message-Id: <1352813019-10042-1-git-send-email-blogic@openwrt.org> X-Mailer: git-send-email 1.7.10.4 X-Mailman-Approved-At: Tue, 13 Nov 2012 05:25:56 -0800 Cc: cerowrt-devel@lists.bufferbloat.net, John Crispin Subject: [Cerowrt-devel] [PATCH] [lantiq] adds dgn3500 support X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Nov 2012 13:24:53 -0000 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 --- 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 #include #include +#include #include #include @@ -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