aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
Commit message (Collapse)AuthorAgeFilesLines
* ath79: fix missing watchdog core dependency for hwmon-sch5627David Bauer2020-03-151-0/+1
| | | | | | | | | | | | | Fixes following error uncovered while building ath79/tiny on 5.4: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko See the similar commit e546e6252bb1 ("malta: fix missing watchdog core dependency for hwmon-sch5627") for a detailed explanation. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add correct phy-mode for QCA9563 boardsDavid Bauer2020-03-152-0/+2
| | | | | | | | | | | | | | | The TP-Link RE450 as well as the UniFi AC series missed the phy-mode property. Because of this, the incorrect MII phy-mode from the root dtsi was used. With Kernel 5.4, this leads to problems when used with a AR8033 PHY. The bootloader seems to leave the fiber pages selected. As there's not switch to copper pages happening in at803x_config_init due to the incorrect phy-mode, the new at803x_read_status will interpret the status of the SGMII side as the status of the copper side. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: use downstream ag71xx for Kernel 5.4David Bauer2020-03-1314-178/+37
| | | | | | | | | | | | | | | | | | | The ag71xx driver from Linux 5.4 currently has various shortcomings when used with OpenWrt compared to our downstream version. For example, the upstream driver does not support modifying the ethernet clock and configuring RGMII delays on the MAC side. While we should certainly switch to the upstream driver, the amount of necessary patches would make it cumbersome to work with. It's also highly likely we won't be able to finish patching the upstream driver in time for a Linux 5.4 release. Tested on Siemens WS-AP3610. CC: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: David Bauer <mail@david-bauer.net> Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: make kmod-i2c-core selected by dependent modulesSungbo Eo2020-03-131-4/+4
| | | | | | | | | | | | | | | | | | Currently kmod-i2c-* will not get into images unless kmod-i2c-core is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-hwmon-lm75 - kmod-i2c-gpio - kmod-i2c-gpio-custom - kmod-i2c-mux - kmod-i2c-ralink Signed-off-by: Sungbo Eo <mans0n@gorani.run> [do not touch ar71xx] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WR740N v5Jun Su2020-03-134-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the TP-Link TL-WR740N v5, a clone of the v4 only with a different TPLINK_HWID. It was already supported in ar71xx as well. Specifications: SOC: Atheros AR9331 CPU: 400MHz Flash: 4 MiB RAM: 32 MiB WLAN: Atheros AR9330 bgn Ethernet: 5 ports (100M) Flashing instructions: - Flash factory image from OEM WebUI: openwrt-ath79-tiny-tplink_tl-wr740n-v5-squashfs-factory.bin - Sysupgrade from ar71xx image: openwrt-ath79-tiny-tplink_tl-wr740n-v5-squashfs-sysupgrade.bin Signed-off-by: Jun Su <howard0su@gmail.com> [commit title/message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add back NAND symbols to NAND targetDavid Bauer2020-03-121-0/+3
| | | | | | | | | The NAND config symbols were removed unintentionally while adding support for Linux 5.4. Add the respective symbols for v4.19 as well as v5.4. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: Remove kernel 4.14 supportHauke Mehrtens2020-03-1250-8808/+0
| | | | | | | | | This target was switched to kernel 4.19 more than 6 months ago in commit f342ffd300da ("treewide: kernel: bump some targets to 4.19") and now with kernel 5.4 support being added it gets harder to support kernel 4.14 in addition to kernel 4.19 and 5.4. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: image: move IMAGE_SIZE to image.mkSungbo Eo2020-03-111-1/+1
| | | | | | | | | | IMAGE_SIZE is widely used in many targets. Declare it in the default template to clean up redundant code. This also prevents deriving IMAGE_SIZE unintentionally from the previously defined device. While at it, remove duplicate KERNEL_SIZE declaration. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ath79: fix port order on TP-Link Archer C60 v1/v2Adrian Schmutzler2020-03-111-3/+3
| | | | | | | | | | | The labels on the LAN ports of the TP-Link Archer C60 v1/v2 are actually inverted compared to the ports of the internal switch. Add this information to 02_network. This is the same for to-be-supported v3 of this device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix swapped LAN/WAN MAC address for Archer C60 v1/v2Adrian Schmutzler2020-03-111-2/+2
| | | | | | | | | | | | | | | | The MAC addresses for lan/wan are swapped compared to the vendor firmware. This adjusts to vendor configuration, which is: lan *:7b label wan *:7c label+1 2.4g *:7b label 5g *:7a label-1 Only one address is stored in <&mac 0x8>, corresponding to the label. This has been checked on revisions v1, v2 and v3. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx/ath79: ew-dorin, fix the trigger level for WPS buttonCatrinel Catrinescu2020-03-111-1/+1
| | | | | | | | | Because the WPS button had the wrong trigger level, the failsafe mode was triggered quite often, after this commit: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=27f3f493de Signed-off-by: Catrinel Catrinescu <cc@80211.de>
* kernel: 5.4: move some kconfig options to genericYousong Zhou2020-03-101-6/+0
| | | | | | | | | | | CONFIG_64BIT_TIME=y CONFIG_KASAN_STACK=1 CONFIG_UBSAN_ALIGNMENT=y CONFIG_UNIX_SCM=y CONFIG_DMA_DECLARE_COHERENT=y CONFIG_OF_RESERVED_MEM=y Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* ath79: fix indent for wrapped lines in image/nand.mkAdrian Schmutzler2020-03-071-3/+3
| | | | | | | This applies the common indent (one tab) for the wrapped lines of domywifi_dw33d and glinet_gl-ar750s-nor-nand. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Sitecom WLR-8100Davide Fioravanti2020-03-075-3/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sitecom WLR-8100 v1 002 (marketed as X8 AC1750) is a dual band wireless router. Specification: - Qualcomm Atheros SoC QCA9558 - 128 MB of RAM (DDR2) - 16 MB of FLASH (Macronix MX25L12845EMI-10G - SPI NOR) - 5x 10/100/1000 Mbps Ethernet - 3T3R 2.4 GHz (QCA9558 WMAC) - 3T3R 5.8 Ghz (QCA9880-BR4A) - 1x USB 3.0 (Etron EJ168A) - 1x USB 2.0 - 9x LEDs - 2x GPIO buttons Everything working. Installation and restore procedure tested Installation 1. Connect to one of LAN (yellow) ethernet ports, 2. Open router configuration interface, 3. Go to Toolbox > Firmware, 4. Browse for OpenWrt factory image with dlf extension and hit Apply, 5. Wait few minutes, after the Power LED will stop blinking, the router is ready for configuration. Restore OEM FW (Linux only) 1. Download OEM FW from website (tested with WLR-8100v1002-firmware-v27.dlf) 2. Compile the FW for this router and locate the "mksenaofw" tool in build_dir/host/firmware-utils/bin/ inside the OpenWrt buildroot 3. Execute "mksenaofw -d WLR-8100v1002-firmware-v27.dlf -o WLR-8100v1002-firmware-v27.dlf.out" where: WLR-8100v1002-firmware-v27.dlf is the path to the input file (use the downloaded file) WLR-8100v1002-firmware-v27.dlf.out is the path to the output file (you can use the filename you want) 4. Flash the new WLR-8100v1002-firmware-v27.dlf.out file. WARNING: Do not keep settings. Additional notes. The original firmware has the following button configuration: - Press for 2s the 2.4GHz button: WPS for 2.4GHz - Press for 2s the 5GHz button: WPS for 5GHz - Press for 15s both 2.4GHz and 5GHz buttons: Reset I am not able to replicate this behaviour, so I used the following configuration: - Press the 2.4GHz button: RFKILL (disable/enable every wireless interfaces) - Press the 5GHz button: Reset Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* ath79: add support for Devolo Magic 2 WIFIManuel Giganto2020-03-076-0/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch support Devolo Magic 2 WIFI, board devolo_dlan2-2400-ac. This device is a plc wifi AC2400 router/extender with 2 Ethernet ports, has a G.hn PLC and uses LCMP protocol from Home Grid Forum. Hardware: SoC: AR9344 CPU: 560 MHz Flash: 16 MiB (W25Q128JVSIQ) RAM: 128 MiB DDR2 Ethernet: 2xLAN 10/100/1000 PLC: 88LX5152 (MaxLinear G.hn) PLC Flash: W25Q32JVSSIQ PLC Uplink: 1Gbps MIMO PLC Link: RGMII 1Gbps (WAN) WiFi: Atheros AR9340 2.4GHz 802.11bgn Atheros AR9882-BR4A 5GHz 802.11ac Switch: QCA8337, Port0:CPU, Port2:PLC, Port3:LAN1, Port4:LAN2 Button: 3x Buttons (Reset, wifi and plc) LED: 3x Leds (wifi, plc white, plc red) GPIO Switch: 11-PLC Pairing (Active Low) 13-PLC Enable 21-WLAN power MACs Details verified with the stock firmware: Radio1: 2.4 GHz &wmac *:4c Art location: 0x1002 Radio0: 5.0 GHz &pcie *:4d Art location: 0x5006 Ethernet &ethernet *:4e = 2.4 GHz + 2 PLC uplink --- *:4f = 2.4 GHz + 3 Label MAC address is from PLC uplink OEM SSID: echo devolo-$(grep SerialNumber /dev/mtd1 | grep -o ...$) OEM WiFi password: grep DlanSecurityID /dev/mtd1|tr -d -|cut -d'=' -f 2 Recommendations: Configure and link your PLC with OEM firmware BEFORE you flash the device. PLC configuration/link should remain in different memory and should work straight forward after flashing. Restrictions: PLC link detection to trigger plc red led is not available. PLC G.hn chip is not compatible with open-plc-tools, it uses LCMP protocol with AES-128 and requires different software. Notes: Pairing should be possible with gpio switch. Default configuration will trigger wifi led with 2.4Ghz wifi traffic and plc white led with wan traffic. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.100 2. Download the sysupgrade image and rename it to uploadfile 3. Start a tftp server with the image file in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Allow 1-2 minutes for the first boot. Signed-off-by: Manuel Giganto <mgigantoregistros@gmail.com>
* ath79: add support for DomyWifi DW33DWeiDong Jia2020-03-074-0/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit ports the device from ar71xx to the ath79 target and modifies the partition layout. 1. Firmware is installed to nand flash. 2. Modify the uboot-env parameter to boot from the nand flash. 3. The kernel size is extended to 5M. 4.nor flash retains the oem firmware. oem partition layout dev: size erasesize name mtd0: 00040000 00010000 "u-boot" mtd1: 00010000 00010000 "u-boot-env" mtd2: 00e30000 00010000 "rootfs" mtd3: 00170000 00010000 "kernel" mtd4: 00010000 00010000 "art" mtd5: 00f90000 00010000 "firmware" mtd6: 06000000 00020000 "rootfs_data" mtd7: 02000000 00020000 "backup" new partition layout dev: size erasesize name mtd0: 00040000 00010000 "u-boot" mtd1: 00010000 00010000 "u-boot-env" mtd2: 00fa0000 00010000 "oem-firmware" mtd3: 00010000 00010000 "art" mtd4: 00500000 00020000 "kernel" mtd5: 05b00000 00020000 "ubi" mtd6: 02000000 00020000 "oem-backup" MAC address overview: All mac addresses are stored in the art partition. eth0: 0x0 eth1: 0x6 ath9k: 0xc ath10k: 0x12 No valid addresses in 0x1002 and 0x5006. All addresses match the OEM firmware. Install from oem firmware. Enable ssh service: Connect to the router web, click professional, click system-startup, and add dropbear in the local startup input box. Click system-administration, delete ssh-key, and replace your ssh pub key. Restart the router. 1.Upload openwrt firmware to the device scp openwrt-snapshot-r11365-df60a0852c-ath79-nand-domywifi_dw33d-\ squashfs-factory.bin root@192.168.10.1:/tmp 2.modify uboot-env. ssh login to the device: fw_setenv bootcmd 'nboot 0x8050000 0;bootm || bootm 0x9fe80000' Run the fw_printenv command to check if the settings are correct. 3.Write openwrt firmware. ssh login to the device: mtd -r write /tmp/openwrt-snapshot-r11365-df60a0852c-ath79-nand-\ domywifi_dw33d-squashfs-factory.bin /dev/mtd6 The device will restart automatically and the openwrt firmware installation is complete. Restore oem firmware.just erase the kernel partition and the ubi partition. ssh login to the device: mtd erase /dev/mtd4 mtd -r erase /dev/mtd5 Reboot the device Signed-off-by: WeiDong Jia <jwdsccd@gmail.com> [alter flash instruction in commit message] Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: re-add accidentally dropped patch to kernel 5.4Daniel Golle2020-03-064-14/+281
| | | | | | | | Patch 0061-tty-serial-ar933x-uart-rs485-gpio.patch wasn't included when adding support for kernel 5.4. Re-add it and refresh patches. Fixes: 53ab9865c2 ("ath79: add support for kernel 5.4") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* spi: ath79: remove spi-master setup and cleanup assignmentDavid Bauer2020-02-291-0/+28
| | | | | | | | | | | This removes the assignment of setup and cleanup functions for the ath79 target. Assigning the setup-method will lead to 'setup_transfer' not being assigned in spi_bitbang_init. Also drop the redundant cleanup assignment, as this also happens in spi_bitbang_init. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: Make upstream ag71xx driver workHauke Mehrtens2020-02-285-4/+183
| | | | | | | | * Fix some bugs in the driver * Add missing clock and reset references in dts * Rename mdio-bus to mdio so the driver find it Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: add support for kernel 5.4David Bauer2020-02-2846-7/+3812
| | | | | | | | | | | | | | | Signed-off-by: David Bauer <mail@david-bauer.net> [refreshed] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> * Sync the patches with the changes done for kernel 4.19 * Use KERNEL_TESTING_PATCHVER * Refresh the configuration * Fix multiple compile bugs in the patches * Only add own ag71xx files for kernel 4.19 and use upstream version for 5.4. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath79: also reduce spi-max-frequency for buffalo_wzr-hp-ag300hAdrian Schmutzler2020-02-271-2/+2
| | | | | | | | | | | In accordance to ebc090e420d1 ("ath79: reduce spi-max-frequency to 50 MHz") this also reduces the spi-max-frequency to 50 MHz for the last remaining device with higher frequency in ath79. This will save us from having a single special case that will require adjustment when the spi driver for this device is changed in the future. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: reduce spi-max-frequency to 50 MHzAdrian Schmutzler2020-02-276-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The introduction of ebf0d8dadeca ("ath79: add new ar934x spi driver") made the SPI memory unusable on devices with very high spi-max-frequency (104 MHz). Here's how the actual clock is calculated: (AHB_CLK/((CLOCK_DIVIDER+1)*2)) where AHB_CLK is a fixed clock (e.g. 200MHz on AR9331) and CLOCK_DIVIDER is the parameter we can set. Highest clock according to this formula is AHB_CLK/2 (100MHz, but that didn't work in device tests). The next possible value is AHB_CLK/4 (50MHz). Speeds between 50 MHz and 100 MHz will be rounded down, so using values higher than 50 MHz does not provide any benefit. Consequently, this patch reduces spi-max-frequency for all devices with values higher than 50 MHz to 50 MHz (effectively, this only affects devices with 104 MHz before this patch). Tested on GL.inet GL-AR150: Boot fails with 104 MHz but is successful with both 50 MHz and 80 MHz (fast-read), where the latter two yield identical read speeds. Fixes: ebf0d8dadeca ("ath79: add new ar934x spi driver") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix spi-max-frequency for wAP G-5HacT2HnDRoger Pueyo Centelles2020-02-271-1/+1
| | | | | | | | | | The introduction of ebf0d8dade (ath79: add new ar934x spi driver) made the SPI memory unusable. Reducing the spi-max-frequency to a smaller value makes it work again. Tested on two MikroTik RouterBOARD wAP G-5HacT2HnD devices. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ath79: add support for MikroTik RouterBOARD 922UAGS-5HPacDRoger Pueyo Centelles2020-02-268-3/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch ports support for the MikroTik RouterBOARD 922UAGS-5HPacD with a built-in 802.11ac High-Power radio (31dBm), which was already available in the ar71xx target. See https://mikrotik.com/product/RB922UAGS-5HPacD for more info. Specifications: - SoC: Qualcomm Atheros QCA9558 (720 MHz) - RAM: 128 MB - Storage: 128 MB NAND - Wireless: external QCA9882 802.11a/ac 2x2:2 - Ethernet: 1x 1000/100/10 Mbps, integrated, via AR8031 PHY, passive PoE-in 24V - SFP: 1x host - USB: 1x 2.0 type A - PCIe: 1x Mini slot (also contains USB 2.0 for 3G/LTE modems) - SIM slot: 1x mini-SIM Working: - Board/system detection - SPI and NAND storage - PCIe - USB type A host - Wireless - Ethernet - LEDs (user, phy0) - Reset button - Sysupgrade to/from ar71xx Not supported: - RSSI LEDs - SFP cage Installation methods: - Sysupgrade from ar71xx (it is advisable to use the -n option to wipe any previous settings), or - Boot the initramfs image via TFTP and then flash the sysupgrade image using "sysupgrade -n" Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ath79: add missing reset-gpios for NanoStation Loco M (XW)Roger Pueyo Centelles2020-02-241-0/+1
| | | | | | | | When porting support from ar71xx to ath79, the reset-gpios option was missed. Due to a hardware bug, this would eventually leave the devices with RX-deaf Ethernet PHY. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* kernel: bump 4.19 to 4.19.106Koen Vandeputte2020-02-242-17/+13
| | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 950-0786-leds-pca963x-Fix-open-drain-initialization.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.105Koen Vandeputte2020-02-242-3/+3
| | | | | | | | | | | | | Refreshed all patches. Fixes: - CVE-2013-1798 - CVE-2019-3016 Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.171Koen Vandeputte2020-02-241-1/+1
| | | | | | | | | | | | Refreshed all patches. Fixes: - CVE-2013-1798 Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: fix TP-Link TL-WA901ND v2 PHY stuck in resetDavid Bauer2020-02-231-0/+6
| | | | | | | | | | Some newer bootloaders for the TP-Link TL-WA901ND put the ethernet PHY in reset before loading the kernel, thus the LAN interface is not working in OpenWrt. Clear the reset to restore ethernet functionality. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: remove redundant includes in DTS filesAdrian Schmutzler2020-02-2217-50/+0
| | | | | | | | | Many DTS files contain the same includes again that are already present in the DTSI files they are derived from. Remove those redundant includes in the DTS files. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Teltonika RUT955Daniel Golle2020-02-214-0/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - 550/400/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1 - 2T2R 2,4 GHz (AR9344) - built-in 4G/3G module (example: Quectel EC-25EU) - internal microSD slot (spi-mmc, buggy and disabled for now) - RS232 on D-Sub9 port (Cypress ACM via USB, /dev/ttyACM0) - RS422/RS485 (AR934x high speed UART, /dev/ttyATH1) - analog 0-24V input (MCP3221) - various digital inputs and outputs incl. a relay - 11x LED (4 are driven by AR9344, 7 by 74HC595) - 2x miniSIM slot (can be swapped via GPIO) - 2x RP-SMA/F (Wi-Fi), 3x SMA/F (2x WWAN, GPS) - 1x button (reset) - DC jack for main power input (9-30 V) - debugging UART available on PCB edge connector Serial console (/dev/ttyS0) pinout: - RX: pin1 (square) on top side of the main PCB (AR9344 is on top) - TX: pin1 (square) on bottom side Flash instruction: Vendor firmware is based on OpenWrt CC release. Use the "factory" image directly in GUI (make sure to uncheck "keep settings") or in U-Boot web based recovery. To avoid any problems, make sure to first update vendor firmware to latest version - "factory" image was successfully tested on device running "RUT9XX_R_00.06.051" firmware and U-Boot "3.0.2". Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* serial: ar933x_uart: add rs485 supportDaniel Golle2020-02-211-0/+271
| | | | | | | | | Add support for RS485 tranceiver with transmit/receive switch hooked to a RTS GPIO pin. Use the 'rts-gpios' and 'rs485-rts-active-low' properties as described in devicetree/bindings/serial/rs485.yaml. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ath79: add support for TP-Link TL-WA701ND/730RE/801ND/901ND v1Adrian Schmutzler2020-02-218-1/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the various clones of the TL-WA830RE recently supported in fb99ac6807f2 ("ath79: add support for TP-Link TL-WA830RE v1"): - tplink,tl-wa701nd-v1 - tplink,tl-wa730re-v1 - tplink,tl-wa801nd-v1 - tplink,tl-wa830re-v1 (already supported) - tplink,tl-wa901nd-v1 Since these devices are 100%-clones in ar71xx, this patch adds all of them without run-testing (as this has been done for TL-WA830RE v1). Specifications: - SOC: Atheros AR7240 - CPU: 400MHz - Flash: 4 MiB (Spansion S25FL032P) - RAM: 32 MiB (Zentel A3S56D40FTP-G5) - WLAN: Atheros AR9280 bgn 2x2 - Ethernet: 1 port (100M) Flash instructions: - install from u-boot with tftp (requires serial access) > setenv ipaddr a.b.c.d > setenv serverip e.f.g.h > tftpboot 0x80000000 \ openwrt-ath79-tiny-tplink_tl-waxxxxx-v1-squashfs-factory.bin > erase 0x9f020000 +0x3c0000 > cp.b 0x80000000 0x9f020000 0x3c0000 > bootm 0x9f020000 - flash factory image from OEM WebUI - sysupgrade from ar71xx image Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: correct Siemens WS-AP3610 blocksizeDavid Bauer2020-02-201-0/+1
| | | | | | | With the wrong blocksize, the rootfs was not positioned on the boundary of a block, thus breaking the mtdsplit driver. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add label MAC address for Ubiquiti Picostation M (XM)Adrian Schmutzler2020-02-191-0/+1
| | | | | | | This adds the label MAC address for the Ubiquiti Picostation M (XM). This was overlooked when adding support in the previous patch. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Ubiquiti Picostation M (XM)Adrian Schmutzler2020-02-195-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Ubiquiti Picostation M (XM), which has the same board/LEDs as the Bullet M XM, but different case and antennas. Specifications: - AR7241 SoC @ 400 MHz - 32 MB RAM - 8 MB SPI flash - 1x 10/100 Mbps Ethernet, 24 Vdc PoE-in - External antenna: 5 dBi (USA), 2 dBi (EU) - POWER/LAN green LEDs - 4x RSSI LEDs (red, orange, green, green) - UART (115200 8N1) on PCB Flashing via WebUI: Upload the factory image via the stock firmware web UI. Attention: airOS firmware versions >= 5.6 have a new bootloader with an incompatible partition table! Please downgrade to <= 5.5 _before_ flashing OpenWrt! Refer to the device's Wiki page for further information. Flashing via TFTP: Same procedure as other NanoStation M boards. - Use a pointy tool (e.g., pen cap, paper clip) and keep the reset button on the device or on the PoE supply pressed - Power on the device via PoE (keep reset button pressed) - Keep pressing until LEDs flash alternatively LED1+LED3 => LED2+LED4 => LED1+LED3, etc. - Release reset button - The device starts a TFTP server at 192.168.1.20 - Set a static IP on the computer (e.g., 192.168.1.21/24) - Upload via tftp the factory image: $ tftp 192.168.1.20 tftp> bin tftp> trace tftp> put openwrt-ath79-generic-xxxxx-ubnt_picostation-m-squashfs-factory.bin Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Ubiquiti Nanostation Loco M (XM)Sven Roederer2020-02-195-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the Ubiquiti Nanostation Loco M (XM), which has the same board/LEDs as the Bullet M XM, but different case and antennas. Specifications: - AR7241 SoC @ 400 MHz - 32 MB RAM - 8 MB SPI flash - 1x 10/100 Mbps Ethernet, 24 Vdc PoE-in - NS Loco M2: built-in antenna: 8 dBi; AR9287 - NS Loco M5: built-in antenna: 13 dBi; 2T2R 5 GHz radio - POWER/LAN green LEDs - 4x RSSI LEDs (red, orange, green, green) - UART (115200 8N1) on PCB Flashing via WebUI: Upload the factory image via the stock firmware web UI. Note that only certain firmware versions accept unsigned images. Refer to the device's Wiki page for further information. Flashing via TFTP: Same procedure as other NanoStation M boards. - Use a pointy tool (e.g., pen cap, paper clip) and keep the reset button on the device or on the PoE supply pressed - Power on the device via PoE (keep reset button pressed) - Keep pressing until LEDs flash alternatively LED1+LED3 => LED2+LED4 => LED1+LED3, etc. - Release reset button - The device starts a TFTP server at 192.168.1.20 - Set a static IP on the computer (e.g., 192.168.1.21/24) - Upload via tftp the factory image: $ tftp 192.168.1.20 tftp> bin tftp> trace tftp> put openwrt-ath79-generic-xxxxx-ubnt_nanostation-loco-m-squashfs-factory.bin Tested on NanoStation Loco M2. Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de> Co-developed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move TPLINK_HWID/_HWREV to parent for tplink-safeloaderAdrian Schmutzler2020-02-193-10/+4
| | | | | | | | | | | Several devices with tplink-safeloader contain default values (0x0) for TPLINK_HWID and TPLINK_HWREV in their device definitions. Move those to common tplink-safeloader definition so they do not have to be repeated each time. While at it, set default value for tplink-v1 and tplink-v2 as well. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add gpio4 pinmux on TL-WR841N/ND v8, WR842N v2, MR3420 v2Adrian Schmutzler2020-02-181-4/+8
| | | | | | | | | | | | | | | | | | | | | This adds a pinmux to the shared DTSI for TP-Link TL-WR841N/ND v8, TL-WR842N v2 and TL-MR3420 v2. It is supposed to be the equivalent of: /* config gpio4 as normal gpio function */ ath79_gpio_output_select(TL_MR3420V2_GPIO_USB_POWER,AR934X_GPIO_OUT_GPIO); This allows to enable USB power on these devices. While at it, move the jtag_disable_pins to &gpio node and remove the redundant status=okay there. Tested on TP-Link TL-WR842N v2. Fixes: FS#2753 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Armin Fuerst <armin@fuerst.priv.at>
* ath79: move mikrotik-caldata.sh to target base-filesAdrian Schmutzler2020-02-171-0/+0
| | | | | | | | | | | | | | Mikrotik devices will be found in both generic and nand subtargets. The file mikrotik-caldata.sh, currently used in generic, contains a few lines of code that would need to be duplicated for nand support. Instead of duplicating it, move it to target base-files, as size impact is small and the maintenance gain should outweigh it. This is changed separately to make life easier for the people currently working on Mikrotik NAND support. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Siemens WS-AP3610David Bauer2020-02-166-0/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SoC: Atheros AR7161 RAM: Samsung K4H511638D-UCCC 2x 64M DDR1 SPI: Micron M25P128 (16M) WiFi: Atheros AR9160 bgn Atheros AR9160 an ETH: Broadcom BCM5481 LED: Power (Green/Red) ETH (Green / Blue / Yellow) (PHY-controlled) WiFi 5 (Green / Blue) WiFi 2 (Green / Blue) BTN: Reset Serial: Cisco-Style RJ45 - 115200 8N1 Installation ------------ 1. Download the OpenWrt initramfs-image. Place it into a TFTP server root directory and rename it to 1401A8C0.img. Configure the TFTP server to listen at 192.168.1.66/24. 2. Connect the TFTP server to the access point. 3. Connect to the serial console of the access point. Attach power and interrupt the boot procedure when prompted (bootdelay is 1 second). 4. Configure the U-Boot environment for booting OpenWrt from Ram and flash: $ setenv boot_openwrt 'setenv bootargs; bootm 0xbf080000' $ setenv ramboot_openwrt 'setenv serverip 192.168.1.66; tftpboot; bootm' $ saveenv 5. Load OpenWrt into memory: $ run ramboot_openwrt Wait for the image to boot. 6. Transfer the OpenWrt sysupgrade image to the device. Write the image to flash using sysupgrade: $ sysupgrade -n /path/to/openwrt-sysuograde.bin Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: backport phy reset-controller patchesDavid Bauer2020-02-162-0/+151
| | | | | | | | | | The Siemens WS-AP3610 asserts reset to the ethernet PHY with the reset-register. Backport the necessary patches to de-assert reset when probing the PHY. These patches can be dropped when using kernel 5.4. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for TP-Link TL-WR940N v6Adrian Schmutzler2020-02-134-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TL-WR940N v6 is similar to v3/v4, it just has different LEDs and MAC address assignment. Specification: - 750 MHz CPU - 32 MB of RAM - 4 MB of FLASH - 2.4 GHz WiFi - 4x 10/100 Mbps Ethernet The use of LEDs is based on ar71xx, so blue LED is used for WAN and orange LED for diag (boot/failsafe/etc.). Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.66 2. Download *-factory.bin image and rename it to wr940nv6_tp_recovery.bin 3. Start a tftp server with the image file in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Thanks to Manuel Kock for reviewing and testing this patch. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Manuel Kock <github.web@manu.li>
* ath79: enable forceless sysupgrade from ar71xx on fritz300eAdrian Schmutzler2020-02-131-0/+1
| | | | | | | This adds the ar71xx board name to the SUPPORTED_DEVICES on ath79, so forceless sysupgrade on this device becomes possible. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for TP-Link TL-WA830RE v1Christian Buschau2020-02-116-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ports support for the TL-WA830RE v1 range extender from ar71xx to ath79. Specifications: - SOC: Atheros AR7240 - CPU: 400MHz - Flash: 4 MiB (Spansion S25FL032P) - RAM: 32 MiB (Zentel A3S56D40FTP-G5) - WLAN: Atheros AR9280 bgn 2x2 - Ethernet: 1 port (100M) Flash instructions: - install from u-boot with tftp (requires serial access) > setenv ipaddr a.b.c.d > setenv serverip e.f.g.h > tftpboot 0x80000000 \ openwrt-ath79-tiny-tplink_tl-wa830re-v1-squashfs-factory.bin > erase 0x9f020000 +0x3c0000 > cp.b 0x80000000 0x9f020000 0x3c0000 > bootm 0x9f020000 - flash factory image from OEM WebUI - sysupgrade from ar71xx image The device seems to be a clone of the following devices not yet added to ath79: - tl-wa701nd-v1 - tl-wa730re-v1 - tl-wa801nd-v1 - tl-wa901nd-v1 Signed-off-by: Christian Buschau <christian.buschau@mailbox.org> [make use of ar7240_tplink.dtsi, add note about clones] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: reorganize DTSI for ar7240 TP-Link devicesAdrian Schmutzler2020-02-118-46/+57
| | | | | | | | | | | | | | | | The current set of TP-Link devices with ar7240 SoC all share the same DTSI file. As the latter is very similar to the definition required for the to-be-supported TP-Link TL-WA devices with ar7240, this patch splits the definitions into a shared part for all TP-Link devices (ar7240_tplink.dtsi) and a file containing the specific setup for the present TL-WR devices (ar7240_tplink_tl-wr.dtsi), equivalent to the former ar7240_tplink_tl-wr74xn-v1.dtsi. While at it, remove unused firmware partition label and rename pinmux_switch_led_pins. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: restore pin state on probe for ar934x-spiChuanhong Guo2020-02-101-5/+11
| | | | | | | | | | | | If bootloader doesn't terminate its last spi operation properly before starting kernel, our first transfer in kernel becomes a continuous transfer to that request instead of a new one. Fix this flaw by restoring IOC register, which restored all pin state to default. Fixes: ebf0d8dade ("ath79: add new ar934x spi driver") Reported-by: Russell Senior <russell@personaltelco.net> Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add LED trigger for TL-WR902AC v1 WAN LEDLech Perczak2020-02-071-0/+1
| | | | | | | | | | | Inspired by commit c48b571ad708, add an LED trigger for the WAN LED on top of the TP-Link TL-WR902AC v1. Currently, only the LED on the port itself shows the link state, while the LED on top of the device stays dark. The WAN port of the device is a hybrid LAN/WAN one, hence why the LED at the port was labeled LAN. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* ath79: add support for Atheros AR934x HS UARTDaniel Golle2020-02-072-0/+65
| | | | | | | | | AR934x chips also got the 'old' qca,ar9330-uart in addition to the 'new' ns16550a compatible one. Add support for UART1 clock selector as well as device-tree bindings in ar934x.dtsi to make use of that uart. Reported-by: Piotr Dymacz <pepe2k@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ath79: ar933x_uart: set UART_CS_{RX,TX}_READY_ORIDEDaniel Golle2020-02-071-0/+64
| | | | | | | | | | | | | | | | On AR934x this UART is usually not initialized by the bootloader as it is only used as a secondary serial port while the primary UART is a newly introduced NS16550-compatible. In order to make use of the ar933x-uart on AR934x without RTS/CTS hardware flow control, one needs to set the UART_CS_{RX,TX}_READY_ORIDE bits as other than on AR933x where this UART is used as primary/console, the bootloader on AR934x typically doesn't set those bits. Setting them explicitely on AR933x does not do any harm, so just set them unconditionally. Tested-by: Chuanhong Guo <gch981213@gmail.com Signed-off-by: Daniel Golle <daniel@makrotopia.org>