Add support for Comfast CF-E520N (QCA9531 based)
authorPiotr Dymacz <pepe2k@gmail.com>
Tue, 30 Aug 2016 23:14:20 +0000 (01:14 +0200)
committerPiotr Dymacz <pepe2k@gmail.com>
Tue, 30 Aug 2016 23:14:20 +0000 (01:14 +0200)
Makefile
README.md
READMEPL.md
u-boot/Makefile
u-boot/include/configs/ap143.h

index 1e3789caeaeaf0282ee84e8996c6423fd90da221..3ddea263f58c134b7d1bd078dfe916de5324e48b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -217,6 +217,9 @@ $(COMMON_ETHS27_TARGETS):
 8devices_carambola2:
        @$(call build,256,1)
 
+comfast_cf-e520n:
+       @$(call build,64,1,ETH_CONFIG=_s27)
+
 d-link_dir-505:
        @$(call build,64,1)
 
index 9fb3b0cceb1d8ccf04c69225024a9427ded72a87..5c44c5eaf9bf2f39a11e438fb8ec6673f0928f4f 100644 (file)
--- a/README.md
+++ b/README.md
@@ -94,6 +94,7 @@ Currently supported devices:
   - TP-Link TL-WR802N
   - Wallys DR531
   - Zbtlink ZBT-WE1526
+  - Comfast CF-E520N
 
 I tested this modification on most of these devices, with OpenWrt and OFW firmware. If you are not sure about the version of your device, please contact with me **before** you try to make an upgrade. Changing bootloader to a wrong version will probably damage your router and you will need special hardware to fix it, so please, **be very careful**.
 
@@ -129,6 +130,7 @@ More information about supported devices:
 | [TP-Link TL-WR802N](https://wikidevi.com/wiki/TP-LINK_TL-WR802N_v1.0) | QCA9533 | 4 MiB | 32 MiB DDR1 | 64 KiB, LZMA | RO |
 | Wallys DR531 | QCA9531 | 8 MiB | 64 MiB DDR2 | 192 KiB | R/W |
 | Zbtlink ZBT-WE1526 | QCA9531 | 16 MiB | 128 MiB DDR2 | 256 KiB | R/W |
+| Comfast CF-E520N | QCA9531 | 8 MiB | 32 MiB DDR2 | 64 KiB, LZMA | RO |
 
 *(LZMA) - U-Boot binary image is compressed with LZMA.*  
 *(R/W) - environment exists in separate FLASH block which allows you to save it and keep after power down.*
index 2e8df93cfd5903aeb7b10ef821e9f34b7f61e283..81a205a0ac1895945052b3f5b427708f91553e53 100644 (file)
@@ -91,6 +91,7 @@ Lista obecnie wspieranych urządzeń:
   - TP-Link TL-WR802N
   - Wallys DR531
   - Zbtlink ZBT-WE1526
+  - Comfast CF-E520N
 
 Przetestowałem swoją modyfikację na większości z wymienionych powyżej urządzeń, z obrazami OpenWrt i oficjalnym firmware producenta. Jeżeli nie jesteś pewien wersji sprzętowej swojego urządzenia, proszę skontaktuj się ze mną **zanim** dokonasz wymiany obrazu bootloadera. Zmiana na niewłaściwą wersję najprawdopodobniej doprowadzi do uszkodzenia Twojego urządzenia i jedyną możliwością jego ponownego uruchomienia będzie przeprogramowanie kości FLASH w zewnętrznym programatorze.
 
@@ -126,6 +127,7 @@ Dodatkowe informacje o wspieranych urządzeniach:
 | [TP-Link TL-WR802N](https://wikidevi.com/wiki/TP-LINK_TL-WR802N_v1.0) | QCA9533 | 4 MiB | 32 MiB DDR1 | 64 KiB, LZMA | RO |
 | Wallys DR531 | QCA9531 | 8 MiB | 64 MiB DDR2 | 192 KiB | R/W |
 | Zbtlink ZBT-WE1526 | QCA9531 | 16 MiB | 128 MiB DDR2 | 256 KiB | R/W |
+| Comfast CF-E520N | QCA9531 | 8 MiB | 32 MiB DDR2 | 64 KiB, LZMA | RO |
 
 *(LZMA) - obraz binarny U-Boot został dodatkowo skompresowany przy pomocy LZMA.*  
 *(R/W) - zmienne środowiskowe przechowywane są w osobnym bloku FLASH, co pozwala na ich zachowanie po odłączeniu zasilaniu.*  
index f25fdfbaee771567f9c29e4aed46ad941e4059b8..5278509ae6f2262416476ecf5ab436db38462837 100644 (file)
@@ -388,6 +388,13 @@ qca953x_common: unconfig config_common
        @$(call define_add,CONFIG_FOR_8DEVICES_CARAMBOLA2,1)
        @$(MKCONFIG) -a ap121 mips mips ap121 ar7240 ar7240
 
+comfast_cf-e520n: qca953x_common
+       @$(call config_init,Comfast CF-E520N,8,17,1,QCA_QCA953X_SOC)
+       @$(call define_add,CONFIG_FOR_COMFAST_CF_E520N,1)
+       @$(call define_add,CFG_ATHRS27_PHY,1)
+       @$(call define_add,CFG_ATH_GMAC_NMACS,2)
+       @$(MKCONFIG) -a ap143 mips mips ap143 ar7240 ar7240
+
 d-link_dir-505: ar933x_common
        @$(call config_init,D-Link DIR-505,8,11,1,QCA_AR933X_SOC)
        @$(call define_add,CONFIG_FOR_DLINK_DIR505_A1,1)
index 3315ad6a72d240c0eea92832320cb188137a75cd..91f6ebb17d9d93d19b930200060c17c1dfaad5d8 100644 (file)
  * GPIO configuration
  * ==================
  */
-#if defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
-    defined(CONFIG_FOR_TPLINK_WR802N)
+#if defined(CONFIG_FOR_COMFAST_CF_E520N)
+
+       #define CONFIG_QCA_GPIO_MASK_LED_ACT_L  GPIO11
+       #define CONFIG_QCA_GPIO_MASK_OUT        CONFIG_QCA_GPIO_MASK_LED_ACT_L
+       #define CONFIG_QCA_GPIO_MASK_IN         GPIO17
+       #define CONFIG_QCA_GPIO_MASK_OUT_INIT_H CONFIG_QCA_GPIO_MASK_LED_ACT_L
+
+#elif defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
+      defined(CONFIG_FOR_TPLINK_WR802N)
 
        #define CONFIG_QCA_GPIO_MASK_LED_ACT_L  GPIO13
        #define CONFIG_QCA_GPIO_MASK_OUT        CONFIG_QCA_GPIO_MASK_LED_ACT_L
  * Default bootargs
  * ================
  */
-#if defined(CONFIG_FOR_TPLINK_WR820N_CN)
+#if defined(CONFIG_FOR_COMFAST_CF_E520N)
+
+       #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:03 "\
+                               "rootfstype=jffs2 init=/sbin/init "\
+                               "mtdparts=ath-nor0:64k(u-boot),64k(art),1536k(uImage),6464k(rootfs),64k(mib0)"
+
+#elif defined(CONFIG_FOR_TPLINK_WR820N_CN)
 
        #define CONFIG_BOOTARGS "console=ttyS0,115200 root=31:02 "\
                                "rootfstype=squashfs init=/sbin/init "\
  * Load address and boot command
  * =============================
  */
-#if defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
+#if defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
+    defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
     defined(CONFIG_FOR_TPLINK_WR802N)    ||\
     defined(CONFIG_FOR_TPLINK_WR841N_V9)
        #define CFG_LOAD_ADDR   0x9F020000
  * Environment configuration
  * =========================
  */
-#if defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
-    defined(CONFIG_FOR_TPLINK_WR802N)    ||\
-    defined(CONFIG_FOR_TPLINK_WR841N_V9)
+#if defined(CONFIG_FOR_COMFAST_CF_E520N)
+       #define CFG_ENV_ADDR            0x9F018000
+       #define CFG_ENV_SIZE            0x7C00
+       #define CFG_ENV_SECT_SIZE       0x10000
+#elif defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
+      defined(CONFIG_FOR_TPLINK_WR802N)    ||\
+      defined(CONFIG_FOR_TPLINK_WR841N_V9)
        #define CFG_ENV_ADDR            0x9F01EC00
        #define CFG_ENV_SIZE            0x1000
        #define CFG_ENV_SECT_SIZE       0x10000
  * MAC address/es, model and WPS pin offsets in FLASH
  * ==================================================
  */
-#if defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
-    defined(CONFIG_FOR_TPLINK_WR802N)    ||\
-    defined(CONFIG_FOR_TPLINK_WR841N_V9)
+#if defined(CONFIG_FOR_COMFAST_CF_E520N)
+       #define OFFSET_MAC_DATA_BLOCK           0x10000
+       #define OFFSET_MAC_DATA_BLOCK_LENGTH    0x10000
+       #define OFFSET_MAC_ADDRESS              0x00000
+#elif defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
+      defined(CONFIG_FOR_TPLINK_WR802N)    ||\
+      defined(CONFIG_FOR_TPLINK_WR841N_V9)
        #define OFFSET_MAC_DATA_BLOCK           0x010000
        #define OFFSET_MAC_DATA_BLOCK_LENGTH    0x010000
        #define OFFSET_MAC_ADDRESS              0x00FC00
        #define OFFSET_MAC_ADDRESS              0x000000
 #endif
 
+/*
+ * =========================
+ * Custom changes per device
+ * =========================
+ */
+
+/* Comfast CF-E520N is limited to 64 KB only, disable some commands */
+#if defined(CONFIG_FOR_COMFAST_CF_E520N)
+       #undef CONFIG_CMD_DHCP
+       #undef CONFIG_CMD_LOADB
+#endif
+
 /*
  * ===========================
  * HTTP recovery configuration
 #endif
 
 /* Firmware size limit */
-#if defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
+#if defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
+    defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
     defined(CONFIG_FOR_TPLINK_WR802N)    ||\
     defined(CONFIG_FOR_TPLINK_WR841N_V9)
        #define WEBFAILSAFE_UPLOAD_LIMITED_AREA_IN_BYTES        (192 * 1024)
     defined(CONFIG_FOR_TPLINK_WR802N)    ||\
     defined(CONFIG_FOR_TPLINK_WR841N_V9)
        #define CONFIG_QCA_PLL  QCA_PLL_PRESET_550_400_200
-#elif defined(CONFIG_FOR_WALLYS_DR531) ||\
+#elif defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
+      defined(CONFIG_FOR_WALLYS_DR531)     ||\
       defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
        #define CONFIG_QCA_PLL  QCA_PLL_PRESET_650_400_200
 #endif
 
-#if defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
+#if defined(CONFIG_FOR_COMFAST_CF_E520N) ||\
+    defined(CONFIG_FOR_TPLINK_WR820N_CN) ||\
     defined(CONFIG_FOR_TPLINK_WR802N)    ||\
     defined(CONFIG_FOR_TPLINK_WR841N_V9)
 
  * For upgrade scripts in environment
  * ==================================
  */
-#if !defined(CONFIG_FOR_WALLYS_DR531) &&\
+#if !defined(CONFIG_FOR_COMFAST_CF_E520N) &&\
+    !defined(CONFIG_FOR_WALLYS_DR531)     &&\
     !defined(CONFIG_FOR_ZBTLINK_ZBT_WE1526)
        #define CONFIG_UPG_UBOOT_SIZE_BACKUP_HEX        0x20000
 #endif