From 3c1079a7a7d7773cd2d29a9183209f9438746047 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Thu, 7 Jul 2011 18:20:27 +0000 Subject: [PATCH] add ar9 specific profile SVN-Revision: 27536 --- target/linux/lantiq/ar9/config-2.6.32 | 30 +++++ target/linux/lantiq/ar9/config-3.0 | 51 ++++++++ target/linux/lantiq/ar9/config-default | 51 ++++++++ .../linux/lantiq/ar9/profiles/000-generic.mk | 6 + .../linux/lantiq/ar9/profiles/001-lantiq.mk | 10 ++ .../linux/lantiq/ar9/profiles/002-netgear.mk | 11 ++ target/linux/lantiq/ar9/target.mk | 10 ++ .../patches-2.6.32/600-mach-dgn3500.patch | 111 ++++++++++++++++++ 8 files changed, 280 insertions(+) create mode 100644 target/linux/lantiq/ar9/config-2.6.32 create mode 100644 target/linux/lantiq/ar9/config-3.0 create mode 100644 target/linux/lantiq/ar9/config-default create mode 100644 target/linux/lantiq/ar9/profiles/000-generic.mk create mode 100644 target/linux/lantiq/ar9/profiles/001-lantiq.mk create mode 100644 target/linux/lantiq/ar9/profiles/002-netgear.mk create mode 100644 target/linux/lantiq/ar9/target.mk create mode 100644 target/linux/lantiq/patches-2.6.32/600-mach-dgn3500.patch diff --git a/target/linux/lantiq/ar9/config-2.6.32 b/target/linux/lantiq/ar9/config-2.6.32 new file mode 100644 index 0000000000..eb815056e1 --- /dev/null +++ b/target/linux/lantiq/ar9/config-2.6.32 @@ -0,0 +1,30 @@ +CONFIG_ADM6996_PHY=y +CONFIG_AR8216_PHY=y +CONFIG_DEVPORT=y +# CONFIG_DM9000 is not set +CONFIG_HW_HAS_PCI=y +# CONFIG_I2C_DESIGNWARE is not set +CONFIG_INPUT=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_GPIO_BUTTONS is not set +CONFIG_INPUT_POLLDEV=y +# CONFIG_INPUT_YEALINK is not set +# CONFIG_ISDN is not set +CONFIG_LANTIQ_ETOP=y +# CONFIG_LANTIQ_MACH_ARV45XX is not set +# CONFIG_LANTIQ_MACH_EASY50712 is not set +CONFIG_LANTIQ_MACH_NETGEAR=y +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_RTL8306_PHY=y +# CONFIG_SOC_AMAZON_SE is not set +# CONFIG_SOC_FALCON is not set +CONFIG_SOC_TYPE_XWAY=y +CONFIG_SOC_XWAY=y +CONFIG_SPI=y +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_GPIO is not set +CONFIG_SPI_MASTER=y +# CONFIG_SPI_SPIDEV is not set +# CONFIG_TC35815 is not set +CONFIG_USB_SUPPORT=y diff --git a/target/linux/lantiq/ar9/config-3.0 b/target/linux/lantiq/ar9/config-3.0 new file mode 100644 index 0000000000..f596114d76 --- /dev/null +++ b/target/linux/lantiq/ar9/config-3.0 @@ -0,0 +1,51 @@ +CONFIG_ADM6996_PHY=y +CONFIG_AR8216_PHY=y +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ATH79 is not set +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_IRQ_WORK=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HW_HAS_PCI=y +CONFIG_INPUT=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_GPIO_BUTTONS is not set +CONFIG_INPUT_POLLDEV=y +# CONFIG_ISDN is not set +CONFIG_LANTIQ_ETOP=y +# CONFIG_LANTIQ_MACH_ARV45XX is not set +# CONFIG_LANTIQ_MACH_EASY50712 is not set +CONFIG_LANTIQ_MACH_NETGEAR=y +# CONFIG_LANTIQ_MACH_GIGASX76X is not set +CONFIG_MACH_NO_WESTBRIDGE=y +# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PERF_USE_VMALLOC=y +# CONFIG_PREEMPT_RCU is not set +# CONFIG_QUOTACTL is not set +CONFIG_RTL8306_PHY=y +# CONFIG_SOC_AMAZON_SE is not set +# CONFIG_SOC_FALCON is not set +CONFIG_SOC_TYPE_XWAY=y +CONFIG_SOC_XWAY=y +CONFIG_SPI=y +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_GPIO is not set +CONFIG_SPI_LANTIQ=y +CONFIG_SPI_MASTER=y +CONFIG_USB_SUPPORT=y +CONFIG_XZ_DEC=y diff --git a/target/linux/lantiq/ar9/config-default b/target/linux/lantiq/ar9/config-default new file mode 100644 index 0000000000..f596114d76 --- /dev/null +++ b/target/linux/lantiq/ar9/config-default @@ -0,0 +1,51 @@ +CONFIG_ADM6996_PHY=y +CONFIG_AR8216_PHY=y +# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +# CONFIG_ATH79 is not set +CONFIG_GENERIC_ATOMIC64=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_IRQ_WORK=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HW_HAS_PCI=y +CONFIG_INPUT=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_GPIO_BUTTONS is not set +CONFIG_INPUT_POLLDEV=y +# CONFIG_ISDN is not set +CONFIG_LANTIQ_ETOP=y +# CONFIG_LANTIQ_MACH_ARV45XX is not set +# CONFIG_LANTIQ_MACH_EASY50712 is not set +CONFIG_LANTIQ_MACH_NETGEAR=y +# CONFIG_LANTIQ_MACH_GIGASX76X is not set +CONFIG_MACH_NO_WESTBRIDGE=y +# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PERF_USE_VMALLOC=y +# CONFIG_PREEMPT_RCU is not set +# CONFIG_QUOTACTL is not set +CONFIG_RTL8306_PHY=y +# CONFIG_SOC_AMAZON_SE is not set +# CONFIG_SOC_FALCON is not set +CONFIG_SOC_TYPE_XWAY=y +CONFIG_SOC_XWAY=y +CONFIG_SPI=y +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_GPIO is not set +CONFIG_SPI_LANTIQ=y +CONFIG_SPI_MASTER=y +CONFIG_USB_SUPPORT=y +CONFIG_XZ_DEC=y diff --git a/target/linux/lantiq/ar9/profiles/000-generic.mk b/target/linux/lantiq/ar9/profiles/000-generic.mk new file mode 100644 index 0000000000..787a74fba2 --- /dev/null +++ b/target/linux/lantiq/ar9/profiles/000-generic.mk @@ -0,0 +1,6 @@ +define Profile/Generic + NAME:=Generic - all boards + PACKAGES:=kmod-leds-gpio button-hotplug +endef + +$(eval $(call Profile,Generic)) diff --git a/target/linux/lantiq/ar9/profiles/001-lantiq.mk b/target/linux/lantiq/ar9/profiles/001-lantiq.mk new file mode 100644 index 0000000000..f55f223941 --- /dev/null +++ b/target/linux/lantiq/ar9/profiles/001-lantiq.mk @@ -0,0 +1,10 @@ +define Profile/EASY50812 + NAME:=EASY50812 + PACKAGES:= kmod-usb-core kmod-usb-dwc-otg kmod-leds-gpio +endef + +define Profile/EASY50812/Description + Lantiq EASY50812 evalkit +endef + +$(eval $(call Profile,EASY50812)) diff --git a/target/linux/lantiq/ar9/profiles/002-netgear.mk b/target/linux/lantiq/ar9/profiles/002-netgear.mk new file mode 100644 index 0000000000..51a98bb2d4 --- /dev/null +++ b/target/linux/lantiq/ar9/profiles/002-netgear.mk @@ -0,0 +1,11 @@ +define Profile/DGN3500B + NAME:=DGN3500B + PACKAGES:= kmod-usb-core kmod-usb-dwc-otg kmod-leds-gpio +endef + +define Profile/DGN3500B/Description + Netgear DGN3500B +endef + +$(eval $(call Profile,DGN3500B)) + diff --git a/target/linux/lantiq/ar9/target.mk b/target/linux/lantiq/ar9/target.mk new file mode 100644 index 0000000000..a04384efeb --- /dev/null +++ b/target/linux/lantiq/ar9/target.mk @@ -0,0 +1,10 @@ +ARCH:=mips +SUBTARGET:=ar9 +BOARDNAME:=AR9 +FEATURES:=squashfs jffs2 atm + +DEFAULT_PACKAGES+=kmod-pppoa ppp-mod-pppoa linux-atm atm-tools br2684ctl kmod-ltq-dsl ltq-dsl-app swconfig + +define Target/Description + Lantiq XWAY (danube/twinpass/ar9) +endef diff --git a/target/linux/lantiq/patches-2.6.32/600-mach-dgn3500.patch b/target/linux/lantiq/patches-2.6.32/600-mach-dgn3500.patch new file mode 100644 index 0000000000..aa8db1008e --- /dev/null +++ b/target/linux/lantiq/patches-2.6.32/600-mach-dgn3500.patch @@ -0,0 +1,111 @@ +--- a/arch/mips/lantiq/machtypes.h ++++ b/arch/mips/lantiq/machtypes.h +@@ -32,6 +32,9 @@ + LANTIQ_MACH_ARV752DPW, /* Arcor easybox a802 */ + LANTIQ_MACH_ARV752DPW22, /* Arcor easybox a803 */ + LANTIQ_MACH_ARV7518PW, /* ASTORIA */ ++ ++ /* Netgear */ ++ LANTIQ_MACH_DGN3500B, /* Netgear DGN3500 */ + }; + + #endif +--- a/arch/mips/lantiq/xway/Kconfig ++++ b/arch/mips/lantiq/xway/Kconfig +@@ -10,6 +10,10 @@ + bool "ARV45XX" + default y + ++config LANTIQ_MACH_NETGEAR ++ bool "Netgear" ++ default y ++ + endmenu + + endif +--- a/arch/mips/lantiq/xway/Makefile ++++ b/arch/mips/lantiq/xway/Makefile +@@ -6,4 +6,5 @@ + obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o + obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o + obj-$(CONFIG_LANTIQ_MACH_ARV45XX) += mach-arv45xx.o ++obj-$(CONFIG_LANTIQ_MACH_NETGEAR) += mach-netgear.o + obj-y += dev-dwc_otg.o +--- a/arch/mips/lantiq/xway/devices.h ++++ b/arch/mips/lantiq/xway/devices.h +@@ -12,6 +12,7 @@ + #include "../devices.h" + #include + #include ++#include + + extern void ltq_register_gpio(void); + extern void ltq_register_gpio_stp(void); +@@ -20,5 +21,7 @@ + extern void ltq_register_gpio_ebu(unsigned int value); + extern void ltq_register_madwifi_eep(void); + extern void ltq_register_gpio_buttons(struct gpio_button *buttons, int cnt); ++extern void ltq_register_spi(struct ltq_spi_platform_data *pdata, ++ struct spi_board_info const *info, unsigned n); + + #endif +--- /dev/null ++++ b/arch/mips/lantiq/xway/mach-netgear.c +@@ -0,0 +1,57 @@ ++/* ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 as published ++ * by the Free Software Foundation. ++ * ++ * Copyright (C) 2010 John Crispin ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++ ++#include "../machtypes.h" ++#include "devices.h" ++ ++static struct ltq_pci_data ltq_pci_data = { ++ .clock = PCI_CLOCK_INT, ++ .gpio = PCI_GNT1 | PCI_REQ1, ++ .irq = { ++ [14] = INT_NUM_IM0_IRL0 + 22, ++ }, ++}; ++ ++static struct ltq_eth_data ltq_eth_data = { ++ .mii_mode = PHY_INTERFACE_MODE_MII, ++}; ++ ++struct spi_board_info spi_info = { ++ .bus_num = 0, ++ .chip_select = 3, ++ .max_speed_hz = 25000000, ++ .modalias = "mx25l12805d", ++}; ++ ++struct ltq_spi_platform_data ltq_spi_data = { ++ .num_chipselect = 4, ++}; ++ ++static void __init dgn3500_init(void) ++{ ++ ltq_register_pci(<q_pci_data); ++ ltq_register_etop(<q_eth_data); ++ ltq_register_spi(<q_spi_data, &spi_info, 1); ++} ++ ++MIPS_MACHINE(LANTIQ_MACH_DGN3500B, ++ "DGN3500B", ++ "Netgear DGN3500B", ++ dgn3500_init); -- 2.25.1