aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* x86: Add missing kernel option CONFIG_X86_DECODER_SELFTESTHauke Mehrtens2020-02-222-0/+2
| | | | | | | | | This option has now a different dependency and can be activated, set a default value. Fixes: 20b5a4ca01ca ("kernel: bump 4.19 to 4.19.101") Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com> Tested-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* kirkwood: do not expose status LED to user config by defaultAdrian Schmutzler2020-02-221-23/+0
| | | | | | | | | | | | So far, the state of status LEDs is set up in 01_leds for many devices in kirkwood target. As those LEDs are also controlled by diag.sh, exposing them to the user via uci config by default seems not helpful and might even have confusing results for the user. Thus, remove the ucidef_set_led_default setup for power/status LED, but do not touch the rest where user control is actually a feature. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: set default state for status LEDs in device treeAdrian Schmutzler2020-02-2226-50/+78
| | | | | | | | | | This adds the default-state = "on"; statement for the power or primary status LED in DTS on kirkwood. This will ensure that this LED will be lit up very early in the boot process (i.e. before diag.sh is executed) and thus will provide an additional hint to the user when problems arise during early boot process. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: add diag LEDs for ZyXEL NSA325Adrian Schmutzler2020-02-222-0/+60
| | | | | | | This device has had no diag LEDs set up so far, so let's just add them. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kirkwood: use generic diag.shPawel Dembicki2020-02-2225-113/+542
| | | | | | | | | | | | | | | | | | This commit removes the target-specific diag.sh script. This way, the generic one is used for the target, which uses DT-aliases to specify the LEDs used. Generic diag.sh allow to use different LEDs to indicate different states. Non-red status LEDs for indicating boot and a running system. Where possible, the red or orange LEDs are used to indicate failsafe mode and a running upgrade. Compile-tested: all target devices. Run-tested: CheckPoint L-50 Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [remove unrelated cosmetic changes, rename some labels, add pogo_e02] 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>
* ramips: fix HiWiFi HC5761A USB portDENG Qingfang2020-02-211-1/+12
| | | | | | Export GPIO 41 to power USB port Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: gsw_mt7621: disable PORT 5 MAC RX/TX flow control by defaultPetr Štetiar2020-02-201-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | Looking at the current upstream driver implementation, it seems like the TX/RX flow control is enabled only if the flow control pause option is resolved from the device/link partner advertisements (or otherwise set). On the other hand, our current in-tree driver force enables TX/RX flow control by default, thus possibly leading to TX timeouts if the other end sends pause frames (which are not properly handled?): WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x1ac/0x324 NETDEV WATCHDOG: eth0 (mtk_soc_eth): transmit queue 0 timed out Disabling the flow control on PORT 5 MAC seems to fix this issues as the pause frames are then filtered out. While at it, I'm removing the if condition completely as suggested, since this code is run only on mt7621 SoC, so there is no need to check for the silicon revisions. Ref: https://lists.openwrt.org/pipermail/openwrt-devel/2017-November/009882.html Ref: https://forum.openwrt.org/t/mtk-soc-eth-watchdog-timeout-after-r11573/50000/12 Suggested-by: Felix Fietkau <nbd@nbd.name> Reported-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* 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>
* brcm2708: rename target to bcm27xxAdrian Schmutzler2020-02-14845-18/+18
| | | | | | | | | | | | | | | | | This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
* brcm63xx: rename target to bcm63xxAdrian Schmutzler2020-02-14501-7/+7
| | | | | | | | | | This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* brcm47xx: rename target to bcm47xxAdrian Schmutzler2020-02-1492-9/+9
| | | | | | | | | | This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix HiWiFi HC5761A switch settingsDENG Qingfang2020-02-141-1/+4
| | | | | | HC5761A has only 2 LAN ports Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* sunxi: backport increased SATA/AHCI DMA TX/RX FIFOsAleksander Jan Bajkowski2020-02-131-0/+94
| | | | | | | | | | | | | | | | | | | | | This backports SATA performance boost from 5.3 kernel: Increasing the SATA/AHCI DMA TX/RX FIFOs (P0DMACR.TXTS and .RXTS, ie. TX_TRANSACTION_SIZE and RX_TRANSACTION_SIZE) from default 0x0 each to 0x3 each, gives a write performance boost of 120 MiB/s to 132 MiB/s from lame 36 MiB/s to 45 MiB/s previously. Read performance is above 200 MiB/s. [tested on SSD using dd bs=4K/8K/12K/16K/20K/24K/32K: peak-perf at 12K] dd bs Before MB/s After MB/s Increase 4k 14.4 16.5 15% 64k 34.5 74.4 116% 1M 40.5 93.2 130% Ref: https://forum.openwrt.org/t/sunxi-sata-write-speed-patch/54555/5 Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl> [commit subject & description tweaks] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* 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>
* kernel: swconfig: make compatible with kernel 5.2Mathias Kresin2020-02-121-6/+41
| | | | | | | | | | | | | | | | | | | | | Since kernel 5.2 within netlink messages the NLA_F_NESTED nested flag is validated. But swconfig/swlib doesn't set the flag for SWITCH_ATTR_OP_VALUE_PORTS related netlink messages and assigning ports to vlans via swconfig dev switch0 vlan 1 set ports '0 1 2 3 4 6t' Errors put with "Failed to set attribute: Invalid input data or parameter". Relax the validation rules and use the deprecated functions, to use the same level of validation as it was till kernel 5.1. Depending on who has swconfig related netlink messages implemented, there might be more broken tools out there and we should keep backward compatibility if possible. Signed-off-by: Mathias Kresin <dev@kresin.me> Tested-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: rewrite run_parsers_by_type() to use add_mtd_partitions()Rafał Miłecki2020-02-113-24/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make run_parsers_by_type() more similar to the parse_mtd_partitions(): 1. Use struct mtd_partitions 2. Use add_mtd_partitions() This change simplifies run_parsers_by_type() by: 1. Dropping loop 2. Dropping code getting partition properties (name, offset, size) Moreover this change allows passing more partitions details (e.g. mask_flags). One noticeable change introduced by this patch is adding parsed partitions as children. This results in printing their *relative* offsets which unifies this code with parse_mtd_partitions() behaviour. Before: [ 1.785448] 0x00000018f800-0x000000fb0000 : "rootfs" [ 1.791642] mtd: device 4 (rootfs) set to be root filesystem [ 1.797537] 1 squashfs-split partitions found on MTD device rootfs [ 1.804009] 0x0000004e0000-0x000000fb0000 : "rootfs_data" After: [ 1.785376] 0x00000018f800-0x000000fb0000 : "rootfs" [ 1.791601] mtd: device 4 (rootfs) set to be root filesystem [ 1.797491] 1 squashfs-split partitions found on MTD device rootfs [ 1.803936] Creating 1 MTD partitions on "rootfs": [ 1.808910] 0x000000350800-0x000000e20800 : "rootfs_data" Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ramips: append tail to WF2881 initramfs imageSungbo Eo2020-02-111-0/+8
| | | | | | | | | | | | Stock firmware has a vendor-defined tail at the end of uImage for image validation. This patch enables OpenWrt installation from stock firmware without having to access the UART console. Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* 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>
* brcm63xx: apply updated compatibles for selecting board_infoAdrian Schmutzler2020-02-08102-224/+224
| | | | | | | | | | When changing compatibles in e4ba8c82947e ("brcm63xx: use more systematic names for image and DTS files"), I forgot to update them in kernel patches as well. So, do it now. Fixes: e4ba8c82947e ("brcm63xx: use more systematic names for image and DTS files") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* brcm63xx: be more specific about SOC namesAdrian Schmutzler2020-02-087-6/+12
| | | | | | | This uses the specific SOC names for several devices where the Chip ID was used incorrectly before. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* brcm63xx: align DTS model with Makefile and compatibleAdrian Schmutzler2020-02-0815-18/+18
| | | | | | | | Since the model string in DTS is not required to derive board name anymore, we can now align it with the model name in Makefile and the compatible. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* brcm63xx: use compatible instead of manually setting board nameAdrian Schmutzler2020-02-087-590/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the translation of device model name into a board name in lib/brcm63xx.sh. The latter has been actually totally useless as we have the compatible which can be used instead of the board name (and actually is at other targets like ath79 or ramips). The change requires updating the base-files with the new identifiers based on compatible. With all "board names" replaced by the compatible, we do not need the old scripts to detect board name anymore and can also remove the obsolete treatment of "legacy" devices without DTS, as there are none of those left. So, this patch removes the target-specific board detection and uses the standard procedure in package/base-files/files/lib/preinit/02_sysinfo This also fixes several cases where the board name was not set or evaluated correctly: - asmax,ar1004g in 02_network - telsey,magic in 09_fix_crc/02_network - brcm,bcm96338gw in 02_network - brcm,bcm96338w in 02_network - brcm,bcm96348gw in 02_network - dynalink,rta1025w in 02_network - huawei,echolife-hg520v in 02_network - several cases in diag.sh The following orphaned identifiers are removed from board.d files: - dmv-s0 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* brcm63xx: remove unneeded line break for DEVICE_PACKAGESAdrian Schmutzler2020-02-081-156/+76
| | | | | | | | | In brcm63xx image Makefile DEVICE_PACKAGE definitions are split into multiple lines with no apparent need. Merge them into one line to increase readability and maintainability. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* brcm63xx: use more systematic names for image and DTS filesAdrian Schmutzler2020-02-0891-310/+226
| | | | | | | | | | | | | | | | | | | | This changes brcm63xx target to achieve consistency between image names, device nodes names, compatible, DTS name and device name as much as possible. As with other targets, having consistent names is supposed to make life easier for developers and reduces the number of "variables" in the system. In particular, applying the DTS scheme will make it easier to find the correct file and architecture. DTS files are named based on the increasingly common soc-vendor-model scheme, using hyphens for separation as this seems to be the kernel way. Since the compatible is not used at the moment, I took the chance to also align them with this patch. For the SOC, the already existing CFE_CHIP_ID can be exploiting for all but two devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: fix typos in KernelPackage descriptionSungbo Eo2020-02-081-1/+1
| | | | | | | | | | | | Fixes: ed2839ac4190 ("kernel/modules: add kmod-pmbus-zl6100 module") Fixes: bbcb9de93547 ("Add package for gpio rotary encoder") Fixes: 76854589829a ("package/kernel: package kmod-input-matrixkmap") Fixes: 8bfef353850a ("kernel: rename kmod-switch-rtl8366_smi to kmod-switch-rtl8366-smi to avoid underscores in package names") Fixes: f03bf608b151 ("kernel: Add dummy sound driver") Fixes: dda5d9b78643 ("ramips: rename pwm kernel module") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: fix device name of netis WF-2881 to WF2881Sungbo Eo2020-02-074-11/+10
| | | | | | | | | | | The correct model name of WF-2881 is WF2881 without hyphen. The former used boardnames are not added to SUPPORTED_DEVICES, to make it explicit that the sysupgrade-tar image, which is newly added in the previous commit, should not be used to upgrade from older version. Signed-off-by: Sungbo Eo <mans0n@gorani.run> [adjust commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: use nand_do_upgrade for netis WF-2881Sungbo Eo2020-02-073-3/+19
| | | | | | | | | | WF-2881 sysupgrade image uses UBI rootfs, but still relies on default_do_upgrade. Because of this, config backup is not restored after sysupgrade. It can be fixed by switching to nand_do_upgrade and sysupgrade-tar image. default_do_upgrade does not handle sysupgrade-tar properly, so one should use factory image to upgrade from older version. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* 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>
* bcm53xx: build images for Luxul ABR-4500 and XBR-4500 routersDan Haab2020-02-072-0/+37
| | | | | | | | Luxul ABR-4500 and XBR-4500 devices are wired routers with 5 Ethernet ports and 1 USB 3.0 port. Flashing requires using Luxul firmware 6.4.0 or newer and uploading firmware using "Firmware Update" web UI page. Signed-off-by: Dan Haab <dan.haab@legrand.com>
* ath79: ag71xx: use netif_receive_skb_list on 4.19Chuanhong Guo2020-02-071-1/+19
| | | | | | | | This new function make batch processing of network packets possible, which slightly improves performance. Signed-off-by: Chuanhong Guo <gch981213@gmail.com> Tested-by: Rosen Penev <rosenp@gmail.com>
* kernel: remove duplicate flash chip definitionDaniel Golle2020-02-062-18/+16
| | | | | | | XTX XT25F128A shares it's chip ID with XM25QH128A which got identical features. Hence there it makes no sense to add it to the driver. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ath79: use ar934x-spi for ar933x as wellChuanhong Guo2020-02-061-3/+2
| | | | | | | | ar933x appears to have the same spi controller as ar934x but it's not mentioned in datasheet at all. Use new spi driver instead to gain more flash operating performance. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add new ar934x spi driverChuanhong Guo2020-02-0611-15/+346
| | | | | | | | | | | A new shift mode was introduced since ar934x which has a way better performance than current bitbang driver and can handle higher spi clock properly. This commit adds a new driver to make use of this new feature. This new driver has chipselect properly configured and we don't need cs-gpios hack in dts anymore. Remove them. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: add support for I-O DATA WN-AX1167GR2INAGAKI Hiroshi2020-02-054-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-AX1167GR2 is a 2.4/5 GHz band 11ac router, based on MediaTek MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 128 MiB - Flash : NAND 128 MiB - WLAN : MediaTek MT7615D (2.4/5 GHz, 2T2R) - Ethernet : 5x 10/100/1000 Mbps - Switch : MediaTek MT7621A (MT7530) - LEDs/Input : 2x/3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J5: Vcc, TX, RX, NC, GND - 57600 bps Flash instruction using initramfs image: 1. Boot WN-AX1167GR2 normally 2. Access to "http://192.168.0.1/" and open firmware update page ("ファームウェア") 3. Select the OpenWrt initramfs image and click update ("更新") button to perform firmware update 4. On the initramfs image, perform sysupgrade with squashfs-sysupgrade image 5. Wait ~120 seconds to complete flashing Notes: - configuration in DeviceTree of DBDC (Dual-Band-Dual-Concurrent) mode for MT7615D chip is not supported in mt76 driver - last 0x80000 (512 KiB) in NAND flash is not used on stock firmware - stock firmware requires "customized uImage header" by MSTC (MitraStar Technology Corp.), but U-Boot doesn't - uImage magic (0x0 - 0x3) : 0x434F4D42 (COMB) - header crc32 (0x4 - 0x7) : with data length and data crc32 - image name (0x20 - 0x37) : model ID and firmware versions - data length (0x38 - 0x3b): kernel + rootfs - data crc32 (0x3c - 0x3f) : kernel + rootfs Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run>