aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* ath79: add support for jjPlus JA76PF2Tomasz Maciej Nowak2019-03-186-4/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | jjPlus JA76PF2 (marketed as IntellusPro2) is a network embedded board. Specification SoC: Atheros AR7161 RAM: 64 MB DDR Flash: 16 MB SPI NOR Ethernet: 2x 10/100/1000 Mbps AR8316 LAN (CN11), WAN/PoE (CN6 - close to power barrel connector, 48 V) MiniPCI: 2x LEDS: 4x, which 3 are GPIO controlled Buttons: 2x GPIO controlled Reset (SW1, closer to ethernet ports), WPS (SW2) Serial: 1x (only RX and TX are wired) baud: 115200, parity: none, flow control: none Currently there is one caveat compared to ar71xx target images as the MAC addresses are random on every reboot. To remedy this one needs to store the WAN MAC address in RedBoot configuration. OpenWrt on first boot, after flashing, will read out the address and assign proper ones to both WAN and LAN ports. It is iportant to NOT keep the old configuration when doing sysupgrade from ar71xx. Upgrading from OpenWrt ar71xx image 1. Connect to serial port, 2. Download OpenWrt sysupgrade image to /tmp directory and flash it with: sysupgrade -n <openwrt_sysupgrade_image_name> 3. After writing new image OpenWrt will reboot, now interrupt boot process and enter RedBoot (bootloader) command line by pressing Ctrl+C, 4. Enter following commands (replace variable accordingly), set_mac (to view MAC addresses) alias ethaddr <wan_port_mac_adress> (confirm storing the value by inputting y and pressing Enter) reset 5. Now board should restart and boot OpenWrt with proper MAC addresses. Installation 1. Prepare TFTP server with OpenWrt initramfs image, 2. Connect to WAN ethernet port, 3. Connect to serial port, 4. Power on the board and enter RedBoot (bootloader) command line by pressing Ctrl+C, 5. Enter following commands (replace variables accordingly): set_mac (to view MAC addresses) alias ethaddr <wan_port_mac_address> (confirm storing the value by inputting y and pressing Enter) ip_adress -l <board_ip_adress>/24 -h <tftp_server_ip_adress> load -r -b 0x80060000 <openwrt_initramfs_image_name> exec -c "" 6. Now board should boot OpenWrt initramfs image, 7. Download OpenWrt sysupgrade image to /tmp directory and flash it with: sysupgrade <openwrt_sysupgrade_image_name> 8. Wait few minutes, after the D2 LED will stop blinking, the board is ready for configuration. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: routerstation: prepare to use sysupgrade-tar format imageTomasz Maciej Nowak2019-03-182-5/+23
| | | | | | | | | | | | | | | | | | In PR [1] introducing initial support for Ubiquiti RouterStation boards, Mathias Kresin suggested to replace the combined sysupgrade image with tarball generated by sysupgrade-tar.sh. This would simplify deployment of sysupgrade as the kernel size (needed to update FIS partition) could be simply calculated on the fly instead of reading value from combined image header. Unfortunately this would break sysupgrade compatibility between ar71xx image and ath79 image. Therefore this commit creates migration path to use new sysuprade image, it adds code to accept both of them at this moment. The plan is to keep it until new stable version is released. Then the image recipe should be changed to new format and compatibility code for old image removed. 1. https://github.com/openwrt/openwrt/pull/1237 Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* lantiq: kernel 4.14: fix usb_phy1 reset status bit in vr9.dtsMartin Schiller2019-03-181-1/+1
| | | | | | The status of USB PHY 1 Reset Domain is also in bit 5 of RST_STAT2. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* ath79: qca955x: add wmac migration hotplug eventTomasz Maciej Nowak2019-03-181-0/+32
| | | | | | | | | | | When upgrading from ar71xx target images to ath79 based ones, the integrated wireless interface changes its sysfs path. Therefore the previous enabled wireless interface will be disabled, which can cause false complains about it not working. This commit adds hotplug event which migrates to new path and will keep the wrireless interface enabled after upgrade. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ath79: fix leds description for EnGenius EPG5000Tomasz Maciej Nowak2019-03-181-6/+6
| | | | | | | Align the LEDs deffinition with MACH file present in ar71xx target which has the correct LED functions and colors adescription. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* kernel: bump 4.14 to 4.14.106Koen Vandeputte2019-03-1811-24/+22
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.163Koen Vandeputte2019-03-181-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: ar7 Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: backport flow dissector batman-adv supportFelix Fietkau2019-03-165-0/+2267
| | | | | | Improves performance on multicore systems handling batman-adv traffic Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: ag71xx: Remove ndo_poll_controllerRosen Penev2019-03-131-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | It is unused by default and upstream is trying to remove it as it has negative effects when the driver is under load. Upstream explanation: netpoll: avoid capture effects for NAPI drivers As diagnosed by Song Liu, ndo_poll_controller() can be very dangerous on loaded hosts, since the cpu calling ndo_poll_controller() might steal all NAPI contexts (for all RX/TX queues of the NIC). This capture, showing one ksoftirqd eating all cycles can last for unlimited amount of time, since one cpu is generally not able to drain all the queues under load. It seems that all networking drivers that do use NAPI for their TX completions, should not provide a ndo_poll_controller() : Most NAPI drivers have netpoll support already handled in core networking stack, since netpoll_poll_dev( uses poll_napi(dev) to iterate through registered NAPI contexts for a device. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ar71xx: Speed up mtd extraction in ar71xx.shAdrian Schmutzler2019-03-131-2/+2
| | | | | | | | Although the amount of data read here is smaller than for the caldata, there still might be some speed gain compared to reading bytewise. And there is no harm ... Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: Speed up caldata/eeprom handlingAdrian Schmutzler2019-03-132-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reading and writing to and from flash storage is slowed down enormously by some functions which use a block size of 1. This patch reworks the extraction scripts to be much faster and efficient by reading and writing in possibly one big block. This is based on the initial commit a69e101 for ipq40xx by Christian Lamparter <chunkeey@gmail.com>. Speed comparison @ TP-Link TL-WDR4300 (just manually) results in a time reduction by three orders of magnitude (99.9 %). > time dd if=/dev/mtd3 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096 4096+0 records in 4096+0 records out real 0m 15.85s user 0m 0.06s sys 0m 13.28s > time dd if=/dev/mtd3 of=/lib/firmware/test-fast bs=4096 count=1 skip=4096 iflag=skip_bytes 1+0 records in 1+0 records out real 0m 0.02s user 0m 0.00s sys 0m 0.02s Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Speed up caldata/eeprom handlingAdrian Schmutzler2019-03-132-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reading and writing to and from flash storage is slowed down enormously by some functions which use a block size of 1. This patch reworks the extraction scripts to be much faster and efficient by reading and writing in possibly one big block. This is based on the initial commit a69e101 for ipq40xx by Christian Lamparter <chunkeey@gmail.com>. Speed comparison @ UBNT AC-Mesh (just manually) results in a time reduction by three orders of magnitude (99.9 %). > time dd if=/dev/mtd6 of=/lib/firmware/test-slow bs=1 count=4096 skip=4096 4096+0 records in 4096+0 records out real 0m 16.84s user 0m 0.07s sys 0m 13.54s > time dd if=/dev/mtd6 of=/lib/firmware/test-fast bs=4096 count=1 skip=4096 iflag=skip_bytes 1+0 records in 1+0 records out real 0m 0.02s user 0m 0.00s sys 0m 0.02s Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Rosen Penev <rosenp@gmail.com>
* apm821xx: usb: xhci: fix semicolon.cocci warningskbuild test robot2019-03-132-2/+2
| | | | | | | | | | | | drivers/usb/host/xhci-pci.c:788:2-3: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Fixes: 9e0fd1b52ad1 ("apm821xx: add support for the Netgear Centria N900 WNDR4700/WNDR4720") Signed-off-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [changed subject]
* gemini: Generate padded kernel+rootfs images for DIR-685Linus Walleij2019-03-135-3/+174
| | | | | | | | | | | | | | | | | | | | | We currently generate a kernel that boots from the harddrive in the DIR-685. That's not how we usually do things, so let's augment it to boot from flash and mount the rootfs using squashfs and JFFS2 like everyone else. Partition splitting only work when the partitions are inside of a "partitions" node which is why we have a patch like this (submitted upstream). Another patch drops the rootfs arguments and renames the firmware partition while adding the compatible "wrg" to it so the WRGG parser will kick in. Factory image was tested by bravely reflashing the DIR-685 from stock firmware using the web UI and the serial console boot loader. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* kernel: mtdsplit: wrgg: Support big and little endianLinus Walleij2019-03-131-0/+10
| | | | | | | | | | | | | | | | | | | The WRGG images exist in both big and little endian variants, as can be seen from the image generator in tools/firmware-utils/src/mkwrggimg.c, you either pass the "-b" flag or not. The D-Link DIR-685 is using little endian images so we need to support splitting these. Detect endianness like this: if the kernel entity size gets silly big (bigger than the flash memory) we are probably using the wrong endianness. Example: my kernel of 0x0067ff64 was switched around by wrong endianness and detected as 0x64ff67a0 (the actual size in swapped endianness + header 0xa0). Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: add suport for EnGenius EPG5000Tomasz Maciej Nowak2019-03-135-12/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EnGenius EPG5000 (v1.0.0, marketed as IoT Gateway) is a dual band wireless router. Specification SoC: Qualcomm Atheros QCA9558 RAM: 256 MB DDR2 Flash: 16 MB SPI NOR WIFI: 2.4 GHz 3T3R integrated 5 GHz 3T3R QCA9880 Mini PCIe card Ethernet: 5x 10/100/1000 Mbps QCA8337N USB: 1x 2.0 LEDS: 4x GPIO controlled Buttons: 2x GPIO controlled UART: 4 pin header, starting count from white triangle on PCB 1. VCC 3.3V, 2. GND, 3. TX, 4. RX baud: 115200, parity: none, flow control: none Installation 1. Connect to one of LAN (yellow) ethernet ports, 2. Open router configuration interface, 3. Go to Tools > Firmware, 4. Select 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. Alternative installation 1. Prepare TFTP server with OpenWrt sysupgrade image, 2. Connect to one of LAN (yellow) ethernet ports, 3. Connect to UART port (leaving out VCC pin!), 4. Power on router, 5. When asked to enter a number 1 or 3 hit 2, this will select flashing image from TFTP server option, 6. You'll be prompted to enter TFTP server ip (default is 192.168.99.8), then router ip (default is 192.168.99.9) and for last, image name downloaded from TFTP server (default is uImageESR1200_1750), 7. After providing all information U-Boot will start flashing the image, You can observe progress on console, it'll take few minutes and when the Power LED will stop blinking, router is ready for configuration. Additional information If connected to UART, when prompted for number on boot, one can enter number 4 to open bootloader (U-Boot) command line. OEM firmware shell password is: aigo3d0a0tdagr useful for creating backup of original firmware. When doing upgrade from OpenWrt ar71xx image, it is recomended to not keep the old configuration. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* ipq40xx: limit frequencies for Asus LyraMarius Genheimer2019-03-132-0/+4
| | | | | | | The Asus Lyra has filters in the antenna paths which limits the usable frequencies on both 5GHz radios. Signed-off-by: Marius Genheimer <mail@f0wl.cc>
* ipq40xx: add support for AVM FRITZ!Repeater 3000David Bauer2019-03-138-4/+547
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Qualcomm IPQ4019 RAM: 256M (NANYA NT5CC128M16JR-EK) FLASH: 128M NAND (Macronix MX30LF1G18AC-XKI) ETH: Qualcomm QCA8072 WiFi2: IPQ4019 2T2R 2SS b/g/n WiFi5: IPQ4019 2T2R 2SS n/ac WiFi5: QCA9984 4T4R 4SS n/ac LED: - Connect green/blue/red - Power green BTN: WPS/Connect UART: 115200n8 3.3V VCC - RX - TX - GND (Square is VCC) Installation ------------ 1. Grab the uboot for the Device from the 'u-boot-fritz3000' subdirectory. Place it in the same directory as the 'eva_ramboot.py' script. It is located in the 'scripts/flashing' subdirectory of the OpenWRT tree. 2. Assign yourself the IP address 192.168.178.10/24. Connect your Computer to one of the boxes LAN ports. 3. Connect Power to the Box. As soon as the LAN port of your computer shows link, load the U-Boot to the box using following command. > ./eva_ramboot.py --offset 0x85000000 192.168.178.1 uboot-fritz3000.bin 4. The U-Boot will now start. Now assign yourself the IP address 192.168.1.70/24. Copy the OpenWRT initramfs (!) image to a TFTP server root directory and rename it to 'FRITZ3000.bin'. 5. The Box will now boot OpenWRT from RAM. This can take up to two minutes. 6. Copy the U-Boot and the OpenWRT sysupgrade (!) image to the Box using scp. SSH into the Box and first write the Bootloader to both previous kernel partitions. > mtd write /path/to/uboot-fritz3000.bin uboot0 > mtd write /path/to/uboot-fritz3000.bin uboot1 7. Remove the AVM filesystem partitions to make room for our kernel + rootfs + overlayfs. > ubirmvol /dev/ubi0 --name=avm_filesys_0 > ubirmvol /dev/ubi0 --name=avm_filesys_1 8. Flash OpenWRT peristently using sysupgrade. > sysupgrade -n /path/to/openwrt-sysupgrade.bin Signed-off-by: David Bauer <mail@david-bauer.net>
* fritz-tools: add support for IPQ40xx platformDavid Bauer2019-03-132-3/+3
| | | | | | | | AVM devices based on Qualcomm IPQ40xx do not store sector health information in the OOB area. Make this check optional to support this platform. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: Add GL.iNet AR-300M-LiteJeff Kletsky2019-03-137-83/+91
| | | | | | | | | | | | | | | | | | | | | AR300M-Lite is single-Ethernet variant of the AR300M series Its eth0 would otherwise be assigned to the WAN interface making it unreachable firstboot or failsafe. Installation instructions from OEM (OpenWrt variant): * Install sysupgrade.bin using OEM's "Advanced" GUI (LuCI), * Do not preserve settings * Access rebooted device via Ethernet at OpenWrt default address Add previously missing LED defaults for all three variants; -nand, -nor, -lite to the definitions in 01_leds Non-lite variants thanks to Andreas Ziegler https://patchwork.ozlabs.org/patch/1049396/ Runtime-tested: GL.iNet AR300M-Lite Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ramips: HC5861 drop unused gpio group define in dtsChen Minqiang2019-03-131-7/+0
| | | | Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* ramips: add support for Xiaomi Mi Router 3 ProOzgur Can Leonard2019-03-135-2/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware: CPU: MediaTek MT7621AT (2x880MHz) RAM: 512MB DDR3 FLASH: 256MB NAND WiFi: 2.4GHz 4x4 MT7615 b/g/n (Needs driver, See Issues!) WiFI: 5GHz 4x4 MT7615 a/n/ac (Needs driver, See Issues!) USB: 1x 3.0 ETH: 1x WAN 10/100/1000 3x LAN 10/100/1000 LED: Power/Status BTN: RESET UART: 115200 8n1 Partition layout and boot: Stock Xiaomi firmware has the MTD split into (among others) - kernel0 (@0x200000) - kernel1 (@0x600000) - rootfs0 - rootfs1 - overlay (ubi) Xiaomi uboot expects to find kernels at 0x200000 & 0x600000 referred to as system 1 & system 2 respectively. a kernel is considered suitable for handing control over if its linux magic number exists & uImage CRC are correct. If either of those conditions fail, a matching sys'n'_fail flag is set in uboot env & a restart performed in the hope that the alternate kernel is okay. If neither kernel checksums ok and both are marked failed, system 2 is booted anyway. Note uboot's tftp flash install writes the transferred image to both kernel partitions. Installation: Similar to the Xiaomi MIR3G, we keep stock Xiaomi firmware in kernel0 for ease of recovery, and install OpenWRT into kernel1 and after. The installation file for OpenWRT is a *squashfs-factory.bin file that contains the kernel and a ubi partition. This is flashed as follows: nvram set flag_try_sys1_failed=1 nvram set flag_try_sys2_failed=0 nvram commit dd if=factory.bin bs=1M count=4 | mtd write - kernel1 dd if=factory.bin bs=1M skip=4 | mtd write - rootfs0 reboot Reverting to stock: The part of stock firmware we've kept in kernel0 allows us to run stock recovery, which will re-flash stock firmware from a *.bin file on a USB. For this we do the following: fw_setenv flag_try_sys1_failed 0 fw_setenv flag_try_sys2_failed 1 reboot After reboot the LED status light will blink red, at which point pressing the 'reset' button will cause stock firmware to be installed from USB. Issues: OpenWRT currently does not have support for the MT7615 wifi chips. There is ongoing work to add mt7615 support to the open source mt76 driver. Until that support is in place, there are closed-source kernel modules that can be used. See: https://forum.openwrt.org/t/support-for-xiaomi-wifi-r3p-pro/20290/170 Signed-off-by: Ozgur Can Leonard <ozgurcan@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [02_network remaps, Added link to notes]
* ath79: add support for LibreRouter v1Santiago Piccinini2019-03-134-0/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SOC: QCA9558 RAM: 128M DDR2 Flash: 16MiB SPI-NOR ETH: QCA8337N: 2x 10/100/1000 PoE and PoE pass-through WiFi2: QCA9558 (bgn) 2T2R WiFi5: 2x mPCIE with AR9582 (an) 2T2R BTN: 1x Reset GPIO: multiple GPIO on header, PoE passthrough enable UART: 3.3V 115200 8N1 header on the board WDG: ATTiny13 watchdog JTAG: header on the board USB: 1x connector and 1x header on the board PoE: 10-32V input in ETH port 1, passthrough in port 2 mPCIE: 2x populated with radios (but replaceable) OpenWrt is preinstalled from factory. To install use <your-image>-sysupgade.bin using the web interface or with sysupgrade -n. Flash from bootloader (in case failsafe does not work) 1. Connect the LibreRouter with a serial adapter (TTL voltage) to the UART header in the board. 2. Connect an ETH cable and configure static ip addres 192.168.1.10/24 3. Turn on the device and stop the bootloader sending any key through the serial interface. 4. Use a TFTP server to serve <your image>-sysupgrade.bin file. 5. Execute the following commands at the bootloader prompt: ath> tftp 82000000 <your image>-sysupgrade.bin ath> erase 0x9f050000 +$filesize ath> cp.b 0x82000000 0x9f050000 $filesize ath> bootm 0x9f050000 More docs * Bootloader https://github.com/librerouterorg/u-boot * Board details (schematics, gerbers): https://github.com/librerouterorg/board Signed-off-by: Santiago Piccinini <spiccinini@altermundi.net>
* ipq40xx: fix FRITZBox 7530 NAND controller nodeDavid Bauer2019-03-132-2/+0
| | | | | | | | This removes the 'cs-gpios' property from the AVM FRITZ!Box 7530 NAND controller node. As pointed out by Christian Lamparter, the property is not needed by the Qualcomm NAND controller driver. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: fix phy interrupt settingChristian Lamparter2019-03-132-2/+2
| | | | | | | | | | | | | This patch fixes a problem that was discovered during DSA development. On the MR33, the link change events from the external AR8035-PHY would never make it to the qca8k driver. The issue turned out to be a misplaced memcpy that was copying over the zero-initialized irq table, when it should have been set to PHY_POLL. Hence this patch moves the memcpy after the array has been initialized. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: tidy up 02_networksChristian Lamparter2019-03-131-2/+2
| | | | | | | | - fix linksys' EA6350v3 order - remove whitespace that should have been tabs Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* oxnas: install wireless driver on pogoplugproDaniel Golle2019-03-121-1/+1
| | | | | | | | PogoPlug Pro comes with AzureWave AW-NE762H PCIe module containing Ralink's Rt3090 chip supported by the rt2x00 driver. Install the driver as well as wpad-basic. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* oxnas: also akitio,mycloud uses PCIe apparentlyDaniel Golle2019-03-121-0/+4
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* oxnas: enable pcie_phy on boards utilizing PCIeDaniel Golle2019-03-122-0/+8
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ath79: add support for TP-Link RE350K v1Piotr Dymacz2019-03-114-0/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link RE350K v1 (FCC ID: TE7RE350K) is a wall-plug AC1200 Wi-Fi range extender with 'Kasa Smart' support. Device is based on Qualcomm/Atheros QCA9558 + QCA9882 + AR8035 platform and is available only on US market. Specification: - 720/600/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of flash (SPI NOR) - 1x 1 Gbps Ethernet (AR8035) - 2T2R 2.4 GHz (QCA9558), with ext. PA (SE2565T) and LNA (SKY65971-11) - 2T2R 5 GHz (QCA9882), with ext. PA (SE5003L1-R) and LNA (SKY65981-11) - 2x U.FL connector on PCB - 2x dual-band PCB antennas - 1x LED, 2x dual-color LED (all driven by GPIO) - 3x button (app config, led, reset) - 1x mechanical on/off slide switch - 1x UART (4-pin, 2.54 mm pitch) header on PCB - 1x JTAG (8-pin, 1.27 mm pitch) header on PCB Flash instruction: Use 'factory' image directly in vendor GUI (default IP: 192.168.0.254, default credentials: admin/admin). Warning: This device does not include any kind of recovery mechanism in U-Boot. Vendor firmware access: You can access vendor firmware over serial (RX line requires jumper resistor in R306 place, near XTAL) with: root/sohoadmin credentials. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: add support for ALFA Network Tube-E4GPiotr Dymacz2019-03-114-0/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network Tube-E4G is an outdoor, dual-SIM LTE Cat. 4 CPE, based on MediaTek MT7620A, equipped with Quectel EC25 miniPCIe modem. Specification: - MT7620A (580 MHz) - 64/128/256 MB of RAM (DDR2) - 16/32 MB of flash (SPI NOR) - 1x 10/100 Mbps Ethernet, with passive PoE support (24 V) - 1x miniPCIe slot (with PCIe and USB 2.0 buses) - 2x SIM slot (mini, micro) with detect and switch driven by GPIO - 1x detachable antenna (modem main) - 1x internal antenna (modem div) - 1x GPS passive antenna (optional) - 5x LED (all driven by GPIO) - 1x button (reset) - UART (4-pin, 2.54 mm pitch) header on PCB Other: Default SIM slot is selected at an early stage by U-Boot, based on 'default_sim' environment value: 1 or unset = SIM1 (mini), 2 = SIM2 (micro). U-Boot also resets the modem, using #PERST signal, before starting kernel. 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 LAN 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>
* mxs: disable unused serial driversMichael Heimpold2019-03-111-3/+1
| | | | | | | | | | | | | | | | This disables PL010 and 8250 serial support for this platform as both drivers are not used: the debug UART is PL011 and the application UARTs use a dedicated MXS specific driver. The kernel size reduction is neglectable, but it also removes the non-working (confusing) /dev/ttyS0 and /dev/ttyS1 devices in a running system (which generate errors when trying to use): root@OpenWrt:~# echo "hello world" > /dev/ttyS0 ash: write error: I/O error root@OpenWrt:~# Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* oxnas: fix oxnas-rps-timer dt-matchDaniel Golle2019-03-111-0/+10
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* oxnas: replace oxnas-restart with version to be submitted to upstreamDaniel Golle2019-03-111-103/+136
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* oxnas: use generic filenames for image and DTSDaniel Golle2019-03-114-20/+28
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* oxnas: move PCIe controller outside of simple-busDaniel Golle2019-03-103-95/+118
| | | | | | | | Move PCIe controller outside down to SoC level to avoid resource mapping problems. Also add more detailed error handling when mapping registers. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* lantiq: Refresh kernel 4.14 configurationHauke Mehrtens2019-03-101-0/+2
| | | | | | | This adds two configuration options which are getting automatically added. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* oxnas: fix PCIe register ranges in device-treeDaniel Golle2019-03-101-2/+2
| | | | | | | They should be relative to apb-bridge@47000000 rather than to the pcie-controller@c00000 inside it. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* layerscape: use wrapped nand_do_upgrade for traverse-ls1043 boardsMathew McBride2019-03-101-50/+15
| | | | | | | | Traverse LS1043 boards are set up with a dual-system layout, rootfs{1,2} and kernel{1,2}. nand_do_upgrade can do the image replacement work we were doing before as long as we give it the partition names. This greatly simplifies the /lib/upgrade/platform.sh. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* layerscape: rename Traverse boards along SoC linesMathew McBride2019-03-102-9/+7
| | | | | | | | | Upcoming product specification and branding changes mean that the names in tree do not accurately reflect released products. To reduce any confusion, sort our boards by SoC family, e.g traverse-ls1043. Any future boards using Layerscape family SoC's will be treated the same way, e.g Device/traverse-ls/lx/laXXXX. The affected boards so far have only been available through OEM channels and those aren't using the provided sysupgrade. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* ltq-atm/ltq-ptm: re-enable/fix reset_ppe() functionality for VR9Martin Schiller2019-03-101-0/+2
| | | | | | | | | | | | | | | This patch re-enables the reset_ppe() functionality for VR9 targets by using the new lantiq rcu subsystem. The reset sequence in the reset_ppe() function was taken from the ppa datapath driver of lantiq UGW 7.4.1. Additionally it adds the required reset definitions to the vr9 dtsi file. It also prepares the reset_ppe() function calls for the other lantiq targets. This feature is needed to be able to switch between ltq-atm/ltq-ptm driver in ATM/PTM Auto-Mode at runtime. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* lantiq: add support for AVM FRITZ!Box 7362 SLDanijel Tudek2019-03-105-1/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware: - SoC: Lantiq VRX288 - RAM: Winbond W971GG6JB 1 Gb (128 MiB) - Flash: - SPI: 8 Mb (1 MiB) for bootloader and tffs - NAND: 1 Gb (128 MiB) for OS - xDSL: Lantiq VRX208 - WLAN: Atheros AR9381 - DECT: Dialog Semiconductors SC14441 Everything except FXS/DECT works (no drivers for AVM's FXS implementation with SC14441). Installation via FTP: 1. Use scripts/flashing/eva_ramboot.py to send initramfs-kernel.bin to the device when powering on. Standard AVM procedures with finding the correct IP address and the right moment to open FTP apply here (approx. 4 seconds on 7362SL). IMPORTANT: set lzma compression in ramdisk options, bootloader stalls when receiving uncompressed images. 2. Transfer sysupgrade.bin image with scp to /tmp directory and run sysupgrade 3. First boot might take a bit longer if linux_fs_start was set to 1, in that case the device will reboot twice, first time it will fail to load second kernel (overwritten by ubifs), set linux_fs_start to 0 and reboot. OpenWrt uses the entire NAND flash. Kernel uses 4 MiB and rootfs uses the rest of 124 MiB, overwriting everything related to FRITZ!OS - both OS images, config and answering machine/media server data. To return to FRITZ!OS, use AVM's recovery image. Signed-off-by: Danijel Tudek <danijel.tudek@gmail.com>
* lantiq: move common FRITZ736X bits into dtsiDanijel Tudek2019-03-102-181/+228
| | | | | | | Move common FRITZ736X bits into dtsi file as a preparation for FRITZ7362SL support. Signed-off-by: Danijel Tudek <danijel.tudek@gmail.com>
* lantiq: add support for AVM FRITZ!Box 7412Andy Binder2019-03-105-0/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware: SoC: Lantiq VRX 220 CPU Cores: 2x MIPS 34Kc at 500 MHz RAM: 128 MiB 250 MHz Storage: 128 MiB NAND flash Ethernet: built-in Fast Ethernet switch, only port 2 is used Wireless: Atheros AR9287-BL1A b/g/n with 2 pcb antennas Modem: built-in A/VDSL2 modem DECT: Dialog SC14441 LEDs: 1 two-color, 4 one-color Buttons: 2 FXS: 1 port via TAE or RJ12 connector Everything except FXS/DECT works (no drivers for AVM's FXS implementation with SC14441). Installation: Use the eva_ramboot.py script to load an initramfs image on the device. Run it a few seconds after turning the device on. $ scripts/flashing eva_ramboot 192.168.178.1 bin/targets/lantiq/xrx200/openwrt-lantiq-xrx200-avm_fritz7412-initramfs-kernel.bin If it fails to find the device try the ip address 169.254.120.1. (Firmware updates or the recovery tool apparently change it.) IMPORTANT: set lzma compression in ramdisk options, bootloader stalls when receiving uncompressed images. The device will load it in ram and boot it. You can reach it under the openwrt default ip address 192.168.1.1. Check if the key linux_fs_start is not set to 1 in tffs: $ fritz_tffs_nand -d /dev/mtd1 -n linux_fs_start If it is set to 1, the bootloader will select the wrong set of partitions. Restart the box and install an FritzOS upgrade or do a recovery. Afterwards start again at step 1. Run sysupgrade to persistently install OpenWRT. Signed-off-by: Valentin Spreckels <Valentin.Spreckels@Informatik.Uni-Oldenburg.de> Signed-off-by: Andy Binder <AndyBinder@gmx.de>
* sunxi: add support for Orange Pi PC PlusAleksander Jan Bajkowski2019-03-091-0/+10
| | | | | | | | | | | | | | | | | CPU: H3 Quad-core Cortex-A7 H.265/HEVC 4K @ 1.2 Ghz GPU: Mali400MP2 GPU @ 600MHz (supports OpenGL ES 2.0) Memory: 1GB DDR3 (shared with GPU) Onboard: Storage TF card (Max. 64GB) / MMC card slot Onboard: Storage 8 GB eMMC Onboard: Network 10/100M Ethernet RJ45 Onboard: Network WiFi 802.11 b/g/n (Realtek RTL8189FTV) Onboard header: SPI, I2C, GPIO, UART USB 2.0: Three USB 2.0 HOST, One USB 2.0 OTG Known issues: -Wifi diesn't work Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* ath79: add support for YunCore A770Piotr Dymacz2019-03-095-1/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | YunCore A770 is a ceiling AC750 AP with 2 Fast Ethernet ports, PoE (802.3at) support, based on QCA9531 + QCA9887. Specification: - 650/597/216 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of flash (SPI NOR) - 2x 10/100 Mbps Ethernet (PoE 802.3at support in WAN port) - 2T2R 2.4 GHz (QCA9531), with ext. PA and LNA - 1T1R 5 GHz (QCA9887), with ext. FEM (SKY85728-11) - 2x regular LED, 1x RGB LED (all driven by GPIO) - 1x button (reset) - DC jack for main power input (12 V) - UART header on PCB Flash instruction: 1. First, gain root access to the device, following below steps: - Login into web gui (default password/IP: admin/192.168.188.253). - Go to 'Advanced' -> 'Management' -> 'System' and download backup of configuration (bakfile.bin). - Open the file as tar.gz archive, edit/update 'shadow' file and change hash of root password to something known. - Repack the archive, rename it back to 'bakfile.bin' and use to restore configuration of the device. - After that, device will reboot and can be accessed over SSH. 2. Then, install OpenWrt: - Login over SSH and issue command: fw_setenv bootcmd "bootm 0x9f050000 || bootm 0x9fe80000" - Upload 'sysupgrade' image and install it (only if previous command succeeded) with command: 'sysupgrade -n -F openwrt-...'. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ipq40xx: backport I2C QUP driver changes from 4.17Piotr Dymacz2019-03-0813-0/+2781
| | | | | | | | | | | | | | | | | | | | | | | | Backport below changes for I2C QUP driver from v4.17: 0668bc44a426 i2c: qup: fix copyrights and update to SPDX identifier 7239872fb340 i2c: qup: fixed releasing dma without flush operation completion eb422b539c1f i2c: qup: minor code reorganization for use_dma 6d5f37f166bb i2c: qup: remove redundant variables for BAM SG count c5adc0fa63a9 i2c: qup: schedule EOT and FLUSH tags at the end of transfer 7e6c35fe602d i2c: qup: fix the transfer length for BAM RX EOT FLUSH tags 3f450d3eea14 i2c: qup: proper error handling for i2c error in BAM mode 08f15963bc75 i2c: qup: use the complete transfer length to choose DMA mode ecb6e1e5f435 i2c: qup: change completion timeout according to transfer length 6f2f0f6465ac i2c: qup: fix buffer overflow for multiple msg of maximum xfer len f7714b4e451b i2c: qup: send NACK for last read sub transfers fbfab1ab0658 i2c: qup: reorganization of driver code to remove polling for qup v1 7545c7dba169 i2c: qup: reorganization of driver code to remove polling for qup v2 This fixes various I2C issues observed on AP120C-AC board equipped with Atmel/Microchip AT97SC3205T TPM module. Tested-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ipq40xx: add ath10k-calibration-variant in AP120C-AC DTSPiotr Dymacz2019-03-082-0/+2
| | | | | | | | Use 'ath10k-calibration-variant' (with the value sent upstream) for the second (5 GHz) radio in AP120C-AC board DTS. First radio uses the same BDF as in one of Qualcomm reference designs. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* kernel: bump 4.14 to 4.14.105Koen Vandeputte2019-03-074-11/+11
| | | | | | | | | Refreshed all patches. Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Runtime-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.162Koen Vandeputte2019-03-071-1/+1
| | | | | | | | | Refreshed all patches. Compile-tested on: ar7 Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>