aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: refresh patchesKoen Vandeputte2019-11-192-4/+4
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* mac80211: backport upstream fixesKoen Vandeputte2019-11-192-0/+77
| | | | | | | This potentially fixes some issues seen on IBSS when interfaces go out of range and then re-appear. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* toolchain/gcc: bump to 7.5.0Koen Vandeputte2019-11-1924-3/+3
| | | | | | | This updates the GCC to the next minor release which fixes +213 bugs. Tested on ARMv6, ARMv7, MIPS R2, x86 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.84Koen Vandeputte2019-11-1929-181/+82
| | | | | | | | | | | | | | | | | | | | | | | | Refreshed all patches. Altered patches: - 950-0748-net-bcmgenet-Workaround-for-Pi-4B-network-issue.patch - 950-0754-Revert-net-bcmgenet-Workaround-for-Pi-4B-network-iss.patch - 902-debloat_proc.patch Remove upstreamed: - 150-MIPS-bmips-mark-exception-vectors-as-char-arrays.patch New symbols: X86_INTEL_MPX X86_INTEL_MEMORY_PROTECTION_KEYS X86_INTEL_TSX_MODE_OFF X86_INTEL_TSX_MODE_ON X86_INTEL_TSX_MODE_AUTO Compile-tested on: cns3xxx, x86_64 Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.154Koen Vandeputte2019-11-1930-256/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Refreshed all patches. Altered patches: - 902-debloat_proc.patch - 040-dmaengine-qcom-bam-Process-multiple-pending-descript.patch - 807-usb-support-layerscape.patch - 809-flexcan-support-layerscape.patch - 816-pcie-support-layerscape.patch Remove upstreamed: - 150-MIPS-bmips-mark-exception-vectors-as-char-arrays.patch - 303-spi-nor-enable-4B-opcodes-for-mx66l51235l.patch New symbols: X86_INTEL_MPX X86_INTEL_MEMORY_PROTECTION_KEYS X86_INTEL_TSX_MODE_OFF X86_INTEL_TSX_MODE_ON X86_INTEL_TSX_MODE_AUTO SGL_ALLOC Compile-tested on: cns3xxx, x86_64 Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.202Koen Vandeputte2019-11-198-13/+13
| | | | | | | | | | | | Refreshed all patches. Altered patches: - 902-debloat_proc.patch Compile-tested on: none Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: fix buttons for TP-Link TL-WDR4900 v2Adrian Schmutzler2019-11-191-2/+13
| | | | | | | TP-Link TL-WDR4900 v2 only has one combined WPS/Reset button, so don't set up an RFKILL for this device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: fix LED setup for TL-WDR4900 v2Adrian Schmutzler2019-11-191-2/+36
| | | | | | | | | | | | | | | | | In ar71xx there is only one combined mach file for Archer C5/C7 and TL-WDR4900 v2. This one uses the same LED struct for all devices, defining "green" LEDs for them. However, WDR4900 uses blue front LEDs, while only C5/C7 uses green ones. Despite, in base-files WDR4900 is actually set up with "blue" for the mentioned LEDs. Thus, this patch creates a separate LED struct for WDR4900, so the LEDs can be set up correctly. Despite, the wlan5g LED is removed as it is controlled by ath9k chip for WDR4900 (in contrast to C5/C7). Note: While front LEDs are blue, USB LEDs (on the back) are green, so colors are mixed intentionally for the WDR4900 v2. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix DTS node names for Ubiquiti XM partitionsAdrian Schmutzler2019-11-191-2/+2
| | | | | | Some node names were inconsistent with the reg property. Fix it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mac80211: Adapt to changes to skb_get_hash_perturb()Hauke Mehrtens2019-11-181-0/+68
| | | | | | | | | | The skb_get_hash_perturb() function now takes a siphash_key_t instead of an u32. This was changed in commit 55667441c84f ("net/flow_dissector: switch to siphash"). Use the correct type in the fq header file depending on the kernel version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* mac80211: brcmfmac: fix PCIe reset crash and WARNINGRafał Miłecki2019-11-183-1/+85
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* base-files: include 'reconf' in help output of 'wifi' commandDaniel Golle2019-11-181-1/+1
| | | | | Reported-by: Dirk Brenken <dev@brenken.org> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: pass console inside bootargs on mt7629John Crispin2019-11-171-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: drop leading + from configJohn Crispin2019-11-171-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* ramips: set uImage name of WeVO 11AC NAS and W2914NS v2Sungbo Eo2019-11-171-0/+2
| | | | | | | | | | | | | The stock firmware and bootloader only accept uImage with names that match certain patterns. This patch enables OpenWrt installation from stock firmware without having to reflash the bootloader or 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>
* ar71xx: fix MAC address setup for TL-WDR4900 v2Adrian Schmutzler2019-11-171-3/+6
| | | | | | | | | | | | The MAC address setup of the TL-WDR4900 v2 is different from the C5/C7. This aligns ar71xx with the setup in ath79: wlan0 (5GHz) : -2 wlan1 (2.4GHz) : -1 eth1 (LAN) : 0 eth0 (WAN) : 1 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remap D-Link DIR-859 A1 WPS button to WPSChristian Lamparter2019-11-161-1/+1
| | | | | | | | The WPS button was mapped to the restart/reset. This patch changes it to emit the KEY_WPS_BUTTON keycode so pressing the WPS button does initiate WPS. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ramips: assign correct key-code to wps buttonsChristian Lamparter2019-11-163-3/+3
| | | | | | | | | | The ASUS WL-330N(3G) and the Edimax RG21S had the reset keycode assigned to the WPS button. This patch changes all three devices to use KEY_WPS_BUTTON in the hopes that this fixes unwanted restarts/ unexpected behavior from the users point of view. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mac80211: detect existing interface before addingDaniel Golle2019-11-161-4/+35
| | | | | | | | | | | | | | | Keep existing wdev when creating new nl80211 interfaces if phy and type match, delete it otherwise. To make this work, also remove left-over debugging function which prevented the return-value of the 'iw' command to be taken into account in mac80211_iw_interface_add(). As 4addr-mode (WDS) was setup during interface creation for station interfaces, also set it after interface creation to make sure an existing sta interface ends up with the right mode. Fixes: a5bc9787d4 ("mac80211: add support for dynamically reconfiguring wifi") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* Revert "mac80211: restore mac80211_interface_cleanup()"Daniel Golle2019-11-161-16/+0
| | | | | | This reverts commit 000b7687bc50be5b0f1161f4bf8ceb85c495c395. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ath79: fix firmware partition attributes for GL-AR300M16 and -LiteJeff Kletsky2019-11-162-0/+10
| | | | | | | | | | | | | | | | | | | During the introduction of the ath79/nand images for the GL-AR300M series the firmware partition label and compatible were altered, but the necessary adjustments have not been made for the GL-AR300M16 and the GL-AR300M-Lite. This will result in a non-bootable partition setup for these devices. This patch adds the necessary definitions to those two devices. Fixes: 55e6c903ae20 ("ath79: GL-AR300M: provide NAND support; increase to 4 MB kernel") Fixes: b591cabd3989 ("ath79: add GL.iNet GL-AR300M16 as NOR-only board") Signed-off-by: Jeff Kletsky <git-commits@allycomm.com> [extend commit message, alter commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mediatek: drop accidentially commited fileJohn Crispin2019-11-151-534/+0
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: fix bootup problem on mt7629 EVBJohn Crispin2019-11-153-0/+728
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* ath79: fix sysupgrade from ar71xx for WNDR3700 V2 and WNDR3800(CH)Adrian Schmutzler2019-11-141-3/+3
| | | | | | | | | | | ar71xx has just one board name "wndr3700" for WNDR3700 V1/V2, WNDR3800 and WNDR3800CH, whereas ath79 provides separate images for the boards. So, update SUPPORTED_DEVICES to store the correct ar71xx board names. Fixes: FS#2510 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Netgear WNDR3700v4Paul Blazejowski2019-11-146-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds ath79 support for Netgear WNDR3700v4. Router was previously supported by ar71xx target only. Note: device requires 'ar934x-nand' driver in kernel. Specification ============= * Description: Netgear WNDR3700v4 * Loader: U-boot * SOC: Atheros AR9344 (560 MHz) * RAM: 128 MiB * Flash: 128 MiB (NAND) - U-boot binary: 256 KiB - U-boot environment: 256 KiB - ART: 256 KiB - POT: 512 KiB - Language: 2 MiB - Config: 512 KiB - Traffic Meter: 3 MiB - Firmware: 25 MiB - ART Backup: 256 KiB - Reserved: 96 MiB * Ethernet: 5 x 10/100/1000 (4 x LAN, 1 x WAN) (AR8327) * Wireless: - 2.4 GHz b/g/n (internal) - 5 GHz a/n (AR9580) * USB: yes, 1 x USB 2.0 * Buttons: - Reset - WiFi (rfkill) - WPS * LEDs: - Power (amber/green) - WAN (amber/green) - WLAN 2G (green) - WLAN 5G (blue) - 4 x LAN (amber/green) - USB (green) - WPS (amber/green) * UART: 4-pin connector JP1, 3.3V (Vcc, TX, RX, GND), 115200 8N1 * Power supply: DC 12V 2.5A * MAC addresses: LAN=WLAN2G on case label, WAN +1, WLAN5G +2 Installation ============ * TFTP recovery * TFTP via U-boot prompt * sysupgrade * Web interface Note about partitioning: firmware partition offset (0x6c0000) is hardcoded into vendor's u-boot, so this partition cannot be moved and resized to include Netgear-specific flash areas (pot, language, config, traffic_meter) not used by OpenWrt. Test build configuration ======================== CONFIG_TARGET_ath79=y CONFIG_TARGET_ath79_nand=y CONFIG_TARGET_ath79_nand_DEVICE_netgear_wndr3700-v4=y CONFIG_ALL_KMODS=y CONFIG_DEVEL=y CONFIG_CCACHE=y CONFIG_COLLECT_KERNEL_DEBUG=y CONFIG_IMAGEOPT=y Signed-off-by: Paul Blazejowski <paulb@blazebox.homeip.net>
* ath79: split dts file for Netgear WNDR4300Michal Cieslakiewicz2019-11-142-285/+291
| | | | | | | Move board configuration to dtsi file in preparation for WNDR3700v4 router support. Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* ath79: fix indent in TP-Link TL-WDR4900 v2 DTSAdrian Schmutzler2019-11-141-1/+1
| | | | Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: improve common DTSI name for TP-Link Archer C5, C7 v1/v2Adrian Schmutzler2019-11-144-3/+3
| | | | | | | | As the former qca9558_tplink_archer-c7.dtsi is also used for Archer C5 v1 this patch removes the number from the DTSI name to indicate that. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* fwtool: update to latest Git headPetr Štetiar2019-11-141-3/+3
| | | | | | 8f7fe925ca20 cmake: use extra compiler warnings only on gcc6+ Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uci: update to latest Git headPetr Štetiar2019-11-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | 8dd50da20de0 lua: fix error handling a2cab3b088a2 ucimap: fix possible use of memory after it is freed 9cf978bc7964 delta: prevent possible null pointer use 7736f497d2d9 cli: remove unused variable assigment 39093f3b040d lua: fix memory leak in set method 19ceff323f1e lua: fix memory leak in changes method 18049a84fe40 tests: add cram based unit tests 2b549cc050de lua: fix copy&paste in error string f5dd5217d627 cli: fix realloc issue spotted by cppcheck af59f86a0db9 iron out all extra compiler warnings 1637d2918692 tests: shunit2: run all tests under Valgrind by default c1af73bfb023 cmake: enable extra compiler checks be69504e3666 cmake: build Lua module only if enabled 38a2f12ec5ab tests: shunit2: fix issues reported by shellcheck 266fc9e94c1e add initial GitLab CI support 17d6144a49c6 tests: shunit2: make it working under CMake a6e8bbefd860 cmake: add unit testing option and shunit2 tests 0ca93fec701a test: move shunit2 tests under standalone subdirectory Signed-off-by: Petr Štetiar <ynezz@true.cz>
* libnl-tiny: update to latest Git headPetr Štetiar2019-11-141-3/+3
| | | | | | | | 0219008cc876 remove never used err variable assignment disliked by scan-build 7ce813fcd667 silence use after the free clang analyzer warning 1f73b6a8e678 use offsetof macro to make scan-build happy Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: prereq: add support for Python 3.8Thomas Weißschuh2019-11-141-0/+2
| | | | | | | | Add support for Python 3.8 which was released Oct. 14, 2019. Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de> [added missing commit description, simplified version check] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: prereq: simplify Python 3 version checksPetr Štetiar2019-11-141-6/+6
| | | | | | We don't need to check if python3.5 binary is actually Python 3.5+. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* base-files: rc.common: fix missing EXTRA_HELP textsPeter Stadler2019-11-142-2/+2
| | | | | | | | | | | | | | | Commit ed5b9129d7a4 ("base-files: implement generic service_running") has added EXTRA_HELP variable, thus overriding already available EXTRA_HELP text available in other init scripts, resulting in the missing help text from services like dropbear for example. So fix this regression by appending EXTRA_HELP text provided by the other init scripts into the one provided by the script itself. Fixes: ed5b9129d7a4 ("base-files: implement generic service_running") Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at> [commit title/description facelift, fixes tag, fixed From:, pkg bump] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: remove obsolete OF PCI related config symbolsPetr Štetiar2019-11-141-3/+0
| | | | | | | | | | | | Those symbols were removed in kernel 4.16: commit 4670d610d59233b017a6ea1fa25bbf06dabbff42 Author: Rob Herring <robh@kernel.org> PCI: Move OF-related PCI functions into PCI core Fixes: FS#2588 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel-build: fix kernel_menuconfig breakage by forcing YACCPetr Štetiar2019-11-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 965f341aa9fd ("build: fix host menu config targets using ncurses") has moved host's path with pkg-config (usually /usr/bin) at the first place in PATH variable, which is now causing issues with bison as BISON_PKGDATADIR points into STAGING_DIR_HOST, but the actual bison used is the one under host PATH (usually /usr/bin/bison), leading to the following strange failures: $ make target/linux/clean kernel_menuconfig V=sc export MAKEFLAGS= ;make -C /somewhere/linux-4.19.81 menuconfig make -f ./scripts/Makefile.build obj=scripts/kconfig menuconfig ... bison -oscripts/kconfig/zconf.tab.c -t -l scripts/kconfig/zconf.y staging_dir/host/bin/m4: cannot open `staging_dir/host/share/bison/bison.m4': No such file or directory staging_dir/host/bin/m4: cannot open `staging_dir/host/share/bison/c-skel.m4': No such file or directory ... gcc -Wp,-MD,scripts/kconfig/.zconf.tab.o.d <...snip...> -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c gcc: error: scripts/kconfig/zconf.tab.c: No such file or directory gcc: fatal error: no input files Fix this by forcing usage of bison under STAGING_DIR_HOST/bin via YACC make variable. Cc: Thomas Albers <thomas.gameiro@gmail.com> Cc: Stijn Tintel <stijn@linux-ipv6.be> Cc: Eneas U de Queiroz <cotequeiroz@gmail.com> Tested-by: Ivan Revyakin <LovingFox@GMail.com> Tested-by: Thomas Albers <thomas.gameiro@googlemail.com> Ref: https://forum.openwrt.org/t/bpi-r64-kernel-4-19-kernel-menuconfig-error Fixes: 965f341aa9fd ("build: fix host menu config targets using ncurses") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: fix typo in fb-sys-fops autoloadSungbo Eo2019-11-141-1/+1
| | | | | | | AutoLoad parameter must match the exact kernel module name. Fix it. Fixes: 125f1ce9ad0c ("kernel: video: add DRM core and IMX DRM support for HDMI/LVDS") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ath79: include rssileds package for ubnt devices with LEDsRoger Pueyo Centelles2019-11-141-3/+8
| | | | | | | | | | | | | Some Ubiquiti devices had the RSSI LEDs configured in 01_leds but were missing the rssileds package, while others that don't have RSSI LEDS had the package included. This commit includes the rssileds package only for those devices that need it. Tested on a NanoStation M XW. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* mac80211: restore mac80211_interface_cleanup()Daniel Golle2019-11-141-0/+16
| | | | | | | | | | Changes introduced for dynamic wifi reconfiguration left behind unmanaged interface types. Restore parts of the old function to also clean (unencrypted, non-DFS) mesh and ad-hoc interfaces. Fixes: a5bc9787d4 ("mac80211: add support for dynamically reconfiguring wifi") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ath79: GL-AR750S: provide NAND support; increase kernel to 4 MBJeff Kletsky2019-11-1411-56/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL.iNet GL-AR750S has been supported by the ar71xx and ath79 platforms with access to its 16 MB NOR flash, but not its 128 MB SPI NAND flash. This commit provides support for the NAND through the upstream SPI-NAND framework. At this time, the OEM U-Boot appears to only support loading the kernel from NOR. This configuration is preserved as this time, with the glinet,gl-ar750s-nand name reserved for a potential, future, NAND-only boot. The family of GL-AR750S devices on the ath79 platform now includes: * glinet,gl-ar750m-nor-nand "nand" target * glinet,gl-ar750m-nor "nand" target (NAND-aware) NB: This commit increases the kernel size from 2 MB to 4 MB "Force-less" sysupgrade is presently supported from the current versions of following NOR-based firmwre images to the version of glinet,gl-ar750s-nor firmware produced by this commit: * glinet,gl-ar750s -- OpenWrt 19.07 ar71xx * glinet,gl-ar750s -- OpenWrt 19.07 ath79 Users who have sucessfully upgraded to glinet,gl-ar750m-nor may then flash glinet,gl-ar750m-nor-nand with sysupgrade to transtion to the NAND-based variant. Other upgrades to these images, including directly to the NAND-based glinet,gl-ar750s-nor-nand firmware, can be accomplished through U-Boot. NB: See "ath79: restrict GL-AR750S kernel build-size to 2 MB" which enables flashing of NAND factory.img with the current GL-iNet U-Boot, "U-Boot 1.1.4-gcf378d80-dirty (Aug 16 2018 - 07:51:15)" The GL-AR750S OEM U-Boot allows upload and flashing of either NOR firmware (sysupgrade.bin) or NAND firmware (factory.img) through its HTTP-based GUI. Serial connectivity is not required. The glinet,gl-ar750s-nor and glinet,gl-ar750s-nor-nand images generated after this commit flash each other directly. This commit changes the control of the USB VBUS to gpio-hog from regulator-fixed introduced by commit 0f6b944c92. This reduces the compressed kernel size by ~14 kB, with no apparent loss of functionality. No other ath79-nand boards are using regulator-fixed at this time. Note: mtd_get_mac_binary art 0x5006 does not return the proper MAC and the GL.iNet source indicates that only the 0x0 offset is valid The ar71xx targets are unmodified. Cc: Alexander Wördekemper <alexwoerde@web.de> Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ath79: add GL.iNet GL-AR300M16 as NOR-only boardJeff Kletsky2019-11-144-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL.iNet GL-AR300M series of devices includes variants without NAND and only the 16 MB NOR flash. These include the GL-AR300M16 and the GL-AR300M-Lite (already with its own board name). This board-name addition provides disambiguation from the NAND-bearing GL-AR300M devices, both for OpenWrt code and for end users. Kernel and firmware support for NAND and UBI will add ~320 kB to the overall firmware size at this time. This NOR-only option continues to provide more compact firmware for both the GL-AR300M16 as well as those who wish to use it as an alternate or primary, NOR-resident firmware on the GL-AR300M. The ar71xx targets are unmodified. Installation ------------ Install through OEM U-Boot (HTTP-based) or `sysupgrade --force` when booted from NOR and running OEM or OpenWrt, NOR-based firmware. As one of the intentions is disambiguation from NAND-bearing units, users who have flashed this firmware onto a device with NAND would need to use U-Boot or `sysupgrade --force` to flash firmware that again supports NAND. There are no additional SUPPORTED_DEVICES as it is not possible to determine if a device does or does not have NAND based on either the OEM's or OpenWrt's board names prior to this patch. Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ath79: GL-AR300M: provide NAND support; increase to 4 MB kernelJeff Kletsky2019-11-1411-54/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL.iNet GL-AR300M has been supported by the ar71xx and ath79 platforms with access to its 16 MB NOR flash, but not its 128 MB SPI NAND flash. This commit provides support for the NAND through the upstream SPI-NAND framework. Devices with both NOR and NAND flash can support independent firmware on each, with U-Boot able to boot from either. The OEM U-Boot will fall back to the NOR firmware after three "unsuccessful" boots. The family of GL-AR300M devices on the ath79 platform now includes: * glinet,gl-ar300m-lite "generic" target, NOR-only board * glinet,gl-ar300m-nand "nand" target * glinet,gl-ar300m-nor "nand" target (NAND-aware) NB: This commit increases the kernel size from 2 MB to 4 MB "Force-less" sysupgrade is presently supported from the current versions of following NOR-based firmwre images to the version of glinet,gl-ar300m-nor firmware produced by this commit: * gl-ar300m -- OEM v3 NOR ar71xx (openwrt-ar300m16-*.bin) * gl-ar300m -- OpenWrt 18.06 ar71xx * gl-ar300m -- OpenWrt 19.07 ar71xx Other upgrades to these images should be performed through U-Boot. The GL-AR300M OEM U-Boot allows upload and flashing of either NOR firmware (sysupgrade.bin) or NAND firmware (factory.img) through its HTTP-based GUI. Serial connectivity is not required. The glinet,gl-ar300m-nand and glinet,gl-ar300m-nor images generated after this commit should safely flash each other using sysupgrade. The boot counter is implemented by the OEM using u-boot-env. At this time, it does not appear that the switch on the side of the unit can be used to select NOR vs. NAND boot and the fail-over is only from NAND to NOR. To save flash wear, it is only reset when running the glinet,gl-ar300m-nand firmware. NAND-specific base-files are used to remove impact on existing generic and tiny targets. As there is now no "generic" build appropriate for the GL-AR300M16, (or for users of the GL-AR300M that do not need access to NAND) it will be introduced in a subsequent commit. Note: `mtd_get_mac_binary art 0x6` does not return the proper MAC and the GL.iNet source indicates that only the 0x0 offset is valid The ar71xx targets are unmodified. Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ath79: prepare NAND subtarget for upstream support of SPI NANDJeff Kletsky2019-11-142-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | Linux 4.19 supplies the upstream spi-nand framework, permitting porting and support of boards with SPI NAND. * Adjusted nand/target.mk to provide FEATURES += squashfs nand * Updated config-default to provide current MTD and UBI support Defaults selected for: CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_LIMIT=20 # CONFIG_MTD_UBI_FASTMAP is not set # CONFIG_MTD_UBI_GLUEBI is not set The bad-block reservation limit technically should be 21 for Paragon SPI NAND but most other devices in the class are 20 blocks per Gbit. In Linux 5.2 this is specified on a per-chip basis through NAND_MEMORG Contents adjusted to remove declarations provided at the target level by commit 08a134820f5 (Oct 23, 2019) ath79: enable PCI for whole target Signed-off-by: Jeff Kletsky <git-commits@allycomm.com> Tested-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
* uboot-envtools: ramips: add support for ALFA Network Quad-E4GPiotr Dymacz2019-11-141-0/+1
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: add support for ALFA Network Quad-E4GPiotr Dymacz2019-11-146-11/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network Quad-E4G is a universal Wi-Fi/4G platform, which offers three miniPCIe (PCIe, USB 2.0, SIM) and a single M.2 B-key (dual-SIM, USB 3.0) slots, RTC and five Gigabit Ethernet ports with PoE support. Specification: - MT7621A (880 MHz) - 256/512 MB of RAM (DDR3) - 16/32+ MB of FLASH (SPI NOR) - optional second SPI flash (8-pin WSON/SOIC) - 1x microSD (SDXC) flash card reader - 5x 10/100/100 Mbps Ethernet, with passive PoE support (24 V) in LAN1 - optional 802.3at/af PoE module for WAN - 3x miniPCIe slot (with PCIe and USB 2.0 buses, micro SIM and 5 V) - 1x M.2/NGFF B-key 3042 (USB 3.0/2.0, mini + micro SIM) - RTC (TI BQ32002, I2C bus) with backup battery (CR2032) - external hardware watchdog (EM Microelectronic EM6324) - 1x USB 2.0 Type-A - 1x micro USB Type-B for system serial console (Holtek HT42B534) - 11x LED (5 for Ethernet, 5 driven by GPIO, 1x power indicator) - 3x button (reset, user1, user2) - 1x I2C (4-pin, 2.54 mm pitch) header on PCB - 4x SIM (6-pin, 2.00 mm pitch) headers on PCB - 2x UART2/3 (4-pin, 2.54 mm pitch) headers on PCB - 1x mechanical power switch - 1x DC jack with lock (24 V) Other: - U-Boot selects default SIM slot, based on value of 'default_sim' env variable: '1' or unset -> SIM1 (mini), '2' -> SIM2 (micro). This board has additional logic circuit for M.2 SIM switching. The 'sim-select' will work only if both SIM slots are occupied. Otherwise, always slot with SIM inside is selected, no matter 'sim-select' value. - U-Boot enables power in all three miniPCIe and M.2 slots before loading the kernel - this board supports 'dual image' feature (controlled by 'dual_image' U-Boot environment variable) - all three miniPCIe slots have additional 5 V supply on pins 47 and 49 - the board allows to install up to two oversized miniPCIe cards (vendor has dedicated MediaTek MT7615N/D cards for this board) - this board has additional logic circuit controlling PERSTn pins inside miniPCIe slots. By default, PERSTn (GPIO19) is routed to all miniPCIe slots but setting GPIO22 to high allows PERSTn control per slot, using GPIO23-25 (value is inverted) You can use the 'sysupgrade' image directly in vendor firmware which is based on OpenWrt (make sure to not preserve settings - use 'sysupgrade -n -F ...' command). Alternatively, use web recovery mode in U-Boot: 1. Power the device with reset button pressed, the modem LED will start blinking slowly and after ~3 seconds, when it starts blinking faster, you can release the button. 2. Setup static IP 192.168.1.2/24 on your PC. 3. Go to 192.168.1.1 in browser and upload 'sysupgrade' image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: mt7621: refresh kernel configPiotr Dymacz2019-11-141-2/+2
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: provide label MAC for ALFA Network Tube-E4GPiotr Dymacz2019-11-141-0/+1
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* uboot-envtools: ramips: add support for ALFA Network R36M-E4GPiotr Dymacz2019-11-131-0/+1
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: add support for ALFA Network R36M-E4GPiotr Dymacz2019-11-136-8/+244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network R36M-E4G is a dual-SIM, N300 Wi-Fi, compact size platform based on MediaTek MT7620A WiSoC. This product is designed for operation with 4G modem (can be bought in bundle with Quectel EC25, EG25 or EP06) but supports also Wi-Fi modules (miniPCIe slot has USB and PCIe buses). Specification: - MT7620A (580 MHz) - 64/128/256 MB of RAM (DDR2) - 16/32+ MB of FLASH (SPI NOR) - 2x 10/100 Mbps Ethernet, with passive PoE support (24 V) - 2T2R 2.4 GHz (MT7620A), with ext. LNA (RFFM4227) - 1x miniPCIe slot (with PCIe and USB 2.0 buses and optional 5 V) - 2x SIM slot (mini, micro) with detect and switch driven by GPIO - 2x u.fl antenna connectors (for Wi-Fi) - 8x LED (7 driven by GPIO) - 2x button (reset, wifi) - 2x UART (4-pin/2.54 mm pitch, 10-pin/1.27 mm pitch) headers on PCB - 1x I2C (4-pin, 1.27 mm pitch) header on PCB - 1x LED (8-pin, 1.27 mm pitch) header on PCB - 1x DC jack with lock (12 V) Other: - there is a dedicated, 4-pin connector for optional RTC module (Holtek HT138x) with 'enable' input, not available at the time of preparing support for this board - miniPCIe slot supports additional 5 V supply on pins 47 and 49 but a jumper resistor (R174) is not installed by default - U-Boot selects default SIM slot, based on value of 'default_sim' env variable: '1' or unset -> SIM1 (mini), '2' -> SIM2 (micro). This will work only if both slots are occupied, otherwise U-Boot will always select slot with SIM card inside (user can override it later, in user-space) - U-Boot resets the modem, using PERSTn signal, before starting kernel - this board supports 'dual image' feature (controlled by 'dual_image' U-Boot environment variable) Flash instruction: You can use the 'sysupgrade' image directly in vendor firmware which is based on OpenWrt (make sure to not preserve settings - use 'sysupgrade -n -F ...' command). Alternatively, use web recovery mode in U-Boot: 1. Power the device with reset button pressed, the modem LED will start blinking slowly and after ~3 seconds, when it starts blinking faster, you can release the button. 2. Setup static IP 192.168.1.2/24 on your PC. 3. Go to 192.168.1.1 in browser and upload 'sysupgrade' image. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: support dual image feature on ALFA Network boardsPiotr Dymacz2019-11-134-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | New U-Boot version for MediaTek MT76x8/MT762x based ALFA Network boards includes support for a 'dual image' feature. Users can enable it using U-Boot environment variable 'dual_image' ('1' -> enabled). When 'dual image' feature is enabled, U-Boot will modify DTB and divide the original 'firmware' flash area into two, equal in size and aligned to 64 KB partitions: 'firmware' and 'backup'. U-Boot will also adjust size of 'firmware' area to match installed flash chip size. U-Boot will load kernel from active partition which is marked with env variable 'bootactive' ('1' -> first partition, '2' -> second partition) and rename both partitions accordingly ('firmware' <-> 'backup'). There are 3 additional env variables used to control 'dual image' mode: - bootlimit - maximum number of unsuccessful boot tries (default: '3') - bootcount - current number of boot tries - bootchanged - flag which informs that active partition was changed; if it is set and 'bootcount' reaches 'bootlimit' value, U-Boot will start web-based recovery which then updates both partitions with provided image Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>