summaryrefslogtreecommitdiffstats
path: root/target/linux/orion
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/orion')
-rw-r--r--target/linux/orion/Makefile2
-rw-r--r--target/linux/orion/base-files/etc/config/network8
-rw-r--r--target/linux/orion/config-3.342
-rw-r--r--target/linux/orion/dns323/config-3.31
-rw-r--r--target/linux/orion/generic/base-files/etc/uci-defaults/09_hardware (renamed from target/linux/orion/generic/base-files/etc/uci-defaults/hardware)0
-rw-r--r--target/linux/orion/image/generic.mk22
-rw-r--r--target/linux/orion/patches-3.3/210-wn802t_support.patch78
7 files changed, 109 insertions, 44 deletions
diff --git a/target/linux/orion/Makefile b/target/linux/orion/Makefile
index b81c4f5cc..2a24cdb95 100644
--- a/target/linux/orion/Makefile
+++ b/target/linux/orion/Makefile
@@ -19,6 +19,6 @@ include $(INCLUDE_DIR)/target.mk
KERNELNAME:="uImage"
-DEFAULT_PACKAGES += kmod-ath9k kmod-crypto-mv-cesa wpad-mini
+DEFAULT_PACKAGES += kmod-ath9k kmod-crypto-mv-cesa wpad-mini kmod-i2c-core kmod-i2c-mv64xxx kmod-rtc-isl1208
$(eval $(call BuildTarget))
diff --git a/target/linux/orion/base-files/etc/config/network b/target/linux/orion/base-files/etc/config/network
index e7fdecd0e..b527a8876 100644
--- a/target/linux/orion/base-files/etc/config/network
+++ b/target/linux/orion/base-files/etc/config/network
@@ -20,3 +20,11 @@ config interface lan
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0
+ option ip6assign 60
+
+config interface wan6
+ option ifname @wan
+ option proto dhcpv6
+
+config globals globals
+ option ula_prefix auto
diff --git a/target/linux/orion/config-3.3 b/target/linux/orion/config-3.3
index 46e6ecbab..1098c6a5b 100644
--- a/target/linux/orion/config-3.3
+++ b/target/linux/orion/config-3.3
@@ -14,11 +14,9 @@ CONFIG_ARM_NR_BANKS=8
CONFIG_ARM_PATCH_PHYS_VIRT=y
# CONFIG_ARM_THUMB is not set
# CONFIG_ARPD is not set
-CONFIG_ATA=m
-CONFIG_BCMA_POSSIBLE=y
# CONFIG_CACHE_L2X0 is not set
CONFIG_CLKSRC_MMIO=y
-CONFIG_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
+CONFIG_CMDLINE="rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"
CONFIG_CMDLINE_FORCE=y
CONFIG_CPU_32v5=y
CONFIG_CPU_ABRT_EV5T=y
@@ -37,17 +35,14 @@ CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_DEV_MV_CESA=y
+CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_DEBUG_USER is not set
CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DLCI=m
-CONFIG_DLCI_MAX=8
CONFIG_DNOTIFY=y
-# CONFIG_DSCC4 is not set
-# CONFIG_FARSYNC is not set
CONFIG_FRAME_POINTER=y
CONFIG_GENERIC_ATOMIC64=y
CONFIG_GENERIC_BUG=y
@@ -89,25 +84,12 @@ CONFIG_HAVE_PROC_CPU=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_SCHED_CLOCK=y
CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_HDLC=m
-CONFIG_HDLC_CISCO=m
-CONFIG_HDLC_FR=m
-CONFIG_HDLC_PPP=m
-CONFIG_HDLC_RAW=m
CONFIG_HWMON=y
-CONFIG_HW_RANDOM=y
-CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MV64XXX=y
CONFIG_INET_LRO=y
CONFIG_INITRAMFS_SOURCE=""
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
CONFIG_KTIME_SCALAR=y
CONFIG_LEDS_GPIO=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_MACH_BIGDISK is not set
# CONFIG_MACH_D2NET is not set
# CONFIG_MACH_DB88F5281 is not set
@@ -130,6 +112,7 @@ CONFIG_MACH_DT2=y
# CONFIG_MACH_TS209 is not set
# CONFIG_MACH_TS409 is not set
# CONFIG_MACH_TS78XX is not set
+CONFIG_MACH_WN802T=y
CONFIG_MACH_WNR854T=y
CONFIG_MACH_WRT350N_V2=y
CONFIG_MDIO_BOARDINFO=y
@@ -145,38 +128,25 @@ CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_TAG_DSA=y
# CONFIG_NET_DSA_TAG_TRAILER is not set
# CONFIG_NET_VENDOR_3COM is not set
-CONFIG_NLS=m
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PATA_ARTOP=m
CONFIG_PCI=y
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PHYLIB=y
CONFIG_PLAT_ORION=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_ISL1208=y
-CONFIG_SATA_PMP=y
-CONFIG_SCSI=m
-CONFIG_SCSI_MOD=m
-# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_DMA is not set
CONFIG_SPLIT_PTLOCK_CPUS=999999
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_UID16=y
-CONFIG_USB=m
CONFIG_USB_ARCH_HAS_XHCI=y
-CONFIG_USB_COMMON=m
-CONFIG_USB_EHCI_HCD=m
-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
-CONFIG_USB_OHCI_HCD=m
CONFIG_USB_SUPPORT=y
-CONFIG_USB_UHCI_HCD=m
CONFIG_VECTORS_BASE=0xffff0000
# CONFIG_VFP is not set
CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_WAN=y
-CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_BCJ=y
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZONE_DMA_FLAG=0
diff --git a/target/linux/orion/dns323/config-3.3 b/target/linux/orion/dns323/config-3.3
index b0daf7f22..cc5b4a679 100644
--- a/target/linux/orion/dns323/config-3.3
+++ b/target/linux/orion/dns323/config-3.3
@@ -19,7 +19,6 @@ CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_EXT4_FS=y
CONFIG_FS_MBCACHE=y
-CONFIG_GPIO_DEVICE=y
CONFIG_INPUT=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_KEYBOARD=y
diff --git a/target/linux/orion/generic/base-files/etc/uci-defaults/hardware b/target/linux/orion/generic/base-files/etc/uci-defaults/09_hardware
index 7f727eb59..7f727eb59 100644
--- a/target/linux/orion/generic/base-files/etc/uci-defaults/hardware
+++ b/target/linux/orion/generic/base-files/etc/uci-defaults/09_hardware
diff --git a/target/linux/orion/image/generic.mk b/target/linux/orion/image/generic.mk
index 0594ebffa..f4319e0b6 100644
--- a/target/linux/orion/image/generic.mk
+++ b/target/linux/orion/image/generic.mk
@@ -17,11 +17,10 @@
KERNEL_MTD_SIZE:=1024
# Netgear WNR854T: erase size is 128KiB = 0x00020000 = 131072
-ERASE_SIZE_WNR854T:=128
-UIMAGE_FILE_NAME_WNR854T:=uImage
+ERASE_SIZE_128K:=128
# Linksys WRT350N v2: erase size is 64KiB = 0x00010000 = 65536
-ERASE_SIZE_WRT350Nv2:=64
+ERASE_SIZE_64K:=64
# define JFFS2 sizes for include/image.mk
JFFS2_BLOCKSIZE:=64k 128k
@@ -44,11 +43,19 @@ endef
define Image/BuildKernel
### Dummy comment for indented calls of Image/BuildKernel
+ ## Netgear WN802T: mach id 3306 (0x0cea)
+$(call Image/BuildKernel/ARM/zImage,wn802t,"\x0c\x1c\xa0\xe3\xea\x10\x81\xe3")
+$(call Image/BuildKernel/ARM/uImage,wn802t)
+ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) # nothing more to do for a ramdisk build
+$(call Image/BuildKernel/JFFS2uImage,wn802t,$(ERASE_SIZE_64K),uImage)
+$(call Image/Default/FileSizeCheck,$(KDIR)/wn802t-uImage.jffs2,$(shell expr $(KERNEL_MTD_SIZE) \* 1024))
+ endif
+
## Netgear WNR854T: mach id 1801 (0x0709)
$(call Image/BuildKernel/ARM/zImage,wnr854t,"\x07\x1c\xa0\xe3\x09\x10\x81\xe3")
$(call Image/BuildKernel/ARM/uImage,wnr854t)
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) # nothing more to do for a ramdisk build
-$(call Image/BuildKernel/JFFS2uImage,wnr854t,$(ERASE_SIZE_WNR854T),$(UIMAGE_FILE_NAME_WNR854T))
+$(call Image/BuildKernel/JFFS2uImage,wnr854t,$(ERASE_SIZE_128K),uImage)
$(call Image/Default/FileSizeCheck,$(KDIR)/wnr854t-uImage.jffs2,$(shell expr $(KERNEL_MTD_SIZE) \* 1024))
endif
@@ -106,11 +113,14 @@ define Image/Build
## Prepare rootfs
$(call Image/Build/$(1),$(1))
+ ## Netgear WN802T
+$(call Image/Build/Default,$(1),wn802t,$(ERASE_SIZE_64K),$(KERNEL_MTD_SIZE),.jffs2,NG_WN802T)
+
## Netgear WNR854T
-$(call Image/Build/Default,$(1),wnr854t,$(ERASE_SIZE_WNR854T),$(KERNEL_MTD_SIZE),.jffs2,NG_WNR854T)
+$(call Image/Build/Default,$(1),wnr854t,$(ERASE_SIZE_128K),$(KERNEL_MTD_SIZE),.jffs2,NG_WNR854T)
## Linksys WRT350N v2
-$(call Image/Build/Linksys/wrt350nv2,$(1),wrt350nv2,$(ERASE_SIZE_WRT350Nv2),$(KERNEL_MTD_SIZE),)
+$(call Image/Build/Linksys/wrt350nv2,$(1),wrt350nv2,$(ERASE_SIZE_64K),$(KERNEL_MTD_SIZE),)
endef
define Image/Build/squashfs
diff --git a/target/linux/orion/patches-3.3/210-wn802t_support.patch b/target/linux/orion/patches-3.3/210-wn802t_support.patch
new file mode 100644
index 000000000..7fd908bc5
--- /dev/null
+++ b/target/linux/orion/patches-3.3/210-wn802t_support.patch
@@ -0,0 +1,78 @@
+--- a/arch/arm/mach-orion5x/Kconfig
++++ b/arch/arm/mach-orion5x/Kconfig
+@@ -139,10 +139,13 @@ config MACH_MSS2
+ Maxtor Shared Storage II platform.
+
+ config MACH_WNR854T
+- bool "Netgear WNR854T"
++ bool "Netgear WNR854T / WN802T"
+ help
+ Say 'Y' here if you want your kernel to support the
+- Netgear WNR854T platform.
++ Netgear WNR854T or WN802T platform.
++
++config MACH_WN802T
++ def_bool MACH_WNR854T
+
+ config MACH_RD88F5181L_GE
+ bool "Marvell Orion-VoIP GE Reference Design"
+--- a/arch/arm/mach-orion5x/wnr854t-setup.c
++++ b/arch/arm/mach-orion5x/wnr854t-setup.c
+@@ -115,6 +115,15 @@ static struct dsa_platform_data wnr854t_
+ .chip = &wnr854t_switch_chip_data,
+ };
+
++static struct dsa_chip_data wn802t_switch_chip_data = {
++ .port_names[2] = "wan",
++ .port_names[3] = "cpu",
++};
++
++static struct dsa_platform_data wn802t_switch_plat_data = {
++ .nr_chips = 1,
++ .chip = &wn802t_switch_chip_data,
++};
+ static void __init wnr854t_init(void)
+ {
+ /*
+@@ -128,7 +137,12 @@ static void __init wnr854t_init(void)
+ * Configure peripherals.
+ */
+ orion5x_eth_init(&wnr854t_eth_data);
+- orion5x_eth_switch_init(&wnr854t_switch_plat_data, NO_IRQ);
++
++ if (machine_is_wn802t())
++ orion5x_eth_switch_init(&wn802t_switch_plat_data, NO_IRQ);
++ else
++ orion5x_eth_switch_init(&wnr854t_switch_plat_data, NO_IRQ);
++
+ orion5x_uart0_init();
+
+ orion5x_setup_dev_boot_win(WNR854T_NOR_BOOT_BASE,
+@@ -167,7 +181,7 @@ static struct hw_pci wnr854t_pci __initd
+
+ static int __init wnr854t_pci_init(void)
+ {
+- if (machine_is_wnr854t())
++ if (machine_is_wnr854t() || machine_is_wn802t())
+ pci_common_init(&wnr854t_pci);
+
+ return 0;
+@@ -178,6 +192,18 @@ MACHINE_START(WNR854T, "Netgear WNR854T"
+ /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */
+ .atag_offset = 0x100,
+ .init_machine = wnr854t_init,
++ .map_io = orion5x_map_io,
++ .init_early = orion5x_init_early,
++ .init_irq = orion5x_init_irq,
++ .timer = &orion5x_timer,
++ .fixup = tag_fixup_mem32,
++ .restart = orion5x_restart,
++MACHINE_END
++
++MACHINE_START(WN802T, "Netgear WN802T")
++ /* Maintainer: Imre Kaloz <kaloz@openwrt.org> */
++ .atag_offset = 0x100,
++ .init_machine = wnr854t_init,
+ .map_io = orion5x_map_io,
+ .init_early = orion5x_init_early,
+ .init_irq = orion5x_init_irq,