upgrade orion to 2.6.28-rc7

SVN-Revision: 13580
This commit is contained in:
Imre Kaloz 2008-12-10 11:54:21 +00:00
parent d9475220de
commit 378d80d615
10 changed files with 82 additions and 19983 deletions

View file

@ -1,25 +0,0 @@
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -71,6 +71,12 @@ config ADM6996_PHY
---help---
Currently supports the ADM6996F switch
+config MVSWITCH_PHY
+ tristate "Driver for Marvell switches"
+ select VLAN_8021Q
+ ---help---
+ Currently supports the Marvell 88E6060 switch.
+
config FIXED_PHY
bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
depends on PHYLIB=y
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o
obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
obj-$(CONFIG_ICPLUS_PHY) += icplus.o
obj-$(CONFIG_ADM6996_PHY) += adm6996.o
+obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
obj-$(CONFIG_REALTEK_PHY) += realtek.o
obj-$(CONFIG_FIXED_PHY) += fixed.o
obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o

View file

@ -11,13 +11,13 @@ BOARD:=orion
BOARDNAME:=Marvell Orion
FEATURES:=squashfs
LINUX_VERSION:=2.6.26.8
LINUX_VERSION:=2.6.28-rc7
include $(INCLUDE_DIR)/target.mk
KERNELNAME:="uImage"
DEFAULT_PACKAGES += kmod-madwifi
DEFAULT_PACKAGES += kmod-ath9k-new hostapd-mini
define Kernel/Configure
$(call Kernel/Configure/Default)

View file

@ -0,0 +1,22 @@
# Copyright (C) 2008 OpenWrt.org
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface eth0
option ifname eth0
config interface wan
option ifname wan
option proto dhcp
option hostname openwrt
config interface lan
option ifname "lan1 lan2 lan3 lan4"
option type bridge
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0

View file

@ -27,6 +27,7 @@ CONFIG_ALIGNMENT_TRAP=y
# CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_LOKI is not set
# CONFIG_ARCH_MSM is not set
# CONFIG_ARCH_MSM7X00A is not set
# CONFIG_ARCH_MXC is not set
# CONFIG_ARCH_MV78XX0 is not set
@ -62,6 +63,7 @@ CONFIG_BITREVERSE=y
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BONDING is not set
CONFIG_BOUNCE=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_BT is not set
# CONFIG_CIFS_STATS is not set
@ -97,6 +99,7 @@ CONFIG_DNOTIFY=y
# CONFIG_E100 is not set
# CONFIG_E1000E_ENABLED is not set
# CONFIG_FARSYNC is not set
# CONFIG_FIXED_PHY is not set
# CONFIG_FPE_FASTFPE is not set
# CONFIG_FPE_NWFPE is not set
CONFIG_FRAME_POINTER=y
@ -173,17 +176,24 @@ CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=m
# CONFIG_MACH_DB88F5281 is not set
# CONFIG_MACH_DNS323 is not set
# CONFIG_MACH_EDMINI_V2 is not set
# CONFIG_MACH_KUROBOX_PRO is not set
# CONFIG_MACH_LINKSTATION_MINI is not set
# CONFIG_MACH_LINKSTATION_PRO is not set
# CONFIG_MACH_MV2120 is not set
# CONFIG_MACH_MSS2 is not set
# CONFIG_MACH_RD88F5181L_FXO is not set
# CONFIG_MACH_RD88F5181L_GE is not set
# CONFIG_MACH_RD88F5182 is not set
# CONFIG_MACH_RD88F6183AP_GE is not set
# CONFIG_MACH_TERASTATION_PRO2 is not set
# CONFIG_MACH_TS209 is not set
# CONFIG_MACH_TS409 is not set
# CONFIG_MACH_TS78XX is not set
CONFIG_MACH_WNR854T=y
CONFIG_MACH_WRT350N_V2=y
# CONFIG_MAC_PARTITION is not set
# CONFIG_MDIO_BITBANG is not set
CONFIG_MEDIA_TUNER=m
# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
CONFIG_MEDIA_TUNER_MT20XX=m
@ -194,6 +204,8 @@ CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
# CONFIG_MFD_T7L66XB is not set
# CONFIG_MFD_TC6387XB is not set
# CONFIG_MINIX_FS is not set
# CONFIG_MMC_TEST is not set
CONFIG_MTD=y
@ -249,11 +261,14 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y
CONFIG_MV643XX_ETH=y
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_NET_DSA_MV88E6060 is not set
# CONFIG_NET_DSA_MV88E6123_61_65 is not set
CONFIG_NET_DSA_MV88E6131=y
CONFIG_NET_DSA=y
# CONFIG_NET_EMATCH is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_ISO8859_1 is not set
@ -262,6 +277,7 @@ CONFIG_MV643XX_ETH=y
# CONFIG_NO_IOPORT is not set
# CONFIG_NVRAM is not set
# CONFIG_OABI_COMPAT is not set
# CONFIG_ORION5X_WATCHDOG is not set
# CONFIG_OUTER_CACHE is not set
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_PATA_ARTOP=m
@ -274,7 +290,9 @@ CONFIG_PCI_SYSCALL=y
CONFIG_PLAT_ORION=y
# CONFIG_PPP is not set
# CONFIG_PRISM54 is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_R6040 is not set
# CONFIG_REALTEK_PHY is not set
CONFIG_RTC_CLASS=y
# CONFIG_RTC_DEBUG is not set
# CONFIG_RTC_DRV_DS1307 is not set
@ -309,6 +327,7 @@ CONFIG_SCSI_WAIT_SCAN=m
# CONFIG_SHMEM is not set
CONFIG_SLABINFO=y
# CONFIG_SMC91X is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SOC_CAMERA is not set
# CONFIG_SOFT_WATCHDOG is not set

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -719,7 +719,7 @@ __tagtable(ATAG_REVISION, parse_tag_revi
@@ -607,7 +607,7 @@ __tagtable(ATAG_REVISION, parse_tag_revi
static int __init parse_tag_cmdline(const struct tag *tag)
{

View file

@ -0,0 +1,34 @@
--- a/arch/arm/mach-orion5x/wnr854t-setup.c
+++ b/arch/arm/mach-orion5x/wnr854t-setup.c
@@ -15,6 +15,7 @@
#include <linux/mtd/physmap.h>
#include <linux/mv643xx_eth.h>
#include <linux/ethtool.h>
+#include <net/dsa.h>
#include <asm/mach-types.h>
#include <asm/gpio.h>
#include <asm/mach/arch.h>
@@ -97,6 +98,15 @@ static struct mv643xx_eth_platform_data
.duplex = DUPLEX_FULL,
};
+static struct dsa_platform_data wnr854t_switch_data = {
+ .port_names[0] = "lan3",
+ .port_names[1] = "lan4",
+ .port_names[2] = "wan",
+ .port_names[3] = "cpu",
+ .port_names[5] = "lan1",
+ .port_names[7] = "lan2",
+};
+
static void __init wnr854t_init(void)
{
/*
@@ -110,6 +120,7 @@ static void __init wnr854t_init(void)
* Configure peripherals.
*/
orion5x_eth_init(&wnr854t_eth_data);
+ orion5x_eth_switch_init(&wnr854t_switch_data, NO_IRQ);
orion5x_uart0_init();
orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE,

View file

@ -1,6 +1,6 @@
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -323,8 +323,9 @@ struct mtd_info *cfi_cmdset_0002(struct
@@ -364,8 +364,9 @@ struct mtd_info *cfi_cmdset_0002(struct
return NULL;
}

View file

@ -1,199 +0,0 @@
--- a/arch/arm/mach-orion5x/Kconfig
+++ b/arch/arm/mach-orion5x/Kconfig
@@ -74,6 +74,12 @@ config MACH_MSS2
Say 'Y' here if you want your kernel to support the
Maxtor Shared Storage II platform.
+config MACH_WNR854T
+ bool "Netgear WNR854T"
+ help
+ Say 'Y' here if you want your kernel to support the
+ Netgear WNR854T platform.
+
endmenu
endif
--- a/arch/arm/mach-orion5x/Makefile
+++ b/arch/arm/mach-orion5x/Makefile
@@ -10,3 +10,4 @@ obj-$(CONFIG_MACH_WRT350N_V2) += wrt350n
obj-$(CONFIG_MACH_TS78XX) += ts78xx-setup.o
obj-$(CONFIG_MACH_MV2120) += mv2120-setup.o
obj-$(CONFIG_MACH_MSS2) += mss2-setup.o
+obj-$(CONFIG_MACH_WNR854T) += wnr854t-setup.o
--- /dev/null
+++ b/arch/arm/mach-orion5x/wnr854t-setup.c
@@ -0,0 +1,164 @@
+/*
+ * arch/arm/mach-orion5x/wnr854t-setup.c
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2. This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/pci.h>
+#include <linux/irq.h>
+#include <linux/delay.h>
+#include <linux/mtd/physmap.h>
+#include <linux/mv643xx_eth.h>
+#include <asm/mach-types.h>
+#include <asm/gpio.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/pci.h>
+#include <asm/arch/orion5x.h>
+#include "common.h"
+#include "mpp.h"
+
+static struct orion5x_mpp_mode wnr854t_mpp_modes[] __initdata = {
+ { 0, MPP_GPIO }, /* Power LED green (0=on) */
+ { 1, MPP_GPIO }, /* Reset Button (0=off) */
+ { 2, MPP_GPIO }, /* Power LED blink (0=off) */
+ { 3, MPP_GPIO }, /* WAN Status LED amber (0=off) */
+ { 4, MPP_GPIO }, /* PCI int */
+ { 5, MPP_GPIO }, /* ??? */
+ { 6, MPP_GPIO }, /* ??? */
+ { 7, MPP_GPIO }, /* ??? */
+ { 8, MPP_UNUSED }, /* ??? */
+ { 9, MPP_GIGE }, /* GE_RXERR */
+ { 10, MPP_UNUSED }, /* ??? */
+ { 11, MPP_UNUSED }, /* ??? */
+ { 12, MPP_GIGE }, /* GE_TXD[4] */
+ { 13, MPP_GIGE }, /* GE_TXD[5] */
+ { 14, MPP_GIGE }, /* GE_TXD[6] */
+ { 15, MPP_GIGE }, /* GE_TXD[7] */
+ { 16, MPP_GIGE }, /* GE_RXD[4] */
+ { 17, MPP_GIGE }, /* GE_RXD[5] */
+ { 18, MPP_GIGE }, /* GE_RXD[6] */
+ { 19, MPP_GIGE }, /* GE_RXD[7] */
+ { -1 },
+};
+
+/*
+ * 8M NOR flash Device bus boot chip select
+ */
+#define WNR854T_NOR_BOOT_BASE 0xf4000000
+#define WNR854T_NOR_BOOT_SIZE SZ_8M
+
+static struct mtd_partition wnr854t_nor_flash_partitions[] = {
+ {
+ .name = "kernel",
+ .offset = 0x00000000,
+ .size = 0x00100000,
+ }, {
+ .name = "rootfs",
+ .offset = 0x00100000,
+ .size = 0x00660000,
+ }, {
+ .name = "uboot",
+ .offset = 0x00760000,
+ .size = 0x00040000,
+ },
+};
+
+static struct physmap_flash_data wnr854t_nor_flash_data = {
+ .width = 2,
+ .parts = wnr854t_nor_flash_partitions,
+ .nr_parts = ARRAY_SIZE(wnr854t_nor_flash_partitions),
+};
+
+static struct resource wnr854t_nor_flash_resource = {
+ .flags = IORESOURCE_MEM,
+ .start = WNR854T_NOR_BOOT_BASE,
+ .end = WNR854T_NOR_BOOT_BASE + WNR854T_NOR_BOOT_SIZE - 1,
+};
+
+static struct platform_device wnr854t_nor_flash = {
+ .name = "physmap-flash",
+ .id = 0,
+ .dev = {
+ .platform_data = &wnr854t_nor_flash_data,
+ },
+ .num_resources = 1,
+ .resource = &wnr854t_nor_flash_resource,
+};
+
+static struct mv643xx_eth_platform_data wnr854t_eth_data = {
+ .phy_addr = -1,
+};
+
+static void __init wnr854t_init(void)
+{
+ /*
+ * Setup basic Orion functions. Need to be called early.
+ */
+ orion5x_init();
+
+ orion5x_mpp_conf(wnr854t_mpp_modes);
+
+ /*
+ * Configure peripherals.
+ */
+ orion5x_eth_init(&wnr854t_eth_data);
+ orion5x_uart0_init();
+
+ orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE,
+ WNR854T_NOR_BOOT_SIZE);
+ platform_device_register(&wnr854t_nor_flash);
+}
+
+static int __init wnr854t_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
+{
+ int irq;
+
+ /*
+ * Check for devices with hard-wired IRQs.
+ */
+ irq = orion5x_pci_map_irq(dev, slot, pin);
+ if (irq != -1)
+ return irq;
+
+ /*
+ * Mini-PCI slot.
+ */
+ if (slot == 7)
+ return gpio_to_irq(4);
+
+ return -1;
+}
+
+static struct hw_pci wnr854t_pci __initdata = {
+ .nr_controllers = 2,
+ .swizzle = pci_std_swizzle,
+ .setup = orion5x_pci_sys_setup,
+ .scan = orion5x_pci_sys_scan_bus,
+ .map_irq = wnr854t_pci_map_irq,
+};
+
+static int __init wnr854t_pci_init(void)
+{
+ if (machine_is_wnr854t())
+ pci_common_init(&wnr854t_pci);
+
+ return 0;
+}
+subsys_initcall(wnr854t_pci_init);
+
+MACHINE_START(WNR854T, "Netgear WNR854T")
+ /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */
+ .phys_io = ORION5X_REGS_PHYS_BASE,
+ .io_pg_offst = ((ORION5X_REGS_VIRT_BASE) >> 18) & 0xFFFC,
+ .boot_params = 0x00000100,
+ .init_machine = wnr854t_init,
+ .map_io = orion5x_map_io,
+ .init_irq = orion5x_init_irq,
+ .timer = &orion5x_timer,
+ .fixup = tag_fixup_mem32,
+MACHINE_END
--- a/arch/arm/configs/orion5x_defconfig
+++ b/arch/arm/configs/orion5x_defconfig
@@ -166,6 +166,7 @@ CONFIG_MACH_KUROBOX_PRO=y
CONFIG_MACH_DNS323=y
CONFIG_MACH_TS209=y
CONFIG_MACH_LINKSTATION_PRO=y
+CONFIG_MACH_WNR854T=y
#
# Boot options

View file

@ -1,6 +1,6 @@
--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
@@ -56,19 +56,11 @@ static struct mtd_partition wrt350n_v2_n
@@ -58,19 +58,11 @@ static struct mtd_partition wrt350n_v2_n
{
.name = "kernel",
.offset = 0x00000000,
@ -19,7 +19,7 @@
- .offset = 0x007a0000,
- .size = 0x00020000,
+ .offset = 0x00100000,
+ .size = 0x006c0000,
+ .size = 0x006b0000,
}, {
.name = "u-boot",
.offset = 0x007c0000,