Ticket #9587: tl-wr-743.patch

File tl-wr-743.patch, 9.8 KB (added by Nenad Opsenica <nenad@…>, 7 years ago)

Support for TPlink TL-WR-743

  • target/linux/ar71xx/base-files/etc/diag.sh

    diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
    index 23747d5..c4d35fc 100755
    a b get_status_led() { 
    7272        tew-632brp) 
    7373                status_led="tew-632brp:green:status" 
    7474                ;; 
     75        tl-wr743nd) 
     76                status_led="tl-wr743nd:green:system" 
     77                ;; 
    7578        tl-wr1043nd) 
    7679                status_led="tl-wr1043nd:green:system" 
    7780                ;; 
  • target/linux/ar71xx/base-files/lib/ar71xx.sh

    diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
    index 0ee701c..1ec4325 100755
    a b ar71xx_board_name() { 
    8282        *TEW-632BRP) 
    8383                name="tew-632brp" 
    8484                ;; 
     85        *TL-WR743ND) 
     86                name="tl-wr743nd" 
     87                ;; 
    8588        *TL-WR1043ND) 
    8689                name="tl-wr1043nd" 
    8790                ;; 
  • target/linux/ar71xx/base-files/lib/upgrade/platform.sh

    diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
    index 67f4048..be23404 100755
    a b platform_check_image() { 
    7676                } 
    7777                return 0 
    7878                ;; 
    79         tl-wr741nd | tl-wr841n-v1 | tl-wr941nd | tl-wr1043nd) 
     79        tl-wr741nd | tl-wr841n-v1 | tl-wr941nd | tl-wr743nd | tl-wr1043nd) 
    8080                [ "$magic" != "0100" ] && { 
    8181                        echo "Invalid image type." 
    8282                        return 1 
  • target/linux/ar71xx/config-2.6.32

    diff --git a/target/linux/ar71xx/config-2.6.32 b/target/linux/ar71xx/config-2.6.32
    index ee04acb..e67bf66 100644
    a b CONFIG_AR71XX_MACH_PB92=y 
    3030CONFIG_AR71XX_MACH_RB4XX=y 
    3131CONFIG_AR71XX_MACH_RB750=y 
    3232CONFIG_AR71XX_MACH_TEW_632BRP=y 
     33CONFIG_AR71XX_MACH_TL_WR743ND=y 
    3334CONFIG_AR71XX_MACH_TL_WR1043ND=y 
    3435CONFIG_AR71XX_MACH_TL_WR741ND=y 
    3536CONFIG_AR71XX_MACH_TL_WR841N_V1=y 
  • target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig

    diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig b/target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig
    index 0b290f8..c16af41 100644
    a b config AR71XX_MACH_TL_WR941ND 
    184184        select AR71XX_DEV_LEDS_GPIO 
    185185        default n 
    186186 
     187config AR71XX_MACH_TL_WR743ND 
     188        bool "TP-LINK TL-WR743ND support" 
     189        select AR71XX_DEV_M25P80 
     190        select AR71XX_DEV_AP91_PCI if PCI 
     191        select AR71XX_DEV_GPIO_BUTTONS 
     192        select AR71XX_DEV_LEDS_GPIO 
     193        default n 
     194 
    187195config AR71XX_MACH_TL_WR1043ND 
    188196        bool "TP-LINK TL-WR1043ND support" 
    189197        select AR71XX_DEV_M25P80 
  • target/linux/ar71xx/files/arch/mips/ar71xx/Makefile

    diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile b/target/linux/ar71xx/files/arch/mips/ar71xx/Makefile
    index 690dd97..71bdb09 100644
    a b obj-$(CONFIG_AR71XX_MACH_TEW_632BRP) += mach-tew-632brp.o 
    4343obj-$(CONFIG_AR71XX_MACH_TL_WR741ND)    += mach-tl-wr741nd.o 
    4444obj-$(CONFIG_AR71XX_MACH_TL_WR841N_V1)  += mach-tl-wr841n.o 
    4545obj-$(CONFIG_AR71XX_MACH_TL_WR941ND)    += mach-tl-wr941nd.o 
     46obj-$(CONFIG_AR71XX_MACH_TL_WR743ND)    += mach-tl-wr743nd.o 
    4647obj-$(CONFIG_AR71XX_MACH_TL_WR1043ND)   += mach-tl-wr1043nd.o 
    4748obj-$(CONFIG_AR71XX_MACH_UBNT)          += mach-ubnt.o 
    4849obj-$(CONFIG_AR71XX_MACH_WNDR3700)      += mach-wndr3700.o 
  • new file target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr743nd.c

    diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr743nd.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr743nd.c
    new file mode 100644
    index 0000000..d15d606
    - +  
     1/* 
     2 *  TP-LINK TL-WR743ND board support 
     3 * 
     4 *  Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org> 
     5 * 
     6 *  This program is free software; you can redistribute it and/or modify it 
     7 *  under the terms of the GNU General Public License version 2 as published 
     8 *  by the Free Software Foundation. 
     9 */ 
     10 
     11#include <linux/mtd/mtd.h> 
     12#include <linux/mtd/partitions.h> 
     13 
     14#include <asm/mach-ar71xx/ar71xx.h> 
     15 
     16#include "machtype.h" 
     17#include "devices.h" 
     18#include "dev-m25p80.h" 
     19#include "dev-ap91-pci.h" 
     20#include "dev-gpio-buttons.h" 
     21#include "dev-leds-gpio.h" 
     22 
     23#define TL_WR743ND_GPIO_LED_QSS         0 
     24#define TL_WR743ND_GPIO_LED_SYSTEM      1 
     25 
     26#define TL_WR743ND_GPIO_BTN_RESET       11 
     27#define TL_WR743ND_GPIO_BTN_QSS         12 
     28 
     29#define TL_WR743ND_BUTTONS_POLL_INTERVAL        20 
     30 
     31#ifdef CONFIG_MTD_PARTITIONS 
     32static struct mtd_partition tl_wr743nd_partitions[] = { 
     33        { 
     34                .name           = "u-boot", 
     35                .offset         = 0, 
     36                .size           = 0x020000, 
     37                .mask_flags     = MTD_WRITEABLE, 
     38        } , { 
     39                .name           = "kernel", 
     40                .offset         = 0x020000, 
     41                .size           = 0x140000, 
     42        } , { 
     43                .name           = "rootfs", 
     44                .offset         = 0x160000, 
     45                .size           = 0x290000, 
     46        } , { 
     47                .name           = "art", 
     48                .offset         = 0x3f0000, 
     49                .size           = 0x010000, 
     50                .mask_flags     = MTD_WRITEABLE, 
     51        } , { 
     52                .name           = "firmware", 
     53                .offset         = 0x020000, 
     54                .size           = 0x3d0000, 
     55        } 
     56}; 
     57#endif /* CONFIG_MTD_PARTITIONS */ 
     58 
     59static struct flash_platform_data tl_wr743nd_flash_data = { 
     60#ifdef CONFIG_MTD_PARTITIONS 
     61        .parts          = tl_wr743nd_partitions, 
     62        .nr_parts       = ARRAY_SIZE(tl_wr743nd_partitions), 
     63#endif 
     64}; 
     65 
     66static struct gpio_led tl_wr743nd_leds_gpio[] __initdata = { 
     67        { 
     68                .name           = "tl-wr743nd:green:system", 
     69                .gpio           = TL_WR743ND_GPIO_LED_SYSTEM, 
     70                .active_low     = 1, 
     71        }, { 
     72                .name           = "tl-wr743nd:green:qss", 
     73                .gpio           = TL_WR743ND_GPIO_LED_QSS, 
     74                .active_low     = 1, 
     75        } 
     76}; 
     77 
     78static struct gpio_button tl_wr743nd_gpio_buttons[] __initdata = { 
     79        { 
     80                .desc           = "reset", 
     81                .type           = EV_KEY, 
     82                .code           = BTN_0, 
     83                .threshold      = 3, 
     84                .gpio           = TL_WR743ND_GPIO_BTN_RESET, 
     85                .active_low     = 1, 
     86        }, { 
     87                .desc           = "qss", 
     88                .type           = EV_KEY, 
     89                .code           = BTN_1, 
     90                .threshold      = 3, 
     91                .gpio           = TL_WR743ND_GPIO_BTN_QSS, 
     92                .active_low     = 1, 
     93        } 
     94}; 
     95 
     96static void __init tl_wr743nd_setup(void) 
     97{ 
     98        u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00); 
     99        u8 *ee = (u8 *) KSEG1ADDR(0x1fff1000); 
     100 
     101        ar71xx_add_device_m25p80(&tl_wr743nd_flash_data); 
     102 
     103        ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(tl_wr743nd_leds_gpio), 
     104                                        tl_wr743nd_leds_gpio); 
     105 
     106        ar71xx_add_device_gpio_buttons(-1, TL_WR743ND_BUTTONS_POLL_INTERVAL, 
     107                                        ARRAY_SIZE(tl_wr743nd_gpio_buttons), 
     108                                        tl_wr743nd_gpio_buttons); 
     109 
     110        ar71xx_eth1_data.has_ar7240_switch = 1; 
     111        ar71xx_set_mac_base(mac); 
     112 
     113        /* WAN port */ 
     114        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
     115        ar71xx_eth0_data.speed = SPEED_100; 
     116        ar71xx_eth0_data.duplex = DUPLEX_FULL; 
     117        ar71xx_eth0_data.phy_mask = BIT(4); 
     118 
     119        /* LAN ports */ 
     120        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII; 
     121        ar71xx_eth1_data.speed = SPEED_1000; 
     122        ar71xx_eth1_data.duplex = DUPLEX_FULL; 
     123 
     124        ar71xx_add_device_mdio(0x0); 
     125        ar71xx_add_device_eth(1); 
     126        ar71xx_add_device_eth(0); 
     127 
     128        ap91_pci_setup_wmac_led_pin(1); 
     129 
     130        ap91_pci_init(ee, mac); 
     131} 
     132MIPS_MACHINE(AR71XX_MACH_TL_WR743ND, "TL-WR743ND", "TP-LINK TL-WR743ND", 
     133             tl_wr743nd_setup); 
  • target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h

    diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h b/target/linux/ar71xx/files/arch/mips/ar71xx/machtype.h
    index b6e68f8..8f1d88c 100644
    a b enum ar71xx_mach_type { 
    3939        AR71XX_MACH_TL_WR741ND, /* TP-LINK TL-WR741ND */ 
    4040        AR71XX_MACH_TL_WR841N_V1, /* TP-LINK TL-WR841N v1 */ 
    4141        AR71XX_MACH_TL_WR941ND, /* TP-LINK TL-WR941ND */ 
     42        AR71XX_MACH_TL_WR743ND, /* TP-LINK TL-WR743ND */ 
    4243        AR71XX_MACH_TL_WR1043ND, /* TP-LINK TL-WR1041ND */ 
    4344        AR71XX_MACH_UBNT_LSSR71, /* Ubiquiti LS-SR71 */ 
    4445        AR71XX_MACH_UBNT_LSX,   /* Ubiquiti LSX */ 
  • target/linux/ar71xx/image/Makefile

    diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
    index b436003..4b4aefa 100644
    a b define Image/Build/Profile/TLWR941NDV4 
    521521        $(call Image/Build/Template/$(fs_4k)/$(1),TPLINK,tl-wr941nd-v4,board=TL-WR741ND,TL-WR941NDv4) 
    522522endef 
    523523 
     524define Image/Build/Profile/TLWR743NDV1 
     525        $(call Image/Build/Template/$(fs_4k)/$(1),TPLINK,tl-wr743nd-v1,board=TL-WR743ND,TL-WR743NDv1) 
     526endef 
     527 
    524528define Image/Build/Profile/TLWR1043NDV1 
    525529        $(call Image/Build/Template/$(fs_squash)/$(1),TPLINK,tl-wr1043nd-v1,board=TL-WR1043ND,TL-WR1043NDv1) 
    526530endef 
    define Image/Build/Profile/Default 
    569573        $(call Image/Build/Profile/TLWR941NDV2,$(1)) 
    570574        $(call Image/Build/Profile/TLWR941NDV3,$(1)) 
    571575        $(call Image/Build/Profile/TLWR941NDV4,$(1)) 
     576        $(call Image/Build/Profile/TLWR743NDV1,$(1)) 
    572577        $(call Image/Build/Profile/TLWR1043NDV1,$(1)) 
    573578        $(call Image/Build/Profile/UBNT,$(1)) 
    574579        $(call Image/Build/Profile/WP543,$(1)) 
  • target/linux/ar71xx/profiles/tp-link.mk

    diff --git a/target/linux/ar71xx/profiles/tp-link.mk b/target/linux/ar71xx/profiles/tp-link.mk
    index 7efb1a3..6cc81c1 100644
    a b endef 
    8282 
    8383$(eval $(call Profile,TLWR941NDV4)) 
    8484 
     85define Profile/TLWR743NDV1 
     86        NAME:=TP-LINK TL-WR743ND v1 
     87        PACKAGES:=kmod-ath9k wpad-mini 
     88endef 
     89 
     90define Profile/TLWR743NDV1/Description 
     91        Package set optimized for the TP-LINK TL-WR743ND v1. 
     92endef 
     93 
     94$(eval $(call Profile,TLWR743NDV1)) 
     95 
    8596define Profile/TLWR1043NDV1 
    8697        NAME:=TP-LINK TL-WR1043ND v1 
    8798        PACKAGES:=kmod-ath9k wpad-mini kmod-usb-core kmod-usb2 
  • tools/firmware-utils/src/mktplinkfw.c

    diff --git a/tools/firmware-utils/src/mktplinkfw.c b/tools/firmware-utils/src/mktplinkfw.c
    index cfb03f8..57fb3bc 100644
    a b  
    3939#define HWID_TL_WR841ND_V5      0x08410005 
    4040#define HWID_TL_WR941ND_V2      0x09410002 
    4141#define HWID_TL_WR941ND_V4      0x09410004 
     42#define HWID_TL_WR743ND_V1      0x07430001 
    4243#define HWID_TL_WR1043ND_V1     0x10430001 
    4344 
    4445#define MD5SUM_LEN      16 
    static struct board_info boards[] = { 
    157158                .kernel_ep      = 0x80060000, 
    158159                .rootfs_ofs     = 0x140000, 
    159160        }, { 
     161                .id             = "TL-WR743NDv1", 
     162                .hw_id          = HWID_TL_WR743ND_V1, 
     163                .hw_rev         = 1, 
     164                .fw_max_len     = 0x3c0000, 
     165                .kernel_la      = 0x80060000, 
     166                .kernel_ep      = 0x80060000, 
     167                .rootfs_ofs     = 0x140000, 
     168        }, { 
    160169                .id             = "TL-WR1043NDv1", 
    161170                .hw_id          = HWID_TL_WR1043ND_V1, 
    162171                .hw_rev         = 1,