From 2f53f822030045d04c0890a1afc46e011019acb8 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Wed, 4 Jan 2012 17:30:57 +0000 Subject: ar71xx: use the TL-MR3x20 code for the TL-WR841N/ND v7 These models are based on the AP99 reference board, and uses the AR7241 SoC. SVN-Revision: 29658 --- .../ar71xx/files/arch/mips/ar71xx/mach-tl-mr3x20.c | 44 ++++++++++++++++------ .../linux/ar71xx/files/arch/mips/ar71xx/machtype.h | 1 + 2 files changed, 33 insertions(+), 12 deletions(-) (limited to 'target/linux/ar71xx/files') diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-mr3x20.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-mr3x20.c index a6aa2af14c..5ee25d346c 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-mr3x20.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-mr3x20.c @@ -75,20 +75,13 @@ static struct gpio_keys_button tl_mr3x20_gpio_keys[] __initdata = { } }; -static void __init tl_mr3x20_setup(void) +static void __init tl_ap99_setup(void) { u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); - /* enable power for the USB port */ - gpio_request(TL_MR3X20_GPIO_USB_POWER, "USB power"); - gpio_direction_output(TL_MR3X20_GPIO_USB_POWER, 1); - ar71xx_add_device_m25p80(&tl_mr3x20_flash_data); - ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_mr3x20_leds_gpio), - tl_mr3x20_leds_gpio); - ar71xx_register_gpio_keys_polled(-1, TL_MR3X20_KEYS_POLL_INTERVAL, ARRAY_SIZE(tl_mr3x20_gpio_keys), tl_mr3x20_gpio_keys); @@ -103,15 +96,26 @@ static void __init tl_mr3x20_setup(void) /* WAN port */ ar71xx_add_device_eth(0); - ar71xx_add_device_usb(); - ap91_pci_init(ee, mac); } +static void __init tl_mr3x20_usb_setup(void) +{ + /* enable power for the USB port */ + gpio_request(TL_MR3X20_GPIO_USB_POWER, "USB power"); + gpio_direction_output(TL_MR3X20_GPIO_USB_POWER, 1); + + ar71xx_add_device_usb(); +} + static void __init tl_mr3220_setup(void) { - tl_mr3x20_setup(); + tl_ap99_setup(); + + ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_mr3x20_leds_gpio), + tl_mr3x20_leds_gpio); ap91_pci_setup_wmac_led_pin(1); + tl_mr3x20_usb_setup(); } MIPS_MACHINE(AR71XX_MACH_TL_MR3220, "TL-MR3220", "TP-LINK TL-MR3220", @@ -119,9 +123,25 @@ MIPS_MACHINE(AR71XX_MACH_TL_MR3220, "TL-MR3220", "TP-LINK TL-MR3220", static void __init tl_mr3420_setup(void) { - tl_mr3x20_setup(); + tl_ap99_setup(); + + ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_mr3x20_leds_gpio), + tl_mr3x20_leds_gpio); ap91_pci_setup_wmac_led_pin(0); + tl_mr3x20_usb_setup(); } MIPS_MACHINE(AR71XX_MACH_TL_MR3420, "TL-MR3420", "TP-LINK TL-MR3420", tl_mr3420_setup); + +static void __init tl_wr841n_v7_setup(void) +{ + tl_ap99_setup(); + + ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_mr3x20_leds_gpio) - 1, + tl_mr3x20_leds_gpio); + ap91_pci_setup_wmac_led_pin(0); +} + +MIPS_MACHINE(AR71XX_MACH_TL_WR841N_V7, "TL-WR841N-v7", + "TP-LINK TL-WR841N/ND v7", tl_wr841n_v7_setup); diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h b/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h index 9d363a6acc..a2aa0359f7 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h @@ -59,6 +59,7 @@ enum ar71xx_mach_type { AR71XX_MACH_TL_WR741ND, /* TP-LINK TL-WR741ND */ AR71XX_MACH_TL_WR741ND_V4, /* TP-LINK TL-WR741ND v4*/ AR71XX_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */ + AR71XX_MACH_TL_WR841N_V7, /* TP-LINK TL-WR841N/ND v7 */ AR71XX_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */ AR71XX_MACH_UBNT_AIRROUTER, /* Ubiquiti AirRouter */ AR71XX_MACH_UBNT_BULLET_M, /* Ubiquiti Bullet M */ -- cgit v1.2.3