ar71xx: add support for the WNDR3700v2 board
Based on a patch by Mark Mentovai <mark@moxienet.com> SVN-Revision: 25118
This commit is contained in:
parent
25feec0c9c
commit
67c3e0bf7e
7 changed files with 158 additions and 10 deletions
|
@ -0,0 +1,69 @@
|
|||
config interface loopback
|
||||
option ifname lo
|
||||
option proto static
|
||||
option ipaddr 127.0.0.1
|
||||
option netmask 255.0.0.0
|
||||
|
||||
config interface lan
|
||||
option ifname eth0.1
|
||||
option type bridge
|
||||
option proto static
|
||||
option ipaddr 192.168.1.1
|
||||
option netmask 255.255.255.0
|
||||
|
||||
config interface wan
|
||||
option ifname eth1
|
||||
option proto dhcp
|
||||
|
||||
config switch
|
||||
option name rtl8366s
|
||||
option reset 1
|
||||
option enable_vlan 1
|
||||
# Blinkrate: 0=43ms; 1=84ms; 2=120ms; 3=170ms; 4=340ms; 5=670ms
|
||||
option blinkrate 2
|
||||
|
||||
config switch_vlan
|
||||
option device rtl8366s
|
||||
option vlan 1
|
||||
option ports "0 1 2 3 5t"
|
||||
|
||||
config switch_port
|
||||
# Port 1 controls the GREEN configuration of LEDs for
|
||||
# the switch and the section does not correspond to a real
|
||||
# switch port.
|
||||
#
|
||||
# 0=LED off; 1=Collision/FDX; 2=Link/activity; 3=1000 Mb/s;
|
||||
# 4=100 Mb/s; 5=10 Mb/s; 6=1000 Mb/s+activity; 7=100 Mb/s+activity;
|
||||
# 8=10 Mb/s+activity; 9=10/100 Mb/s+activity; 10: Fiber;
|
||||
# 11: Fault; 12: Link/activity(tx); 13: Link/activity(rx);
|
||||
# 14: Link (master); 15: separate register
|
||||
|
||||
option device rtl8366s
|
||||
option port 1
|
||||
option led 6
|
||||
|
||||
config switch_port
|
||||
# Port 2 controls the ORANGE configuration of LEDs for
|
||||
# the switch and the section does not correspond to a real
|
||||
# switch port.
|
||||
#
|
||||
# See the key above for switch port 1 for the meaning of the
|
||||
# 'led' setting below.
|
||||
|
||||
option device rtl8366s
|
||||
option port 2
|
||||
option led 9
|
||||
|
||||
config switch_port
|
||||
# Port 5 controls the configuration of the WAN LED and the
|
||||
# section does not correspond to a real switch port.
|
||||
#
|
||||
# To toggle the use of green or orange LEDs for the WAN port,
|
||||
# see the LED setting for wndr3700:green:wan in /etc/config/system.
|
||||
#
|
||||
# See the key above for switch port 1 for the meaning of the
|
||||
# 'led' setting below.
|
||||
|
||||
option device rtl8366s
|
||||
option port 5
|
||||
option led 2
|
|
@ -105,7 +105,7 @@ get_status_led() {
|
|||
unifi)
|
||||
status_led="ubnt:green:dome"
|
||||
;;
|
||||
wndr3700)
|
||||
wndr3700 | wndr3700v2)
|
||||
status_led="wndr3700:green:power"
|
||||
;;
|
||||
wnr2000)
|
||||
|
|
|
@ -23,6 +23,6 @@ commit system
|
|||
EOF
|
||||
}
|
||||
|
||||
if [ "${board}" == "wndr3700" ]; then
|
||||
if [ "${board}" == "wndr3700" -o "${board}" == "wndr3700v2" ]; then
|
||||
wndr3700_set_wan_led
|
||||
fi
|
||||
|
|
|
@ -130,6 +130,9 @@ ar71xx_board_name() {
|
|||
*WNDR3700)
|
||||
name="wndr3700"
|
||||
;;
|
||||
*WNDR3700v2)
|
||||
name="wndr3700v2"
|
||||
;;
|
||||
*WNR2000)
|
||||
name="wnr2000"
|
||||
;;
|
||||
|
|
|
@ -64,6 +64,7 @@ platform_do_upgrade_combined() {
|
|||
platform_check_image() {
|
||||
local board=$(ar71xx_board_name)
|
||||
local magic="$(get_magic_word "$1")"
|
||||
local magic_long="$(get_magic_long "$1")"
|
||||
|
||||
[ "$ARGC" -gt 1 ] && return 1
|
||||
|
||||
|
@ -83,7 +84,14 @@ platform_check_image() {
|
|||
return 0
|
||||
;;
|
||||
wndr3700)
|
||||
[ "$magic" != "3337" ] && {
|
||||
[ "$magic_long" != "33373030" ] && {
|
||||
echo "Invalid image type."
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
;;
|
||||
wndr3700v2)
|
||||
[ "$magic_long" != "33373031" ] && {
|
||||
echo "Invalid image type."
|
||||
return 1
|
||||
}
|
||||
|
|
|
@ -96,14 +96,64 @@ static struct mtd_partition wndr3700_partitions[] = {
|
|||
.mask_flags = MTD_WRITEABLE,
|
||||
}
|
||||
};
|
||||
|
||||
static struct mtd_partition wndr3700v2_partitions[] = {
|
||||
{
|
||||
.name = "uboot",
|
||||
.offset = 0,
|
||||
.size = 0x050000,
|
||||
.mask_flags = MTD_WRITEABLE,
|
||||
}, {
|
||||
.name = "env",
|
||||
.offset = 0x050000,
|
||||
.size = 0x020000,
|
||||
.mask_flags = MTD_WRITEABLE,
|
||||
}, {
|
||||
.name = "rootfs",
|
||||
.offset = 0x070000,
|
||||
.size = 0xe40000,
|
||||
}, {
|
||||
.name = "config",
|
||||
.offset = 0xeb0000,
|
||||
.size = 0x010000,
|
||||
.mask_flags = MTD_WRITEABLE,
|
||||
}, {
|
||||
.name = "config_bak",
|
||||
.offset = 0xec0000,
|
||||
.size = 0x010000,
|
||||
.mask_flags = MTD_WRITEABLE,
|
||||
}, {
|
||||
.name = "pot",
|
||||
.offset = 0xed0000,
|
||||
.size = 0x010000,
|
||||
.mask_flags = MTD_WRITEABLE,
|
||||
}, {
|
||||
.name = "traffic_meter",
|
||||
.offset = 0xee0000,
|
||||
.size = 0x010000,
|
||||
.mask_flags = MTD_WRITEABLE,
|
||||
}, {
|
||||
.name = "language",
|
||||
.offset = 0xef0000,
|
||||
.size = 0x100000,
|
||||
.mask_flags = MTD_WRITEABLE,
|
||||
}, {
|
||||
.name = "caldata",
|
||||
.offset = 0xff0000,
|
||||
.size = 0x010000,
|
||||
.mask_flags = MTD_WRITEABLE,
|
||||
}
|
||||
};
|
||||
#define wndr3700_num_partitions ARRAY_SIZE(wndr3700_partitions)
|
||||
#define wndr3700v2_num_partitions ARRAY_SIZE(wndr3700v2_partitions)
|
||||
#else
|
||||
#define wndr3700_partitions NULL
|
||||
#define wndr3700_num_partitions 0
|
||||
#define wndr3700v2_partitions NULL
|
||||
#define wndr3700v2_num_partitions 0
|
||||
#endif /* CONFIG_MTD_PARTITIONS */
|
||||
|
||||
static struct flash_platform_data wndr3700_flash_data = {
|
||||
#ifdef CONFIG_MTD_PARTITIONS
|
||||
.parts = wndr3700_partitions,
|
||||
.nr_parts = ARRAY_SIZE(wndr3700_partitions),
|
||||
#endif
|
||||
};
|
||||
static struct flash_platform_data wndr3700_flash_data;
|
||||
|
||||
static struct gpio_led wndr3700_leds_gpio[] __initdata = {
|
||||
{
|
||||
|
@ -167,7 +217,7 @@ static struct platform_device wndr3700_rtl8366s_device = {
|
|||
}
|
||||
};
|
||||
|
||||
static void __init wndr3700_setup(void)
|
||||
static void __init wndr3700_common_setup(void)
|
||||
{
|
||||
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
|
||||
|
||||
|
@ -218,5 +268,22 @@ static void __init wndr3700_setup(void)
|
|||
art + WNDR3700_WMAC1_MAC_OFFSET);
|
||||
}
|
||||
|
||||
static void __init wndr3700_setup(void)
|
||||
{
|
||||
wndr3700_flash_data.parts = wndr3700_partitions,
|
||||
wndr3700_flash_data.nr_parts = wndr3700_num_partitions,
|
||||
wndr3700_common_setup();
|
||||
}
|
||||
|
||||
MIPS_MACHINE(AR71XX_MACH_WNDR3700, "WNDR3700", "NETGEAR WNDR3700",
|
||||
wndr3700_setup);
|
||||
|
||||
static void __init wndr3700v2_setup(void)
|
||||
{
|
||||
wndr3700_flash_data.parts = wndr3700v2_partitions,
|
||||
wndr3700_flash_data.nr_parts = wndr3700v2_num_partitions,
|
||||
wndr3700_common_setup();
|
||||
}
|
||||
|
||||
MIPS_MACHINE(AR71XX_MACH_WNDR3700V2, "WNDR3700v2", "NETGEAR WNDR3700v2",
|
||||
wndr3700v2_setup);
|
||||
|
|
|
@ -54,6 +54,7 @@ enum ar71xx_mach_type {
|
|||
AR71XX_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
|
||||
AR71XX_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
|
||||
AR71XX_MACH_WNDR3700, /* NETGEAR WNDR3700 */
|
||||
AR71XX_MACH_WNDR3700V2, /* NETGEAR WNDR3700v2 */
|
||||
AR71XX_MACH_WNR2000, /* NETGEAR WNR2000 */
|
||||
AR71XX_MACH_WP543, /* Compex WP543 */
|
||||
AR71XX_MACH_WRT160NL, /* Linksys WRT160NL */
|
||||
|
|
Loading…
Reference in a new issue