mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-24 01:43:08 +02:00
backfire: ar71xx: add support for the WNDR3700v2 board (backport of r25118)
git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@26116 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
3ee7252632
commit
d0e868b3f0
@ -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
|
@ -84,7 +84,7 @@ get_status_led() {
|
|||||||
tl-wr941nd)
|
tl-wr941nd)
|
||||||
status_led="tl-wr941nd:green:system"
|
status_led="tl-wr941nd:green:system"
|
||||||
;;
|
;;
|
||||||
wndr3700)
|
wndr3700 | wndr3700v2)
|
||||||
status_led="wndr3700:green:power"
|
status_led="wndr3700:green:power"
|
||||||
;;
|
;;
|
||||||
wnr2000)
|
wnr2000)
|
||||||
|
@ -17,6 +17,6 @@ commit system
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "${board}" == "wndr3700" ]; then
|
if [ "${board}" == "wndr3700" -o "${board}" == "wndr3700v2" ]; then
|
||||||
wndr3700_set_wan_led
|
wndr3700_set_wan_led
|
||||||
fi
|
fi
|
||||||
|
@ -103,6 +103,9 @@ ar71xx_board_name() {
|
|||||||
*WNDR3700)
|
*WNDR3700)
|
||||||
name="wndr3700"
|
name="wndr3700"
|
||||||
;;
|
;;
|
||||||
|
*WNDR3700v2)
|
||||||
|
name="wndr3700v2"
|
||||||
|
;;
|
||||||
*WNR2000)
|
*WNR2000)
|
||||||
name="wnr2000"
|
name="wnr2000"
|
||||||
;;
|
;;
|
||||||
|
@ -64,6 +64,7 @@ platform_do_upgrade_combined() {
|
|||||||
platform_check_image() {
|
platform_check_image() {
|
||||||
local board=$(ar71xx_board_name)
|
local board=$(ar71xx_board_name)
|
||||||
local magic="$(get_magic_word "$1")"
|
local magic="$(get_magic_word "$1")"
|
||||||
|
local magic_long="$(get_magic_long "$1")"
|
||||||
|
|
||||||
[ "$ARGC" -gt 1 ] && return 1
|
[ "$ARGC" -gt 1 ] && return 1
|
||||||
|
|
||||||
@ -83,7 +84,14 @@ platform_check_image() {
|
|||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
wndr3700)
|
wndr3700)
|
||||||
[ "$magic" != "3337" ] && {
|
[ "$magic_long" != "33373030" ] && {
|
||||||
|
echo "Invalid image type."
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
wndr3700v2)
|
||||||
|
[ "$magic_long" != "33373031" ] && {
|
||||||
echo "Invalid image type."
|
echo "Invalid image type."
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
@ -93,14 +93,64 @@ static struct mtd_partition wndr3700_partitions[] = {
|
|||||||
.mask_flags = MTD_WRITEABLE,
|
.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 */
|
#endif /* CONFIG_MTD_PARTITIONS */
|
||||||
|
|
||||||
static struct flash_platform_data wndr3700_flash_data = {
|
static struct flash_platform_data wndr3700_flash_data;
|
||||||
#ifdef CONFIG_MTD_PARTITIONS
|
|
||||||
.parts = wndr3700_partitions,
|
|
||||||
.nr_parts = ARRAY_SIZE(wndr3700_partitions),
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct gpio_led wndr3700_leds_gpio[] __initdata = {
|
static struct gpio_led wndr3700_leds_gpio[] __initdata = {
|
||||||
{
|
{
|
||||||
@ -164,7 +214,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);
|
u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
|
||||||
|
|
||||||
@ -213,5 +263,22 @@ static void __init wndr3700_setup(void)
|
|||||||
art + WNDR3700_WMAC1_MAC_OFFSET);
|
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",
|
MIPS_MACHINE(AR71XX_MACH_WNDR3700, "WNDR3700", "NETGEAR WNDR3700",
|
||||||
wndr3700_setup);
|
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);
|
||||||
|
@ -49,6 +49,7 @@ enum ar71xx_mach_type {
|
|||||||
AR71XX_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
|
AR71XX_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
|
||||||
AR71XX_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
|
AR71XX_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
|
||||||
AR71XX_MACH_WNDR3700, /* NETGEAR WNDR3700 */
|
AR71XX_MACH_WNDR3700, /* NETGEAR WNDR3700 */
|
||||||
|
AR71XX_MACH_WNDR3700V2, /* NETGEAR WNDR3700v2 */
|
||||||
AR71XX_MACH_WNR2000, /* NETGEAR WNR2000 */
|
AR71XX_MACH_WNR2000, /* NETGEAR WNR2000 */
|
||||||
AR71XX_MACH_WP543, /* Compex WP543 */
|
AR71XX_MACH_WP543, /* Compex WP543 */
|
||||||
AR71XX_MACH_WRT160NL, /* Linksys WRT160NL */
|
AR71XX_MACH_WRT160NL, /* Linksys WRT160NL */
|
||||||
|
Loading…
Reference in New Issue
Block a user