update ar71xx to kernel 4.9 again

This commit is contained in:
coolsnowwolf 2017-10-24 23:15:26 +08:00
parent 140a51482d
commit 9032647645
16 changed files with 160 additions and 67 deletions

View File

@ -13,7 +13,7 @@ FEATURES:=usbgadget
CPU_TYPE:=24kc
SUBTARGETS:=generic nand mikrotik
KERNEL_PATCHVER:=4.4
KERNEL_PATCHVER:=4.9
include $(INCLUDE_DIR)/target.mk

View File

@ -223,8 +223,8 @@ CONFIG_ATH79_MACH_UBNT=y
CONFIG_ATH79_MACH_UBNT_UNIFIAC=y
CONFIG_ATH79_MACH_UBNT_XM=y
CONFIG_ATH79_MACH_WEIO=y
CONFIG_ATH79_MACH_WHR_HP_G300N=y
# CONFIG_ATH79_MACH_WI2A_AC200I is not set
CONFIG_ATH79_MACH_WHR_HP_G300N=y
CONFIG_ATH79_MACH_WLAE_AG300N=y
CONFIG_ATH79_MACH_WLR8100=y
CONFIG_ATH79_MACH_WNDAP360=y
@ -374,7 +374,6 @@ CONFIG_MIPS_CLOCK_VSYSCALL=y
CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER=y
# CONFIG_MIPS_CMDLINE_FROM_DTB is not set
# CONFIG_MIPS_ELF_APPENDED_DTB is not set
CONFIG_MIPS_FPU_EMULATOR=y
# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
CONFIG_MIPS_MACHINE=y

View File

@ -35,15 +35,15 @@
#define ARCHER_C25_GPIO_SHIFT_SRCLR 19 /* MR, Master Reset */
#define ARCHER_C25_GPIO_SHIFT_RCLK 16 /* STCP, Storage Reg Clock Input */
#define ARCHER_C25_74HC_GPIO_BASE QCA956X_GPIO_COUNT
#define ARCHER_C25_74HC_GPIO_LED_WAN_AMBER 27
#define ARCHER_C25_74HC_GPIO_LED_WAN_GREEN 28
#define ARCHER_C25_74HC_GPIO_LED_WLAN2 29
#define ARCHER_C25_74HC_GPIO_LED_WLAN5 30
#define ARCHER_C25_74HC_GPIO_LED_LAN1 23
#define ARCHER_C25_74HC_GPIO_LED_LAN2 24
#define ARCHER_C25_74HC_GPIO_LED_LAN3 25
#define ARCHER_C25_74HC_GPIO_LED_LAN4 26
#define ARCHER_C25_74HC_GPIO_BASE 32
#define ARCHER_C25_74HC_GPIO_LED_WAN_AMBER (ARCHER_C25_74HC_GPIO_BASE + 4)
#define ARCHER_C25_74HC_GPIO_LED_WAN_GREEN (ARCHER_C25_74HC_GPIO_BASE + 5)
#define ARCHER_C25_74HC_GPIO_LED_WLAN2 (ARCHER_C25_74HC_GPIO_BASE + 6)
#define ARCHER_C25_74HC_GPIO_LED_WLAN5 (ARCHER_C25_74HC_GPIO_BASE + 7)
#define ARCHER_C25_74HC_GPIO_LED_LAN1 (ARCHER_C25_74HC_GPIO_BASE + 0)
#define ARCHER_C25_74HC_GPIO_LED_LAN2 (ARCHER_C25_74HC_GPIO_BASE + 1)
#define ARCHER_C25_74HC_GPIO_LED_LAN3 (ARCHER_C25_74HC_GPIO_BASE + 2)
#define ARCHER_C25_74HC_GPIO_LED_LAN4 (ARCHER_C25_74HC_GPIO_BASE + 3)
#define ARCHER_C25_V1_SSR_BIT_0 0
#define ARCHER_C25_V1_SSR_BIT_1 1

View File

@ -43,15 +43,15 @@
#define ARCHER_C59_GPIO_SHIFT_SRCLR 19
#define ARCHER_C59_GPIO_SHIFT_RCLK 20
#define ARCHER_C59_74HC_GPIO_BASE QCA956X_GPIO_COUNT
#define ARCHER_C59_74HC_GPIO_LED_POWER 23
#define ARCHER_C59_74HC_GPIO_LED_WLAN2 24
#define ARCHER_C59_74HC_GPIO_LED_WLAN5 25
#define ARCHER_C59_74HC_GPIO_LED_LAN 26
#define ARCHER_C59_74HC_GPIO_LED_WAN_GREEN 27
#define ARCHER_C59_74HC_GPIO_LED_WAN_AMBER 28
#define ARCHER_C59_74HC_GPIO_LED_WPS 29
#define ARCHER_C59_74HC_GPIO_LED_USB 30
#define ARCHER_C59_74HC_GPIO_BASE 32
#define ARCHER_C59_74HC_GPIO_LED_POWER (ARCHER_C59_74HC_GPIO_BASE + 0)
#define ARCHER_C59_74HC_GPIO_LED_WLAN2 (ARCHER_C59_74HC_GPIO_BASE + 1)
#define ARCHER_C59_74HC_GPIO_LED_WLAN5 (ARCHER_C59_74HC_GPIO_BASE + 2)
#define ARCHER_C59_74HC_GPIO_LED_LAN (ARCHER_C59_74HC_GPIO_BASE + 3)
#define ARCHER_C59_74HC_GPIO_LED_WAN_GREEN (ARCHER_C59_74HC_GPIO_BASE + 4)
#define ARCHER_C59_74HC_GPIO_LED_WAN_AMBER (ARCHER_C59_74HC_GPIO_BASE + 5)
#define ARCHER_C59_74HC_GPIO_LED_WPS (ARCHER_C59_74HC_GPIO_BASE + 6)
#define ARCHER_C59_74HC_GPIO_LED_USB (ARCHER_C59_74HC_GPIO_BASE + 7)
#define ARCHER_C59_V1_SSR_BIT_0 0
#define ARCHER_C59_V1_SSR_BIT_1 1

View File

@ -56,7 +56,7 @@
#define ARCHER_C7_GPIO_LED_USB1 7
#define ARCHER_C7_GPIO_LED_USB2 8
#define ARCHER_C7_74HC_GPIO_BASE QCA956X_GPIO_COUNT
#define ARCHER_C7_74HC_GPIO_BASE 32
#define ARCHER_C7_GPIO_LED_WPS (ARCHER_C7_74HC_GPIO_BASE + 0)
#define ARCHER_C7_GPIO_LED_LAN1 (ARCHER_C7_74HC_GPIO_BASE + 1)
#define ARCHER_C7_GPIO_LED_LAN2 (ARCHER_C7_74HC_GPIO_BASE + 2)

View File

@ -53,7 +53,7 @@
#define RB91X_FLAG_USB BIT(0)
#define RB91X_FLAG_PCIE BIT(1)
#define RB91X_LATCH_GPIO_BASE AR934X_GPIO_COUNT
#define RB91X_LATCH_GPIO_BASE 32
#define RB91X_LATCH_GPIO(_x) (RB91X_LATCH_GPIO_BASE + (_x))
#define RB91X_SSR_GPIO_BASE (RB91X_LATCH_GPIO_BASE + AR934X_GPIO_COUNT)

View File

@ -49,15 +49,15 @@
#define TL_WR942N_V1_GPIO_LED_WPS 21
#define TL_WR942N_V1_GPIO_LED_STATUS 22
#define TL_WR942N_V1_74HC_GPIO_BASE QCA956X_GPIO_COUNT
#define TL_WR942N_V1_74HC_GPIO_LED_LAN4 23
#define TL_WR942N_V1_74HC_GPIO_LED_LAN3 24
#define TL_WR942N_V1_74HC_GPIO_LED_LAN2 25
#define TL_WR942N_V1_74HC_GPIO_LED_LAN1 26
#define TL_WR942N_V1_74HC_GPIO_LED_WAN_GREEN 27
#define TL_WR942N_V1_74HC_GPIO_LED_WAN_AMBER 28
#define TL_WR942N_V1_74HC_GPIO_LED_WLAN 29
#define TL_WR942N_V1_74HC_GPIO_HUB_RESET 30 /* from u-boot sources */
#define TL_WR942N_V1_74HC_GPIO_BASE 32
#define TL_WR942N_V1_74HC_GPIO_LED_LAN4 (TL_WR942N_V1_74HC_GPIO_BASE + 0)
#define TL_WR942N_V1_74HC_GPIO_LED_LAN3 (TL_WR942N_V1_74HC_GPIO_BASE + 1)
#define TL_WR942N_V1_74HC_GPIO_LED_LAN2 (TL_WR942N_V1_74HC_GPIO_BASE + 2)
#define TL_WR942N_V1_74HC_GPIO_LED_LAN1 (TL_WR942N_V1_74HC_GPIO_BASE + 3)
#define TL_WR942N_V1_74HC_GPIO_LED_WAN_GREEN (TL_WR942N_V1_74HC_GPIO_BASE + 4)
#define TL_WR942N_V1_74HC_GPIO_LED_WAN_AMBER (TL_WR942N_V1_74HC_GPIO_BASE + 5)
#define TL_WR942N_V1_74HC_GPIO_LED_WLAN (TL_WR942N_V1_74HC_GPIO_BASE + 6)
#define TL_WR942N_V1_74HC_GPIO_HUB_RESET (TL_WR942N_V1_74HC_GPIO_BASE + 7) /* from u-boot sources */
#define TL_WR942N_V1_SSR_BIT_0 0
#define TL_WR942N_V1_SSR_BIT_1 1

View File

@ -39,9 +39,31 @@
struct rb4xx_nand_info {
struct nand_chip chip;
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
struct mtd_info mtd;
#endif
};
static inline struct rb4xx_nand_info *mtd_to_rbinfo(struct mtd_info *mtd)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
return container_of(mtd, struct rb4xx_nand_info, mtd);
#else
struct nand_chip *chip = mtd_to_nand(mtd);
return container_of(chip, struct rb4xx_nand_info, chip);
#endif
}
static struct mtd_info *rbinfo_to_mtd(struct rb4xx_nand_info *nfc)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
return &nfc->mtd;
#else
return nand_to_mtd(&nfc->chip);
#endif
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
/*
* We need to use the OLD Yaffs-1 OOB layout, otherwise the RB bootloader
@ -191,6 +213,7 @@ static void rb4xx_nand_read_buf(struct mtd_info *mtd, unsigned char *buf,
static int rb4xx_nand_probe(struct platform_device *pdev)
{
struct rb4xx_nand_info *info;
struct mtd_info *mtd;
int ret;
printk(KERN_INFO DRV_DESC " version " DRV_VERSION "\n");
@ -259,8 +282,12 @@ static int rb4xx_nand_probe(struct platform_device *pdev)
}
info->chip.priv = &info;
info->mtd.priv = &info->chip;
info->mtd.owner = THIS_MODULE;
mtd = rbinfo_to_mtd(info);
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
mtd->priv = &info->chip;
#endif
mtd->owner = THIS_MODULE;
info->chip.cmd_ctrl = rb4xx_nand_cmd_ctrl;
info->chip.dev_ready = rb4xx_nand_dev_ready;
@ -270,30 +297,33 @@ static int rb4xx_nand_probe(struct platform_device *pdev)
info->chip.chip_delay = 25;
info->chip.ecc.mode = NAND_ECC_SOFT;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
info->chip.ecc.algo = NAND_ECC_HAMMING;
#endif
info->chip.options = NAND_NO_SUBPAGE_WRITE;
platform_set_drvdata(pdev, info);
ret = nand_scan_ident(&info->mtd, 1, NULL);
ret = nand_scan_ident(mtd, 1, NULL);
if (ret) {
ret = -ENXIO;
goto err_free_info;
}
if (info->mtd.writesize == 512)
if (mtd->writesize == 512)
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
info->chip.ecc.layout = &rb4xx_nand_ecclayout;
#else
mtd_set_ooblayout(&info->mtd, &rb4xx_nand_ecclayout_ops);
mtd_set_ooblayout(mtd, &rb4xx_nand_ecclayout_ops);
#endif
ret = nand_scan_tail(&info->mtd);
ret = nand_scan_tail(mtd);
if (ret) {
return -ENXIO;
goto err_set_drvdata;
}
mtd_device_register(&info->mtd, rb4xx_nand_partitions,
mtd_device_register(mtd, rb4xx_nand_partitions,
ARRAY_SIZE(rb4xx_nand_partitions));
if (ret)
goto err_release_nand;
@ -301,7 +331,7 @@ static int rb4xx_nand_probe(struct platform_device *pdev)
return 0;
err_release_nand:
nand_release(&info->mtd);
nand_release(mtd);
err_set_drvdata:
platform_set_drvdata(pdev, NULL);
err_free_info:
@ -322,7 +352,7 @@ static int rb4xx_nand_remove(struct platform_device *pdev)
{
struct rb4xx_nand_info *info = platform_get_drvdata(pdev);
nand_release(&info->mtd);
nand_release(rbinfo_to_mtd(info));
platform_set_drvdata(pdev, NULL);
kfree(info);
gpio_free(RB4XX_NAND_GPIO_NCE);

View File

@ -41,13 +41,30 @@
struct rb750_nand_info {
struct nand_chip chip;
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
struct mtd_info mtd;
#endif
struct rb7xx_nand_platform_data *pdata;
};
static inline struct rb750_nand_info *mtd_to_rbinfo(struct mtd_info *mtd)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
return container_of(mtd, struct rb750_nand_info, mtd);
#else
struct nand_chip *chip = mtd_to_nand(mtd);
return container_of(chip, struct rb750_nand_info, chip);
#endif
}
static struct mtd_info *rbinfo_to_mtd(struct rb750_nand_info *nfc)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
return &nfc->mtd;
#else
return nand_to_mtd(&nfc->chip);
#endif
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
@ -304,6 +321,7 @@ static int rb750_nand_probe(struct platform_device *pdev)
{
struct rb750_nand_info *info;
struct rb7xx_nand_platform_data *pdata;
struct mtd_info *mtd;
int ret;
printk(KERN_INFO DRV_DESC " version " DRV_VERSION "\n");
@ -317,8 +335,12 @@ static int rb750_nand_probe(struct platform_device *pdev)
return -ENOMEM;
info->chip.priv = &info;
info->mtd.priv = &info->chip;
info->mtd.owner = THIS_MODULE;
mtd = rbinfo_to_mtd(info);
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
mtd->priv = &info->chip;
#endif
mtd->owner = THIS_MODULE;
info->chip.select_chip = rb750_nand_select_chip;
info->chip.cmd_ctrl = rb750_nand_cmd_ctrl;
@ -329,6 +351,9 @@ static int rb750_nand_probe(struct platform_device *pdev)
info->chip.chip_delay = 25;
info->chip.ecc.mode = NAND_ECC_SOFT;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
info->chip.ecc.algo = NAND_ECC_HAMMING;
#endif
info->chip.options = NAND_NO_SUBPAGE_WRITE;
info->pdata = pdata;
@ -337,26 +362,26 @@ static int rb750_nand_probe(struct platform_device *pdev)
rb750_nand_gpio_init(info);
ret = nand_scan_ident(&info->mtd, 1, NULL);
ret = nand_scan_ident(mtd, 1, NULL);
if (ret) {
ret = -ENXIO;
goto err_free_info;
}
if (info->mtd.writesize == 512)
if (mtd->writesize == 512)
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
info->chip.ecc.layout = &rb750_nand_ecclayout;
#else
mtd_set_ooblayout(&info->mtd, &rb750_nand_ecclayout_ops);
mtd_set_ooblayout(mtd, &rb750_nand_ecclayout_ops);
#endif
ret = nand_scan_tail(&info->mtd);
ret = nand_scan_tail(mtd);
if (ret) {
return -ENXIO;
goto err_set_drvdata;
}
ret = mtd_device_register(&info->mtd, rb750_nand_partitions,
ret = mtd_device_register(mtd, rb750_nand_partitions,
ARRAY_SIZE(rb750_nand_partitions));
if (ret)
goto err_release_nand;
@ -364,7 +389,7 @@ static int rb750_nand_probe(struct platform_device *pdev)
return 0;
err_release_nand:
nand_release(&info->mtd);
nand_release(mtd);
err_set_drvdata:
platform_set_drvdata(pdev, NULL);
err_free_info:
@ -376,7 +401,7 @@ static int rb750_nand_remove(struct platform_device *pdev)
{
struct rb750_nand_info *info = platform_get_drvdata(pdev);
nand_release(&info->mtd);
nand_release(rbinfo_to_mtd(info));
platform_set_drvdata(pdev, NULL);
kfree(info);

View File

@ -40,7 +40,9 @@
struct rb91x_nand_info {
struct nand_chip chip;
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
struct mtd_info mtd;
#endif
struct device *dev;
int gpio_nce;
@ -54,9 +56,25 @@ struct rb91x_nand_info {
static inline struct rb91x_nand_info *mtd_to_rbinfo(struct mtd_info *mtd)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
return container_of(mtd, struct rb91x_nand_info, mtd);
#else
struct nand_chip *chip = mtd_to_nand(mtd);
return container_of(chip, struct rb91x_nand_info, chip);
#endif
}
static struct mtd_info *rbinfo_to_mtd(struct rb91x_nand_info *nfc)
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
return &nfc->mtd;
#else
return nand_to_mtd(&nfc->chip);
#endif
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
/*
* We need to use the OLD Yaffs-1 OOB layout, otherwise the RB bootloader
@ -340,6 +358,7 @@ static int rb91x_nand_probe(struct platform_device *pdev)
{
struct rb91x_nand_info *rbni;
struct rb91x_nand_platform_data *pdata;
struct mtd_info *mtd;
int ret;
pr_info(DRV_DESC "\n");
@ -362,8 +381,12 @@ static int rb91x_nand_probe(struct platform_device *pdev)
rbni->gpio_nle = pdata->gpio_nle;
rbni->chip.priv = &rbni;
rbni->mtd.priv = &rbni->chip;
rbni->mtd.owner = THIS_MODULE;
mtd = rbinfo_to_mtd(rbni);
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
mtd->priv = &rbni->chip;
#endif
mtd->owner = THIS_MODULE;
rbni->chip.cmd_ctrl = rb91x_nand_cmd_ctrl;
rbni->chip.dev_ready = rb91x_nand_dev_ready;
@ -373,6 +396,9 @@ static int rb91x_nand_probe(struct platform_device *pdev)
rbni->chip.chip_delay = 25;
rbni->chip.ecc.mode = NAND_ECC_SOFT;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
rbni->chip.ecc.algo = NAND_ECC_HAMMING;
#endif
rbni->chip.options = NAND_NO_SUBPAGE_WRITE;
platform_set_drvdata(pdev, rbni);
@ -381,22 +407,22 @@ static int rb91x_nand_probe(struct platform_device *pdev)
if (ret)
return ret;
ret = nand_scan_ident(&rbni->mtd, 1, NULL);
ret = nand_scan_ident(mtd, 1, NULL);
if (ret)
return ret;
if (rbni->mtd.writesize == 512)
if (mtd->writesize == 512)
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,6,0)
rbni->chip.ecc.layout = &rb91x_nand_ecclayout;
#else
mtd_set_ooblayout(&rbni->mtd, &rb91x_nand_ecclayout_ops);
mtd_set_ooblayout(mtd, &rb91x_nand_ecclayout_ops);
#endif
ret = nand_scan_tail(&rbni->mtd);
ret = nand_scan_tail(mtd);
if (ret)
return ret;
ret = mtd_device_register(&rbni->mtd, rb91x_nand_partitions,
ret = mtd_device_register(mtd, rb91x_nand_partitions,
ARRAY_SIZE(rb91x_nand_partitions));
if (ret)
goto err_release_nand;
@ -404,7 +430,7 @@ static int rb91x_nand_probe(struct platform_device *pdev)
return 0;
err_release_nand:
nand_release(&rbni->mtd);
nand_release(mtd);
return ret;
}
@ -412,7 +438,7 @@ static int rb91x_nand_remove(struct platform_device *pdev)
{
struct rb91x_nand_info *info = platform_get_drvdata(pdev);
nand_release(&info->mtd);
nand_release(rbinfo_to_mtd(info));
return 0;
}

View File

@ -358,7 +358,6 @@ define Device/dr344
MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware)
IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += dr344
define Device/dr531
DEVICE_TITLE := Wallys DR531

View File

@ -37,11 +37,13 @@ CFLAGS = -D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -Os \
-mabi=32 -march=mips32r2 \
-Wa,-32 -Wa,-march=mips32r2 -Wa,-mips32r2 -Wa,--trap
CFLAGS += -D_LZMA_PROB32
CFLAGS += -flto
ASFLAGS = $(CFLAGS) -D__ASSEMBLY__
LDFLAGS = -static --gc-sections -no-warn-mismatch
LDFLAGS += -e startup -T loader.lds -Ttext $(LZMA_TEXT_START)
LDFLAGS = -static -Wl,--gc-sections -Wl,-no-warn-mismatch
LDFLAGS += -Wl,-e,startup -T loader.lds -Wl,-Ttext,$(LZMA_TEXT_START)
LDFLAGS += -flto -fwhole-program
O_FORMAT = $(shell $(OBJDUMP) -i | head -2 | grep elf32)
@ -86,7 +88,7 @@ data.o: $(LOADER_DATA)
$(LD) -r -b binary --oformat $(O_FORMAT) -T lzma-data.lds -o $@ $<
loader: $(OBJECTS)
$(LD) $(LDFLAGS) -o $@ $(OBJECTS)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJECTS)
loader.bin: loader
$(OBJCOPY) $(BIN_FLAGS) $< $@

View File

@ -42,6 +42,19 @@ LEAF(startup)
mtc0 t0, CP0_STATUS
ehb
/*
* Some bootloaders set the 'Kseg0 coherency algorithm' to
* 'Cacheable, noncoherent, write-through, no write allocate'
* and this cause performance issues. Let's go and change it to
* 'Cacheable, noncoherent, write-back, write allocate'
*/
mfc0 t0, CP0_CONFIG
li t1, ~7 #~CONF_CM_CMASK
and t0, t1
ori t0, 3 #CONF_CM_CACHABLE_NONCOHERENT
mtc0 t0, CP0_CONFIG
nop
mtc0 zero, CP0_COUNT
mtc0 zero, CP0_COMPARE
ehb

View File

@ -150,7 +150,7 @@ define Device/archer-c60-v1
MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1344k(kernel),6592k(rootfs),64k(tplink)ro,64k(art)ro,7936k@0x20000(firmware)
SUPPORTED_DEVICES := archer-c60-v1
endef
TARGET_DEVICES += archer-c25-v1 archer-c58-v1 archer-c59-v1 archer-c60-v1
TARGET_DEVICES += archer-c25-v1 archer-c59-v1
define Device/archer-c5-v1
$(Device/tplink-16mlzma)
@ -1043,7 +1043,6 @@ define Device/tl-wr902ac-v1
append-metadata | check-size $$$$(IMAGE_SIZE)
MTDPARTS := spi0.0:128k(u-boot)ro,7360k(firmware),640k(tplink)ro,64k(art)ro
endef
TARGET_DEVICES += tl-wr902ac-v1
define Device/tl-wr940n-v4
$(Device/tplink-8mlzma)
@ -1118,4 +1117,4 @@ define Device/tl-wr942n-v1
MTDPARTS := spi0.0:128k(u-boot)ro,1344k(kernel),13120k(rootfs),64k(product-info)ro,64k(partition-table)ro,256k(oem-config)ro,1344k(oem-vars)ro,64k(ART)ro,14464k@0x20000(firmware)
SUPPORTED_DEVICES := tl-wr942n-v1
endef
TARGET_DEVICES += tl-wr940n-v4 tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn tl-wr942n-v1
TARGET_DEVICES += tl-wr940n-v4 tl-wr941nd-v2 tl-wr941nd-v3 tl-wr941nd-v4 tl-wr941nd-v5 tl-wr941nd-v6 tl-wr941nd-v6-cn

View File

@ -256,4 +256,3 @@ define Device/ubnt-unifi-outdoor-plus
BOARDNAME := UBNT-UOP
DEVICE_PROFILE := UBNT
endef
TARGET_DEVICES += ubnt-uap-pro ubnt-unifi-outdoor-plus

View File

@ -231,6 +231,7 @@ CONFIG_MTD_NAND_RB4XX=y
CONFIG_MTD_NAND_RB750=y
CONFIG_MTD_NAND_RB91X=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
# CONFIG_MTD_SPLIT_EVA_FW is not set
# CONFIG_MTD_SPLIT_TPLINK_FW is not set
# CONFIG_MTD_TPLINK_PARTS is not set