[OpenWrt-Devel] [PATCH 4/4] a71xx: add support for TP-Link RE450
John Crispin
blogic at openwrt.org
Tue Jan 19 04:32:43 EST 2016
Hi,
again lots of changes all thrown into one patch.
changes like
> -define Image/Build/TPLINK-SAFELOADER
> +define Image/Build/TPLINK-SAFELOADER-ELF
need to be in their own patch.
and the following
> +# mktplinkfw-kernel <kernel-file> <output-file> <hw-id>
> +define Build/mktplinkfw-kernel
> + $(STAGING_DIR_HOST)/bin/mktplinkfw-kernel \
> + -H $3 -N OpenWrt -V $(REVISION) \
> + -L $(KERNEL_LOADADDR) -E $(KERNEL_LOADADDR) \
> + -k $1 \
> + -o $2
> +endef
> +
should be part of the patch adding the tool rather than the board patch.
it might even qualify for its own patch.
John
On 07/01/2016 01:40, Tal Keren wrote:
> Add full support for TP-Link RE450.
> The wireless SoC is similiar to Archer C7: QCA9558 + QCA9880 (pci).
> The ethernet interface is AR8035, but the mdio is connected to the gpio and
> the chipset builtin mdio bus isn't used, which is unique (and weird), so the
> kernel gpio mdio module is used.
> The two ethernet leds are connected to the GPIO, so they are both configured,
> one to indicate link status and the other to indicate data transfer.
>
> The generation of the image was added to the image Makefile.
> The return value of tplink-safeloader is not ignored anymore (to fail on error)
>
> The result factory image is flashable from the stock web ui.
>
> Signed-off-by: Tal Keren <kooolk at gmail.com>
> ---
> target/linux/ar71xx/base-files/etc/board.d/01_leds | 9 +
> .../linux/ar71xx/base-files/etc/board.d/02_network | 1 +
> target/linux/ar71xx/base-files/etc/diag.sh | 3 +
> .../etc/hotplug.d/firmware/11-ath10k-caldata | 4 +
> target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 +
> .../ar71xx/base-files/lib/upgrade/platform.sh | 1 +
> target/linux/ar71xx/config-4.1 | 3 +
> .../ar71xx/files/arch/mips/ath79/Kconfig.openwrt | 10 ++
> target/linux/ar71xx/files/arch/mips/ath79/Makefile | 1 +
> .../ar71xx/files/arch/mips/ath79/mach-re450.c | 189 +++++++++++++++++++++
> .../linux/ar71xx/files/arch/mips/ath79/machtypes.h | 1 +
> target/linux/ar71xx/generic/profiles/tp-link.mk | 11 ++
> target/linux/ar71xx/image/Makefile | 46 ++++-
> target/linux/ar71xx/mikrotik/config-default | 1 +
> target/linux/ar71xx/nand/config-default | 1 +
> 15 files changed, 279 insertions(+), 5 deletions(-)
> create mode 100755 target/linux/ar71xx/files/arch/mips/ath79/mach-re450.c
>
> diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds b/target/linux/ar71xx/base-files/etc/board.d/01_leds
> index cfb42a5..88d1a9c 100755
> --- a/target/linux/ar71xx/base-files/etc/board.d/01_leds
> +++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds
> @@ -398,6 +398,15 @@ qihoo-c301)
> ucidef_set_led_wlan "wlan2g" "WLAN2G" "qihoo:red:status" "phy1tpt"
> ;;
>
> +re450)
> + ucidef_set_led_netdev "lan_data" "LAN Data" "tp-link:green:lan_data" "eth0" "tx rx"
> + ucidef_set_led_netdev "lan_link" "LAN Link" "tp-link:green:lan_link" "eth0" "link"
> + ucidef_set_led_default "wps" "WPS" "tp-link:blue:wps" "0"
> + ucidef_set_led_default "wps_error" "WPS Error" "tp-link:red:wps" "0"
> + ucidef_set_led_wlan "wlan2g" "WLAN 2.4 GHz" "tp-link:blue:wlan2g" "phy1tpt"
> + ucidef_set_led_wlan "wlan5g" "WLAN 5 GHz" "tp-link:blue:wlan5g" "phy0tpt"
> + ;;
> +
> smart-300)
> ucidef_set_led_netdev "wan" "WAN" "nc-link:green:wan" "eth0"
> ucidef_set_led_switch "lan1" "LAN1" "nc-link:green:lan1" "switch0" "0x04"
> diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
> index 6b6c6a4..8c16c53 100755
> --- a/target/linux/ar71xx/base-files/etc/board.d/02_network
> +++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
> @@ -340,6 +340,7 @@ rb-912uag-2hpnd |\
> rb-912uag-5hpnd |\
> rb-sxt2n |\
> rb-sxt5n |\
> +re450 |\
> rocket-m-xw |\
> tl-mr10u |\
> tl-mr11u |\
> diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
> index 13a0a98..077a6a9 100644
> --- a/target/linux/ar71xx/base-files/etc/diag.sh
> +++ b/target/linux/ar71xx/base-files/etc/diag.sh
> @@ -245,6 +245,9 @@ get_status_led() {
> rb-sxt5n)
> status_led="rb:green:power"
> ;;
> + re450)
> + status_led="tp-link:blue:system"
> + ;;
> routerstation | routerstation-pro)
> status_led="ubnt:green:rf"
> ;;
> diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
> index 74c3417..88eb10a 100644
> --- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
> +++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
> @@ -75,6 +75,10 @@ case "$FIRMWARE" in
> ath10kcal_extract "ART" 20480 2116
> ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
> ;;
> + re450)
> + ath10kcal_extract "art" 20480 2116
> + ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
> + ;;
> esac
> ;;
> "ath10k/cal-pci-0000:01:00.0.bin")
> diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> index 678482e..5853633 100755
> --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
> +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
> @@ -644,6 +644,9 @@ ar71xx_board_detect() {
> *"Qihoo 360 C301")
> name="qihoo-c301"
> ;;
> + *"RE450")
> + name="re450"
> + ;;
> *"RouterBOARD 411/A/AH")
> name="rb-411"
> ;;
> diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> index e662524..f267420 100755
> --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
> @@ -333,6 +333,7 @@ platform_check_image() {
> minibox-v1 |\
> onion-omega | \
> oolite | \
> + re450 | \
> smart-300 | \
> tl-mr10u | \
> tl-mr11u | \
> diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1
> index fe1dd68..b511686 100644
> --- a/target/linux/ar71xx/config-4.1
> +++ b/target/linux/ar71xx/config-4.1
> @@ -121,6 +121,7 @@ CONFIG_ATH79_MACH_R6100=y
> # CONFIG_ATH79_MACH_RB922 is not set
> # CONFIG_ATH79_MACH_RB95X is not set
> # CONFIG_ATH79_MACH_RBSXTLITE is not set
> +CONFIG_ATH79_MACH_RE450=y
> CONFIG_ATH79_MACH_RW2458N=y
> CONFIG_ATH79_MACH_SMART_300=y
> CONFIG_ATH79_MACH_TEW_632BRP=y
> @@ -282,7 +283,9 @@ CONFIG_IRQ_WORK=y
> CONFIG_LEDS_GPIO=y
> # CONFIG_LEDS_WNDR3700_USB is not set
> CONFIG_MARVELL_PHY=y
> +CONFIG_MDIO_BITBANG=y
> CONFIG_MDIO_BOARDINFO=y
> +CONFIG_MDIO_GPIO=y
> CONFIG_MICREL_PHY=y
> CONFIG_MIPS=y
> # CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
> index cdd4fa2..703e299 100644
> --- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
> @@ -1022,6 +1022,16 @@ config ATH79_MACH_CPE510
> select ATH79_DEV_M25P80
> select ATH79_DEV_WMAC
>
> +config ATH79_MACH_RE450
> + bool "TP-LINK RE450 board support"
> + select SOC_QCA955X
> + select ATH79_DEV_AP9X_PCI if PCI
> + select ATH79_DEV_ETH
> + select ATH79_DEV_GPIO_BUTTONS
> + select ATH79_DEV_LEDS_GPIO
> + select ATH79_DEV_M25P80
> + select ATH79_DEV_WMAC
> +
> config ATH79_MACH_TL_MR11U
> bool "TP-LINK TL-MR11U/TL-MR3040 support"
> select SOC_AR933X
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Makefile b/target/linux/ar71xx/files/arch/mips/ath79/Makefile
> index 991f6f2..094816e 100644
> --- a/target/linux/ar71xx/files/arch/mips/ath79/Makefile
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/Makefile
> @@ -128,6 +128,7 @@ obj-$(CONFIG_ATH79_MACH_RB922) += mach-rb922.o
> obj-$(CONFIG_ATH79_MACH_RB95X) += mach-rb95x.o
> obj-$(CONFIG_ATH79_MACH_RB2011) += mach-rb2011.o
> obj-$(CONFIG_ATH79_MACH_RBSXTLITE) += mach-rbsxtlite.o
> +obj-$(CONFIG_ATH79_MACH_RE450) += mach-re450.o
> obj-$(CONFIG_ATH79_MACH_RW2458N) += mach-rw2458n.o
> obj-$(CONFIG_ATH79_MACH_SMART_300) += mach-smart-300.o
> obj-$(CONFIG_ATH79_MACH_TEW_632BRP) += mach-tew-632brp.o
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-re450.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-re450.c
> new file mode 100755
> index 0000000..55414de
> --- /dev/null
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-re450.c
> @@ -0,0 +1,189 @@
> +/*
> + * TP-LINK Archer RE450 board support
> + *
> + * Copyright (c) 2013 Gabor Juhos <juhosg at openwrt.org>
> + * Copyright (c) 2016 Tal Keren <kooolk at gmail.com>
> + *
> + * Based on the Qualcomm Atheros AP135/AP136 reference board support code
> + * Copyright (c) 2012 Qualcomm Atheros
> + *
> + * Permission to use, copy, modify, and/or distribute this software for any
> + * purpose with or without fee is hereby granted, provided that the above
> + * copyright notice and this permission notice appear in all copies.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
> + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
> + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
> + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> + *
> + */
> +
> +#include <linux/pci.h>
> +#include <linux/phy.h>
> +#include <linux/gpio.h>
> +#include <linux/mdio-gpio.h>
> +#include <linux/platform_device.h>
> +#include <linux/ar8216_platform.h>
> +
> +#include <asm/mach-ath79/ath79.h>
> +#include <asm/mach-ath79/ar71xx_regs.h>
> +
> +#include "common.h"
> +#include "dev-ap9x-pci.h"
> +#include "dev-eth.h"
> +#include "dev-gpio-buttons.h"
> +#include "dev-leds-gpio.h"
> +#include "dev-m25p80.h"
> +#include "dev-wmac.h"
> +#include "machtypes.h"
> +#include "pci.h"
> +
> +#define RE450_GPIO_LED_SYSTEM 12
> +#define RE450_GPIO_LED_WLAN2G 13
> +#define RE450_GPIO_LED_WLAN5G 14
> +#define RE450_GPIO_LED_LAN_DATA 17
> +#define RE450_GPIO_LED_JUMPSTART 21
> +#define RE450_GPIO_LED_JUMPSTART_RED 22
> +#define RE450_GPIO_LED_LAN_LINK 23
> +
> +#define RE450_GPIO_BTN_RESET 18
> +#define RE450_GPIO_BTN_LED 19
> +#define RE450_GPIO_BTN_JUMPSTART 20
> +
> +#define RE450_GPIO_SMI_MDIO 1
> +#define RE450_GPIO_SMI_MDC 3
> +
> +#define RE450_LAN_PHYADDR 4
> +
> +#define RE450_KEYS_POLL_INTERVAL 20 /* msecs */
> +#define RE450_KEYS_DEBOUNCE_INTERVAL (3 * RE450_KEYS_POLL_INTERVAL)
> +
> +#define RE450_WMAC_CALDATA_OFFSET 0x1000
> +
> +static const char *tl_re450_part_probes[] = {
> + "cmdlinepart",
> + NULL,
> +};
> +
> +static struct flash_platform_data tl_re450_flash_data = {
> + .part_probes = tl_re450_part_probes,
> +};
> +
> +static struct gpio_led re450_leds_gpio[] __initdata = {
> + {
> + .name = "tp-link:blue:system",
> + .gpio = RE450_GPIO_LED_SYSTEM,
> + .active_low = 1,
> + },
> + {
> + .name = "tp-link:blue:wlan2g",
> + .gpio = RE450_GPIO_LED_WLAN2G,
> + .active_low = 1,
> + },
> + {
> + .name = "tp-link:blue:wlan5g",
> + .gpio = RE450_GPIO_LED_WLAN5G,
> + .active_low = 1,
> + },
> + {
> + .name = "tp-link:blue:wps",
> + .gpio = RE450_GPIO_LED_JUMPSTART,
> + },
> + {
> + .name = "tp-link:red:wps",
> + .gpio = RE450_GPIO_LED_JUMPSTART_RED,
> + },
> + {
> + .name = "tp-link:green:lan_data",
> + .gpio = RE450_GPIO_LED_LAN_DATA,
> + .active_low = 1,
> + },
> + {
> + .name = "tp-link:green:lan_link",
> + .gpio = RE450_GPIO_LED_LAN_LINK,
> + .active_low = 1,
> + },
> +};
> +
> +static struct gpio_keys_button re450_gpio_keys[] __initdata = {
> + {
> + .desc = "Reset button",
> + .type = EV_KEY,
> + .code = KEY_WPS_BUTTON,
> + .debounce_interval = RE450_KEYS_DEBOUNCE_INTERVAL,
> + .gpio = RE450_GPIO_BTN_RESET,
> + .active_low = 1,
> + },
> + {
> + .desc = "WPS button",
> + .type = EV_KEY,
> + .code = KEY_RESTART,
> + .debounce_interval = RE450_KEYS_DEBOUNCE_INTERVAL,
> + .gpio = RE450_GPIO_BTN_JUMPSTART,
> + .active_low = 1,
> + },
> + {
> + .desc = "Control LED button",
> + .type = EV_KEY,
> + .code = BTN_0,
> + .debounce_interval = RE450_KEYS_DEBOUNCE_INTERVAL,
> + .gpio = RE450_GPIO_BTN_LED,
> + .active_low = 1,
> + },
> +};
> +
> +static struct mdio_gpio_platform_data re450_mdio = {
> + .mdc = RE450_GPIO_SMI_MDC,
> + .mdio = RE450_GPIO_SMI_MDIO,
> + .phy_mask = ~BIT(RE450_LAN_PHYADDR),
> +};
> +
> +static struct platform_device re450_phy_device = {
> + .name = "mdio-gpio",
> + .id = 0,
> + .dev = {
> + .platform_data = &re450_mdio,
> + },
> +};
> +
> +
> +static void __init re450_setup(void)
> +{
> + u8 *mac = (u8 *) KSEG1ADDR(0x1f610008);
> + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
> + u8 tmpmac[ETH_ALEN];
> +
> + ath79_register_m25p80(&tl_re450_flash_data);
> + ath79_register_leds_gpio(-1, ARRAY_SIZE(re450_leds_gpio),
> + re450_leds_gpio);
> + ath79_register_gpio_keys_polled(-1, RE450_KEYS_POLL_INTERVAL,
> + ARRAY_SIZE(re450_gpio_keys),
> + re450_gpio_keys);
> +
> + ath79_init_mac(tmpmac, mac, -1);
> + ath79_register_wmac(art + RE450_WMAC_CALDATA_OFFSET, tmpmac);
> +
> + ath79_register_pci();
> +
> + /* MDIO Interface */
> + platform_device_register(&re450_phy_device);
> +
> + ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
> +
> + /* GMAC0 is connected to the RGMII interface to an Atheros AR8035-A */
> + ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);
> + ath79_eth0_data.mii_bus_dev = &re450_phy_device.dev;
> + ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
> + ath79_eth0_data.phy_mask = BIT(RE450_LAN_PHYADDR);
> + ath79_eth0_pll_data.pll_1000 = 0xa6000000;
> + ath79_eth0_pll_data.pll_100 = 0xa0000101;
> + ath79_eth0_pll_data.pll_10 = 0x80001313;
> + ath79_register_eth(0);
> +}
> +
> +MIPS_MACHINE(ATH79_MACH_RE450, "RE450", "TP-LINK RE450",
> + re450_setup)
> +
> diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
> index d12829f..5e3f088 100644
> --- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
> +++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h
> @@ -141,6 +141,7 @@ enum ath79_mach_type {
> ATH79_MACH_RB_2011R5, /* Mikrotik RouterBOARD 2011UiAS(-2Hnd) */
> ATH79_MACH_RB_SXTLITE2ND, /* Mikrotik RouterBOARD SXT Lite 2nD */
> ATH79_MACH_RB_SXTLITE5ND, /* Mikrotik RouterBOARD SXT Lite 5nD */
> + ATH79_MACH_RE450, /* TP-LINK RE450 */
> ATH79_MACH_RW2458N, /* Redwave RW2458N */
> ATH79_MACH_SMART_300, /* NC-LINK SMART-300 */
> ATH79_MACH_TEW_632BRP, /* TRENDnet TEW-632BRP */
> diff --git a/target/linux/ar71xx/generic/profiles/tp-link.mk b/target/linux/ar71xx/generic/profiles/tp-link.mk
> index 2875290..96b8bfb 100644
> --- a/target/linux/ar71xx/generic/profiles/tp-link.mk
> +++ b/target/linux/ar71xx/generic/profiles/tp-link.mk
> @@ -27,6 +27,17 @@ endef
> $(eval $(call Profile,CPE510))
>
>
> +define Profile/RE450
> + NAME:=TP-LINK RE450
> + PACKAGES:=kmod-ath10k
> +endef
> +
> +define Profile/RE450/Description
> + Package set optimized for the TP-LINK RE450.
> +endef
> +$(eval $(call Profile,RE450))
> +
> +
> define Profile/TLMR10U
> NAME:=TP-LINK TL-MR10U
> PACKAGES:=kmod-usb-core kmod-usb2
> diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
> index 31eb345..26882e1 100644
> --- a/target/linux/ar71xx/image/Makefile
> +++ b/target/linux/ar71xx/image/Makefile
> @@ -71,6 +71,15 @@ define Build/mktplinkfw-initramfs
> @mv $@.new $@
> endef
>
> +# mktplinkfw-kernel <kernel-file> <output-file> <hw-id>
> +define Build/mktplinkfw-kernel
> + $(STAGING_DIR_HOST)/bin/mktplinkfw-kernel \
> + -H $3 -N OpenWrt -V $(REVISION) \
> + -L $(KERNEL_LOADADDR) -E $(KERNEL_LOADADDR) \
> + -k $1 \
> + -o $2
> +endef
> +
> define Build/loader-common
> rm -rf $@.src
> $(MAKE) -C lzma-loader \
> @@ -1566,6 +1575,7 @@ mr12_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),
> mr16_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),2304k(kernel),128k(art)ro,15744k at 0x80000(firmware)
> pb92_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,2752k(rootfs),896k(kernel),64k(nvram),64k(art)ro,3648k at 0x50000(firmware)
> planex_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7744k(firmware),128k(art)ro
> +re450_mtdlayout=mtdparts=spi0.0:128k(u-boot)ro,1280k(kernel),4736k(rootfs),64k(pation-table)ro,64k(product-info)ro,1856k(config)ro,64k(art)ro,6016k at 0x20000(firmware)
> ubntxm_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7552k(firmware),256k(cfg)ro,64k(EEPROM)ro
> uap_pro_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1536k(kernel),14208k(rootfs),256k(cfg)ro,64k(EEPROM)ro,15744k at 0x50000(firmware)
> ubdev_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7488k(firmware),64k(certs),256k(cfg)ro,64k(EEPROM)ro
> @@ -2001,19 +2011,19 @@ define Image/Build/Senao
> $(call sysupname,$(1),$(2))
> endef
>
> -Image/Build/TPLINK-SAFELOADER/loader = $(call Image/BuildLoaderPatched,$(1),elf,$(2) $(3))
> +Image/Build/TPLINK-SAFELOADER-ELF/loader = $(call Image/BuildLoaderPatched,$(1),elf,$(2) $(3))
>
> -define Image/Build/TPLINK-SAFELOADER
> +define Image/Build/TPLINK-SAFELOADER-ELF
> [ -e "$(KDIR)/loader-$(2).elf" ]
>
> - -$(STAGING_DIR_HOST)/bin/tplink-safeloader \
> + $(STAGING_DIR_HOST)/bin/tplink-safeloader \
> -B $(5) \
> -k $(KDIR)/loader-$(2).elf \
> -r $(KDIR)/root.$(1) \
> -V $(REVISION) \
> -j \
> -o $(call factoryname,$(1),$(2))
> - -$(STAGING_DIR_HOST)/bin/tplink-safeloader \
> + $(STAGING_DIR_HOST)/bin/tplink-safeloader \
> -B $(5) \
> -k $(KDIR)/loader-$(2).elf \
> -r $(KDIR)/root.$(1) \
> @@ -2023,6 +2033,31 @@ define Image/Build/TPLINK-SAFELOADER
> endef
>
>
> +define Image/Build/TPLINK-SAFELOADER-TPLINK/buildkernel
> + $(call PatchKernelLzma,$(2),$(3) $(4))
> + $(call Build/mktplinkfw-kernel,$(KDIR_TMP)/vmlinux-$(2).bin.lzma,$(KDIR_TMP)/vmlinux-$(2).tplink.bin,$6)
> +endef
> +
> +define Image/Build/TPLINK-SAFELOADER-TPLINK
> + [ -e "$(KDIR_TMP)/vmlinux-$(2).tplink.bin" ]
> +
> + $(STAGING_DIR_HOST)/bin/tplink-safeloader \
> + -B $(5) \
> + -k $(KDIR_TMP)/vmlinux-$(2).tplink.bin \
> + -r $(KDIR)/root.$(1) \
> + -V $(REVISION) \
> + -j \
> + -o $(call factoryname,$(1),$(2))
> + $(STAGING_DIR_HOST)/bin/tplink-safeloader \
> + -B $(5) \
> + -k $(KDIR_TMP)/vmlinux-$(2).tplink.bin \
> + -r $(KDIR)/root.$(1) \
> + -V $(REVISION) \
> + -j -S \
> + -o $(call sysupname,$(1),$(2))
> +endef
> +
> +
> define Image/Build/CyberTAN
> echo -n '' > $(KDIR_TMP)/empty.bin
> $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp \
> @@ -2461,7 +2496,8 @@ $(eval $(call SingleProfile,Seama,64k,QIHOO360,qihoo-c301,QIHOO-C301,ttyS0,11520
>
> $(eval $(call SingleProfile,Senao,squashfs-only,EAP300V2,eap300v2,EAP300V2,ttyS0,115200,$$(eap300v2_mtdlayout)))
>
> -$(eval $(call SingleProfile,TPLINK-SAFELOADER,64kraw,CPE510,cpe210-220-510-520,CPE510,ttyS0,115200,$$(cpe510_mtdlayout),CPE510))
> +$(eval $(call SingleProfile,TPLINK-SAFELOADER-ELF,64kraw,CPE510,cpe210-220-510-520,CPE510,ttyS0,115200,$$(cpe510_mtdlayout),CPE510))
> +$(eval $(call SingleProfile,TPLINK-SAFELOADER-TPLINK,64kraw,RE450,re450,RE450,ttyS0,115200,$$(re450_mtdlayout),RE450,0x04500100))
>
> $(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRG301N,whr-g301n,WHR-G301N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-G301N))
> $(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRHPG300N,whr-hp-g300n,WHR-HP-G300N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-HP-G300N))
> diff --git a/target/linux/ar71xx/mikrotik/config-default b/target/linux/ar71xx/mikrotik/config-default
> index 88ac6cf..983017b 100644
> --- a/target/linux/ar71xx/mikrotik/config-default
> +++ b/target/linux/ar71xx/mikrotik/config-default
> @@ -71,6 +71,7 @@ CONFIG_ATH79_MACH_RB91X=y
> CONFIG_ATH79_MACH_RB922=y
> CONFIG_ATH79_MACH_RB95X=y
> CONFIG_ATH79_MACH_RBSXTLITE=y
> +# CONFIG_ATH79_MACH_RE450 is not set
> # CONFIG_ATH79_MACH_RW2458N is not set
> # CONFIG_ATH79_MACH_SMART_300 is not set
> # CONFIG_ATH79_MACH_TEW_632BRP is not set
> diff --git a/target/linux/ar71xx/nand/config-default b/target/linux/ar71xx/nand/config-default
> index e67d1ad..3632fd2 100644
> --- a/target/linux/ar71xx/nand/config-default
> +++ b/target/linux/ar71xx/nand/config-default
> @@ -38,6 +38,7 @@
> # CONFIG_ATH79_MACH_PB42 is not set
> # CONFIG_ATH79_MACH_PB44 is not set
> # CONFIG_ATH79_MACH_PB92 is not set
> +# CONFIG_ATH79_MACH_RE450 is not set
> # CONFIG_ATH79_MACH_RW2458N is not set
> # CONFIG_ATH79_MACH_TEW_632BRP is not set
> # CONFIG_ATH79_MACH_TEW_673GRU is not set
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list