aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq40xx/files-4.14/arch
Commit message (Collapse)AuthorAgeFilesLines
* ipq40xx: Remove kernel 4.14 supportHauke Mehrtens2020-03-1227-6512/+0
| | | | | | | | | This target was switched to kernel 4.19 more than 6 months ago in commit f342ffd300da ("treewide: kernel: bump some targets to 4.19") and now with kernel 5.4 support being added it gets harder to support kernel 4.14 in addition to kernel 4.19 and 5.4. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq40xx: fix usbport trigger on the RT-AC58U with USB 2.0 devicesChristian Lamparter2020-01-121-1/+6
| | | | | | | | | | This patch partially reverts "ipq40xx: remove unnecessary usb nodes in DTS for ASUS RT-AC58U" as the change removed the usb2 port-trigger, so the LED would no longer light-up when a USB 2.0 was inserted into the USB port. Fixes: d0efb1ba95f3 ("ipq40xx: remove unnecessary usb nodes in DTS for ASUS RT-AC58U") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: build DEVICE_DTS based on SOC and device nameAdrian Schmutzler2019-12-275-2/+2
| | | | | | | | | | | | | | | | | | | This patch uses the SOC variable to calculate DTS names automatically based on the SOC and the device definition node name. This reduces redundancy and (by having to choose DTS name appropriately) will unify the naming of a device in different places (image/Makefile, DTS name, compatible, image name). This is supposed to make life easier for developers and reviewers. Since the kernel uses a "soc-device.dts" scheme for this target, we use this for the derivation of DEVICE_DTS, too, and rename the files not having followed it so far. Note that for some devices the kernel itself is inconsistent, leaving us with a manual overwrite for ap.dk01.1-c1 and ap.dk04.1-c1. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq40xx: remove unnecessary usb nodes in DTS for ASUS RT-AC58USungbo Eo2019-12-221-24/+1
| | | | | | RT-AC58U has single USB 3.0 port, and only usb3_port1 is actually used. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq40xx: improve ASUS RT-AC58U supportSungbo Eo2019-12-221-8/+10
| | | | | | | | | | | | | | | | | | | | This patch does the following: - move WiFi LED setup to DTS - fix LAN/WAN MAC addresses and add label MAC address - wan5G -> wlan5G, power -> led_power - increase flash SPI frequency to 30MHz MAC addresses are stored in Factory partition at: 0x1006: WiFi 2.4GHz, WAN (label_mac) 0x5006: WiFi 5GHz, LAN (label_mac +4) By improving flash speed, `time dd if=/dev/mtdblock8 of=/dev/null bs=2k` is reduced from 7m 10.26s to 5m 9.52s. Using higher frequencies did not improve speed further. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq40xx: add support for AVM FRITZ!Repeater 1200David Bauer2019-10-231-0/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SoC: Qualcomm IPQ4019 RAM: 256M DDR3 FLASH: 128M NAND WiFi: 2T2R IPQ4019 bgn 2T2R IPQ4019 a/n/ac ETH: Atheros AR8033 RGMII PHY BTN: 1x Connect (WPS) LED: Power (green/red/yellow) Installation ------------ 1. Grab the uboot for the Device from the 'u-boot-fritz1200' 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-fritz1200.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 'FRITZ1200.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-fritz1200.bin uboot0 > mtd write /path/to/uboot-fritz1200.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>
* ipq40xx: Add support for Linksys EA8300 (Dallas)Jeff Kletsky2019-05-181-0/+399
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Linksys EA8300 is based on QCA4019 and QCA9888 and provides three, independent radios. NAND provides two, alternate kernel/firmware images with fail-over provided by the OEM U-Boot. Installation: "Factory" images may be installed directly through the OEM GUI. Hardware Highlights: * IPQ4019 at 717 MHz (4 CPUs) * 256 MB NAND (Winbond W29N02GV, 8-bit parallel) * 256 MB RAM * Three, fully-functional radios; `iw phy` reports (FCC/US, -CT): * 2.4 GHz radio at 30 dBm * 5 GHz radio on ch. 36-64 at 23 dBm * 5 GHz radio on ch. 100-144 at 23 dBm (DFS), 149-165 at 30 dBm #{ managed } <= 16, #{ AP, mesh point } <= 16, #{ IBSS } <= 1 * All two-stream, MCS 0-9 * 4x GigE LAN, 1x GigE Internet Ethernet jacks with port lights * USB3, single port on rear with LED * WPS and reset buttons * Four status lights on top * Serial pads internal (unpopulated) "Linksys Dallas WiFi AP router based on Qualcomm AP DK07.1-c1" Implementation Notes: The OEM flash layout is preserved at this time with 3 MB kernel and ~69 MB UBIFS for each firmware version. The sysdiag (1 MB) and syscfg (56 MB) partitions are untouched, available as read-only. Serial Connectivity: Serial connectivity is *not* required to flash. Serial may be accessed by opening the device and connecting a 3.3-V adapter using 115200, 8n1. U-Boot access is good, including the ability to load images over TFTP and either run or flash them. Looking at the top of the board, from the front of the unit, J3 can be found on the right edge of the board, near the rear | J3 | |-| | |O| | (3.3V seen, open-circuit) |O| | TXD |O| | RXD |O| | |O| | GND |-| | | Unimplemented: * serial1 "ttyQHS0" (serial0 works as console) * Bluetooth; Qualcomm CSR8811 (potentially conected to serial1) Other Notes: https://wikidevi.com/wiki/Linksys_EA8300 states FCC docs also cover the Linksys EA8250. According to the RF Test Report BT BR+EDR, "All models are identical except for the EA8300 supports 256QAM and the EA8250 disable 256QAM." Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ipq40xx: Fix reboot on EnGenius ENS620EXTSteve Glennon2019-05-111-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch works around an issue where reboot would cause the AP to power down and not reboot. The ipq4019 restart controller reboot causes the system to power down and not recover. Fix is to disable the restart controller in the device tree and the device reverts to using the watchdog to perform the reset. The real problem is due to the buggy bootloader that ships with the device. Steve Glennon reported in the PR for this patch: <https://github.com/openwrt/openwrt/pull/2009> that: "the problem was due to a bad u-boot that ships with the device. Using the u-boot that comes with 3.5.5.3 EnGenius factory software now allows the old code (using the do_msm_reboot) to reboot successfully. On to the bad news: Well 3.5.5.3 is a bad path. Finally managed to recover. You CANNOT use prior EnGenius firmware to downgrade. Findings: * They now password protect the serial console with a new, unkown password. * They changed the protection on their walled-garden. I have to use the ssh admin@ip /bin/sh --login to get out of their walled-garden. * Attempts to flash the original 3.0.0 or 3.0.1 EnGenius firmware fail through the UI and sysupgrade. Their firmware update GUI now seem to detect regular openwrt images, but they fail to flash Attempts to flash a normal OpenWrt image with sysupgrade fail. [..] Attempts to sysupgrade with EnGenius firmware fail with the same "mandatory section(s) missing" error, so you cannot downgrade to 3.0.0 or 3.0.1." Signed-off-by: Steve Glennon <s.glennon@cablelabs.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [added valuable findings from github discussion]
* ipq40xx: add support for EnGenius ENS620EXTSteve Glennon2019-03-211-0/+252
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Qualcomm IPQ4018 RAM: 256M FLASH: 32M SPI NOR W25Q256 ETH: QCA8075 WiFi2: IPQ4018 2T2R 2SS b/g/n WiFi5: IPQ4018 2T2R 2SS n/ac LED: - Power amber - LAN1(PoE) green - LAN2 green - Wi-Fi 2.4GHz green - Wi-Fi 5GHz green BTN: - WPS UART: 115200n8 3.3V J1 VCC(1) - GND(2) - TX(3) - RX(4) Added basic support to get the device up and running for a sysupgrade image only. There is currently no way back to factory firmware, so this is a one-way street to OpenWRT. Install from factory condition is convoluted, and may brick your device: 1) Enable SSH and disable the CLI on the factory device from the web user interface (Management->Advanced) 2) Reboot the device 3) Override the default, limited SSH shell: a) Get into the ssh shell: ssh admin@192.168.1.1 /bin/sh --login b) Change the dropbear script to disable the limited shell. At the empty command prompt type: sed -i '/login_ssh/s/^/#/g’ dropbear /etc/init.d/dropbear restart exit 4) ssh in to a (now-) normal OpenWRT SSH session 5) Flash your built image a) scp openwrt-ipq40xx-engenius_ens620ext-squashfs-sysupgrade.bin admin@192.168.1.1:/tmp/ b) ssh admin@192.168.1.1 c) sysupgrade -n /tmp/openwrt-ipq40xx-engenius_ens620ext-squashfs-sysupgrade.bin 6) After flash completes (it may say "Upgrade failed" followed by "Upgrade completed") and device reboots, log in to newly flashed system. Note you will now need to ssh as root rather than admin. Signed-off-by: Steve Glennon <s.glennon@cablelabs.com> [whitespace fixes, reordered partitions, removed rng node from 4.14, fixed 901-arm-boot-add-dts-files.patch] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: limit frequencies for Asus LyraMarius Genheimer2019-03-131-0/+2
| | | | | | | 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-131-0/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ipq40xx: fix FRITZBox 7530 NAND controller nodeDavid Bauer2019-03-131-1/+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: add ath10k-calibration-variant in AP120C-AC DTSPiotr Dymacz2019-03-081-0/+1
| | | | | | | | 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>
* ipq40xx: add support for FritzBox 7530David Bauer2019-02-281-0/+300
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Qualcomm IPQ4019 RAM: 256M FLASH: 128M NAND ETH: QCA8075 VDSL: Intel/Lantiq VRX518 PCIe attached currently not supported DECT: Dialog SC14448 currently not supported WiFi2: IPQ4019 2T2R 2SS b/g/n WiFi5: IPQ4019 2T2R 2SS n/ac LED: - Power/DSL green - WLAN green - FON/DECT green - Connect/WPS green - Info green - Info red BTN: - WLAN - FON - WPS/Connect UART: 115200n8 3.3V (located under the Dialog chip) VCC - RX - TX - GND (Square is VCC) Installation ------------ 1. Grab the uboot for the Device from the 'u-boot-fritz7530' 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-fritz7530.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 'FRITZ7530.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-fritz7530.bin uboot0 > mtd write /path/to/uboot-fritz7530.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> [removed pcie-dts range node, refreshed on top of AP120-AC/E2600AC] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for Qxwlan E2600AC C1 and C2张鹏2019-02-283-0/+457
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qxwlan E2600AC C1 based on IPQ4019 Specifications: SOC: Qualcomm IPQ4019 DRAM: 256 MiB FLASH: 32 MiB Winbond W25Q256 ETH: Qualcomm QCA8075 WLAN: 5G + 5G/2.4G * 2T2R 2.4/5 GHz - QCA4019 hw1.0 (SoC) * 2T2R 5 GHz - QCA4019 hw1.0 (SoC) INPUT: Reset buutton LED: 1x Power ,6 driven by gpio SERIAL: UART (J5) UUSB: USB3.0 POWER: 1x DC jack for main power input (9-24 V) SLOT: Pcie (J25), sim card (J11), SD card (J51) Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "sysupgrade" filename to "firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "sysupgrade" image and click the upgrade button. Qxwlan E2600AC C2 based on IPQ4019 Specifications: SOC: Qualcomm IPQ4019 DRAM: 256 MiB NOR: 16 MiB Winbond W25Q128 NAND: 128MiB Micron MT29F1G08ABAEAWP ETH: Qualcomm QCA8075 WLAN: 5G + 5G/2.4G * 2T2R 2.4/5 GHz - QCA4019 hw1.0 (SoC) * 2T2R 5 GHz - QCA4019 hw1.0 (SoC) INPUT: Reset buutton LED: 1x Power, 6 driven by gpio SERIAL: UART (J5) USB: USB3.0 POWER: 1x DC jack for main power input (9-24 V) SLOT: Pcie (J25), sim card (J11), SD card (J51) Flash instruction (using U-Boot CLI and tftp server): - Configure PC with static IP 192.168.1.10 and tftp server. - Rename "ubi" filename to "ubi-firmware.bin" and place it in tftp server directory. - Connect PC with one of RJ45 ports, power up the board and press "enter" key to access U-Boot CLI. - Use the following command to update the device to OpenWrt: "run lfw". Flash instruction (using U-Boot web-based recovery): - Configure PC with static IP 192.168.1.xxx(2-254)/24. - Connect PC with one of RJ45 ports, press the reset button, power up the board and keep button pressed for around 6-7 seconds, until LEDs start flashing. - Open your browser and enter 192.168.1.1, select "ubi" image and click the upgrade button. Signed-off-by: 张鹏 <sd20@qxwlan.com> [ added rng node. whitespace fixes, ported 02_network, ipq-wifi Makefile, misc dts fixes, trivial message changes ] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for ALFA Network AP120C-ACPiotr Dymacz2019-02-261-0/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALFA Network AP120C-AC is a dual-band ceiling AP, based on Qualcomm IPQ4018 + QCA8075 platform. Specification: - Qualcomm IPQ4018 (717 MHz) - 256 MB of RAM (DDR3) - 16 MB (SPI NOR) + 128 MB (SPI NAND) of flash - 2x Gbps Ethernet, with 802.3af PoE support in one port - 2T2R 2.4/5 GHz (IPQ4018), with ext. FEMs (QFE1952, QFE1922) - 3x U.FL connectors - 1x 1.8 dBi (Bluetooth) and 2x 3/5 dBi dual-band (Wi-Fi) antennas - Atmel/Microchip AT97SC3205T TPM module (I2C bus) - TI CC2540 Bluetooth LE module (USB 2.0 bus) - 4x LED (all driven by GPIO) - 1x button (reset) - 1x USB 2.0 (optional, not installed in indoor version) - DC jack for main power input (12 V) - UART header available on PCB (2.0 mm pitch) Flash instruction: 1. This board uses dual-image feature (128 MB NAND is divided into two 64 MB partitions: 'rootfs1' and 'rootfs2'). 2. Before update, make sure your device is running firmware no older than v1.1 (previous versions have incompatible U-Boot). 3. Use 'factory' image in vendor GUI or for sysupgrade tool, without preserving settings. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ipq40xx: add support for ASUS LyraMarius Genheimer2019-02-141-0/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SoC: Qualcomm IPQ4019 (Dakota) 717 MHz, 4 cores RAM: 256 MiB (Nanya NT5CC128M16IP-DI) FLASH: 128 MiB (Macronix NAND) WiFi0: Qualcomm IPQ4019 b/g/n 2x2 WiFi1: Qualcomm IPQ4019 a/n/ac 2x2 WiFi2: Qualcomm Atheros QCA9886 a/n/ac BT: Atheros AR3012 IN: WPS Button, Reset Button OUT: RGB-LED via TI LP5523 9-channel Controller UART: Front of Device - 115200 N-8 Pinout 3.3v - RX - TX - GND (Square is VCC) Installation: 1. Transfer OpenWRT-initramfs image to the device via SSH to /tmp. Login credentials are identical to the Web UI. 2. Login to the device via SSH. 3. Flash the initramfs image using > mtd-write -d linux -i openwrt-image-file 4. Power-cycle the device and wait for OpenWRT to boot. 5. From there flash the OpenWRT-sysupgrade image. Ethernet-Ports: Although labeled identically, the port next to the power socket is the LAN port and the other one is WAN. This is the same behavior as in the stock firmware. Signed-off-by: Marius Genheimer <mail@f0wl.cc> [Dropped setup_mac 02_network in favour of 05_set_iface_mac_ipq40xx.sh, reorderd 02_network entries, added board.bin WA for the QCA9886 from ath79, minor dts touchup, added rng to 4.19 dts] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for Linksys EA6350v3Oever González2019-01-261-0/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4018 RAM: 256 MiB Samsung K4B2G1646F-BYK0 FLASH1: MX25L1605D 2 MB FLASH2: Winbond W25N01GV 128Mb ETH: Qualcomm QCA8075 WLAN0: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n 2x2 WLAN1: Qualcomm Atheros QCA4018 5GHz 802.11n/ac W2 2x2 INPUT: WPS, Reset LED: Status - Green SERIAL: Header at J19, Beneath DC Power Jack 1-VCC ; 2-TX ; 3-RX; 4-GND; Serial 115200-8-N-1. Tested and working: - USB (requires extra packages) - LAN Ethernet (Correct MAC-address) - WAN Ethernet (Correct MAC-address) - 2.4 GHz WiFi (Correct MAC-address) - 5 GHz WiFi (Correct MAC-address) - Factory installation from Web UI - OpenWRT sysupgrade - LED - Reset Button Need Testing: - WPS button Install via Web UI: - Attach to a LAN port on the router. - Connect to the Linksys Smart WiFi Page (default 192.168.1.1) and login - Select the connectivity tab on the left - In the manual update box on the right - Select browse, and browse to openwrt-ipq40xx-linksys_ea6350v3-squashfs-factory.bin - Click update. - Read and accept the warning - The router LED will start blinking. When the router LED goes solid, you can now navigate to 192.168.1.1 to your new OpenWrt installation. Sysupgrade: - Flash the sysupgrade image as usual. Please: try to do a reset everytime you can (doing it with LuCI is easy and can be done in the same step). Recovery (Automatic): - If the device fails to boot after install or upgrade, whilst the unit is turned on: 1 - Wait 15 seconds 2 - Switch Off and Wait 10 seconds 3 - Switch on 4 - Repeat steps 1 to 3, 3 times then go to 5. 5 - U-boot will have now erased the failed update and switched back to the last working firmware - you should be able to access your router on LAN. Recovery (Manual): - The steps for manual recovery are the same as the generic u-boot tftp client method. Back To Stock: - Use the generic recovery using the tftp client method to flash the "civic.img". Also you can strip-and-pad the original image and use the generic "mtd" method by flashing over the "kernel" partition. * Just be careful to flash in the partition that the device is currently booted. Signed-off-by: Ryan Pannell <ryan@osukl.com> Signed-off-by: Oever González <notengobattery@gmail.com> [minor edits, removed second compatible of nand, added dtb entry to 4.19] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: dts: Unify naming of gpio-led nodesPetr Štetiar2019-01-248-8/+8
| | | | | | | | | | | | | | In DTS Checklist[1] we're now demanding proper generic node names, as the name of a node should reflect the function of the device and use generic name for that[2]. Everybody seems to be copy&pasting from DTS files available in the repository today, so let's unify that naming there as well and provide proper examples. 1. https://openwrt.org/submitting-patches#dts_checklist 2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [split up]
* ipq40xx: dts: Unify naming of gpio-keys nodesPetr Štetiar2019-01-248-8/+8
| | | | | | | | | | | | | | In DTS Checklist[1] we're now demanding proper generic node names, as the name of a node should reflect the function of the device and use generic name for that[2]. Everybody seems to be copy&pasting from DTS files available in the repository today, so let's unify that naming there as well and provide proper examples. 1. https://openwrt.org/submitting-patches#dts_checklist 2. https://github.com/devicetree-org/devicetree-specification/blob/master/source/devicetree-basics.rst#generic-names-recommendation Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [split up]
* ipq40xx: convert to device-tree based USB LED triggerChristian Lamparter2018-12-272-0/+54
| | | | | | | | Thanks to the ledtrig-usb.c the USB LED trigger can be setup in the device-tree definition for the Asus RT-AC58U and ZyXEL NBG6617. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: fix pcie wifi unit-address of the MR33 and A62Christian Lamparter2018-12-202-2/+2
| | | | | | | The unit address should be wifi@1,0 since the device is located at 0000:01:00.0. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: GL-B1300: convert to new partitions layoutChristian Lamparter2018-12-171-52/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | Alberto Bursi reported: >The patch "ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300" >prevents boot on my B1300. I compiled from latest sources. The GL-B1300 was using the discouraged direct subnodes method to declare the partitions on the flash. |The partition table should be a subnode of the flash node and should be named |'partitions'. This node should have the following property: |- compatible : (required) must be "fixed-partitions" |Partitions are then defined in subnodes of the partitions node. | |For backwards compatibility partitions as direct subnodes of the flash device are |supported. This use is discouraged. |NOTE: also for backwards compatibility, direct subnodes that have a compatible |string are not considered partitions, as they may be used for other bindings. <https://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt> Hence, this patch converts the device to the "partitions" layout. Fixes: 1cbe457cf94 ("ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300") Reported-by: Alberto Bursi <bobafetthotmail@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* treewide: dts: Remove default-state=off property from all gpio LED nodesPetr Štetiar2018-12-171-2/+0
| | | | | | | | | | | | | | | | | | >From the Documentation/devicetree/bindings/leds/common.txt: - default-state : The initial state of the LED. Valid values are "on", "off", and "keep". If the LED is already on or off and the default-state property is set the to same value, then no glitch should be produced where the LED momentarily turns off (or on). The "keep" setting will keep the LED at whatever its current state is, without producing a glitch. The default is off if this property is not present. So setting the default-state of the LEDs to `off` is redundant as `off` is default LED state anyway. We should remove it as almost every new PR/patch submission contains this property by default which seems to be just copy&paste from some DTS file already present in the tree. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq40xx: device-tree overhaulChristian Lamparter2018-12-1712-141/+106
| | | | | | | | | | | | - replace licence texts with SPDX-License-Identifier where applicable. - make node-names more generic to fit with Device-Tree Release v0.2 Section 2.2.2 Generic Names Recommendation. - utilize wifi0/1, blsp1_uart1 labels Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: specify "firmware" partition format for EnGenius EAP1300Christian Lamparter2018-12-171-0/+1
| | | | | | | Specify firmware partition format by compatible string. Cc: Steven Lin <steven.lin@senao.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: specify "firmware" partition format for GL.iNet GL-B1300Christian Lamparter2018-12-171-0/+1
| | | | | | Specify firmware partition format by compatible string. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: specify "firmware" partition format for Compex WPJ428Christian Lamparter2018-12-171-0/+1
| | | | | | Specify firmware partition format by compatible string. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: specify "firmware" partition format for ZyXEL WRE6606Christian Lamparter2018-12-171-0/+1
| | | | | | Specify firmware partition format by compatible string. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: specify "firmware" partition format for Netgear EX61[50]0v2Christian Lamparter2018-12-171-0/+1
| | | | | | | Specify firmware partition format by compatible string. Cc: David Bauer <mail@david-bauer.net> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: specify "firmware" partition format for AVM Fritz!Box 4040Christian Lamparter2018-12-171-0/+1
| | | | | | Specify firmware partition format by compatible string. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for EnGenius EAP1300Steven Lin2018-12-051-0/+230
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SOC: IPQ4018 / QCA Dakota CPU: Quad-Core ARMv7 Processor rev 5 (v7l) Cortex-A7 DRAM: 256 MiB NOR: 32 MiB ETH: Qualcomm Atheros QCA8072 WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2 INPUT: RESET Button LEDS: Power, LAN, MESH, WLAN 2.4GHz, WLAN 5GHz 1. Load Ramdisk via U-Boot To set up the flash memory environment, do the following: a. As a preliminary step, ensure that the board console port is connected to the PC using these RS232 parameters: * 115200bps * 8N1 b. Confirm that the PC is connected to the board using one of the Ethernet ports. Set a static ip 192.168.99.8 for Ethernet that connects to board. The PC must have a TFTP server launched and listening on the interface to which the board is connected. At this stage power up the board and, after a few seconds, press 4 and then any key during the countdown. U-BOOT> set serverip 192.168.99.8 && set ipaddr 192.168.99.9 && tftpboot 0x84000000 openwrt.itb && bootm 2. Load image via GUI a. Upgrade EAP1300 to FW v3.5.3.2 In the GUI, System Manager > Firmware > Firmware Upgrade, to do upgrade. b. Transfer to OpenWrt from EnGenius. In Firmware Upgrade page, to upgrade yours openwrt-ipq40xx-engenius_eap1300-squashfs-sysupgrade.bin. 3. Revert to EnGenius EAP1300 To flash openwrt-ipq40xx-engenius_eap1300-squashfs-factory.bin by using sysupgrade command and "DO NOT" keep configuration. $ sysupgrade –n openwrt-ipq40xx-engenius_eap1300-squashfs-factory.bin Signed-off-by: Steven Lin <steven.lin@senao.com>
* ipq40xx: nbg6617: switch to upstream boardfile variantChristian Lamparter2018-11-011-0/+2
| | | | | | | The NBG6617's boardfile was merged and this device can now switch to the upstream ath10k board-2.bin. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: rt-ac58u: replace ubi auto load hackChristian Lamparter2018-11-011-0/+4
| | | | | | | | | | | | This patch replaces the custom autoload quirk of the RT-AC58U with a bootargs-append overwrite. The vendor's u-boot doesn't leave the bootargs / cmdline alone, so the it can't be overwritten in any other way right now... And of course, this will be a lot of fun to deal with once the device switches to the new spi-nand subsystem. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* treewide: fix some cosmetic glitches in dts filesPaul Wassi2018-08-271-1/+1
| | | | | | | | | | | - fix single spaces hidden by a tab - replace indentation with spaces by tabs - make empty lines empty - drop trailing whitespace - drop unnecessary blank lines Signed-off-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Paul Wassi <p.wassi@gmx.at>
* ipq40xx: Limit usable channels for OpenMesh A62 PHYsSven Eckelmann2018-07-301-0/+2
| | | | | | | | | The OpenMesh A62 is a tri-band device (1x 2.4GHz, 2x 5GHz) with special filters in front of the RX+TX paths to the 5GHz PHYs. These filtered channel can in theory still be used by the hardware but the signal strength is reduced so much that it makes no sense. Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
* ipq40xx: use patches that were sent upstreamJohn Crispin2018-07-2512-14/+14
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* ipq40xx: drop bus driver, its a no-op and only does lots of alloc/freeJohn Crispin2018-07-2411-1152/+0
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* ipq40xx: add support for the ZyXEL NBG6617Christian Lamparter2018-06-261-0/+321
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for ZyXEL NBG6617 Hardware highlights: SOC: IPQ4018 / QCA Dakota CPU: Quad-Core ARMv7 Processor rev 5 (v7l) Cortex-A7 DRAM: 256 MiB DDR3L-1600/1866 Nanya NT5CC128M16IP-DI @ 537 MHz NOR: 32 MiB Macronix MX25L25635F ETH: Qualcomm Atheros QCA8075 Gigabit Switch (4 x LAN, 1 x WAN) USB: 1 x 3.0 (via Synopsys DesignWare DWC3 controller in the SoC) WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2 INPUT: RESET Button, WIFI/Rfkill Togglebutton, WPS Button LEDS: Power, WAN, LAN 1-4, WLAN 2.4GHz, WLAN 5GHz, USB, WPS Serial: WARNING: The serial port needs a TTL/RS-232 3.3v level converter! The Serial setting is 115200-8-N-1. The 1x4 .1" header comes pre-soldered. Pinout: 1. 3v3 (Label printed on the PCB), 2. RX, 3. GND, 4. TX first install / debricking / restore stock: 0. Have a PC running a tftp-server @ 192.168.1.99/24 1. connect the PC to any LAN-Ports 2. put the openwrt...-factory.bin (or V1.00(ABCT.X).bin for stock) file into the tftp-server root directory and rename it to just "ras.bin". 3. power-cycle the router and hold down the the WPS button (for 30sek) 4. Wait (for a long time - the serial console provides some progress reports. The u-boot says it best: "Please be patient". 5. Once the power LED starts to flashes slowly and the USB + WPS LEDs flashes fast at the same time. You have to reboot the device and it should then come right up. Installation via Web-UI: 0. Connect a PC to the powered-on router. It will assign your PC a IP-address via DHCP 1. Access the Web-UI at 192.168.1.1 (Default Passwort: 1234) 2. Go to the "Expert Mode" 3. Under "Maintenance", select "Firmware-Upgrade" 4. Upload the OpenWRT factory image 5. Wait for the Device to finish. It will reboot into OpenWRT without any additional actions needed. To open the ZyXEL NBG6617: 0. remove the four rubber feet glued on the backside 1. remove the four philips screws and pry open the top cover (by applying force between the plastic top housing from the backside/lan-port side) Access the real u-boot shell: ZyXEL uses a proprietary loader/shell on top of u-boot: "ZyXEL zloader v2.02" When the device is starting up, the user can enter the the loader shell by simply pressing a key within the 3 seconds once the following string appears on the serial console: | Hit any key to stop autoboot: 3 The user is then dropped to a locked shell. |NBG6617> HELP |ATEN x[,y] set BootExtension Debug Flag (y=password) |ATSE x show the seed of password generator |ATSH dump manufacturer related data in ROM |ATRT [x,y,z,u] RAM read/write test (x=level, y=start addr, z=end addr, u=iterations) |ATGO boot up whole system |ATUR x upgrade RAS image (filename) |NBG6617> In order to escape/unlock a password challenge has to be passed. Note: the value is dynamic! you have to calculate your own! First use ATSE $MODELNAME (MODELNAME is the hostname in u-boot env) to get the challange value/seed. |NBG6617> ATSE NBG6617 |012345678901 This seed/value can be converted to the password with the help of this bash script (Thanks to http://www.adslayuda.com/Zyxel650-9.html authors): - tool.sh - ror32() { echo $(( ($1 >> $2) | (($1 << (32 - $2) & (2**32-1)) ) )) } v="0x$1" a="0x${v:2:6}" b=$(( $a + 0x10F0A563)) c=$(( 0x${v:12:14} & 7 )) p=$(( $(ror32 $b $c) ^ $a )) printf "ATEN 1,%X\n" $p - end of tool.sh - |# bash ./tool.sh 012345678901 | |ATEN 1,879C711 copy and paste the result into the shell to unlock zloader. |NBG6617> ATEN 1,0046B0017430 If the entered code was correct the shell will change to use the ATGU command to enter the real u-boot shell. |NBG6617> ATGU |NBG6617# Co-authored-by: David Bauer <mail@david-bauer.net> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: add support for ZyXEL WRE6606Magnus Frühling2018-06-181-0/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core RAM: 128 MB Nanya NT5CC64M16GP-DI FLASH: 16 MiB Macronix MX25L12845EMI-12G ETH: Qualcomm QCA8072 WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n 2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11n/ac W2 2x2 INPUT: WPS, Mode-toggle-switch LED: Power, WLAN 2.4GHz, WLAN 5GHz, LAN, WPS (LAN not controllable by software) (WLAN each green / red) SERIAL: Header next to eth-phy. VCC, TX, GND, RX (Square hole is VCC) The Serial setting is 115200-8-N-1. Tested and working: - Ethernet (Correct MAC-address) - 2.4 GHz WiFi (Correct MAC-address) - 5 GHz WiFi (Correct MAC-address) - Factory installation from tftp - OpenWRT sysupgrade - LEDs - WPS Button Not Working: - Mode-toggle-switch Install via TFTP: Connect to the devices serial. Hit Enter-Key in bootloader to stop autobooting. Command `tftpboot` will pull an initramfs image named `C0A86302.img` from a tftp server at `192.168.99.08/24`. After successfull transfer, boot the image with `bootm`. To persistently write the firmware, flash an openwrt sysupgrade image from inside the initramfs, for example transfer via `scp <sysupgrade> root@192.168.1.1:/tmp` and flash on the device with `sysupgrade -n /tmp/<sysupgrade>`. append-cmdline patch taken from chunkeeys work on the NBG6617. Signed-off-by: Magnus Frühling <skorpy@frankfurt.ccc.de> Co-authored-by: David Bauer <mail@david-bauer.net> Co-authored-by: Christian Lamparter <chunkeey@googlemail.com>
* ipq40xx: flesh out MR33's pcie dts definitionsChristian Lamparter2018-06-081-0/+13
| | | | Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: fix OpenMesh A62 dtc warningsChristian Lamparter2018-06-081-8/+6
| | | | | | | | | | | | | | | | | Warning (pci_bridge): Node /soc/pci@40000000/pcie@0 missing ranges for PCI bridge (or not a bridge) Warning (pci_bridge): Node /soc/pci@40000000/pcie@0 missing bus-range for PCI bridge Warning (pci_bridge): Node /soc/pci@40000000/pcie@0/ath10k@0,0 node name is not "pci" or "pcie" Warning (pci_bridge): Node /soc/pci@40000000/pcie@0/ath10k@0,0 missing ranges for PCI bridge (or not a bridge) Warning (pci_bridge): Node /soc/pci@40000000/pcie@0/ath10k@0,0 incorrect #address-cells for PCI bridge Warning (pci_bridge): Node /soc/pci@40000000/pcie@0/ath10k@0,0 incorrect #size-cells for PCI bridge Warning (pci_bridge): Node /soc/pci@40000000/pcie@0/ath10k@0,0 missing bus-range for PCI bridge Warning (unit_address_format): Failed prerequisite 'pci_bridge' Warning (pci_device_reg): Failed prerequisite 'pci_bridge' Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' Cc: Sven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> Tested-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
* ipq40xx: fix dtc warning about /soc/ad-hoc-bus missing a unit nameChristian Lamparter2018-06-081-1/+1
| | | | | | | This patch fixes a dtc warning that shows up for every device Warning (unit_address_vs_reg): Node /soc/ad-hoc-bus has a reg or ranges property, but no unit name Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: set #size-cells to 0 to fix warningChristian Lamparter2018-06-081-1/+1
| | | | | | | | | | | qcom-ipq4018-ex6100v2.dtb: Warning (reg_format): "reg" property in /led_spi/led_gpio@0 has invalid length (4 bytes) qcom-ipq4018-ex6100v2.dtb: Warning (avoid_default_addr_size): Relying on default #size-cells value for /led_spi/led_gpio@0 Cc: Thomas Hebb <tommyhebb@gmail.com> Cc: David Bauer <mail@david-bauer.net> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: add support for OpenMesh A62Sven Eckelmann2018-04-231-0/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * QCA IPQ4019 * 256 MB of RAM * 32 MB of SPI NOR flash (s25fl256s1) - 2x 15 MB available; but one of the 15 MB regions is the recovery image * 2T2R 2.4 GHz - QCA4019 hw1.0 (SoC) - requires special BDF in QCA4019/hw1.0/board-2.bin with bus=ahb,bmi-chip-id=0,bmi-board-id=20,variant=OM-A62 * 2T2R 5 GHz (channel 36-64) - QCA9888 hw2.0 (PCI) - requires special BDF in QCA9888/hw2.0/board-2.bin bus=pci,bmi-chip-id=0,bmi-board-id=16,variant=OM-A62 * 2T2R 5 GHz (channel 100-165) - QCA4019 hw1.0 (SoC) - requires special BDF in QCA4019/hw1.0/board-2.bin with bus=ahb,bmi-chip-id=0,bmi-board-id=21,variant=OM-A62 * multi-color LED (controlled via red/green/blue GPIOs) * 1x button (reset; kmod-input-gpio-keys compatible) * external watchdog - triggered GPIO * 1x USB (xHCI) * TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX) * 2x gigabit ethernet - phy@mdio3: + Label: Ethernet 1 + gmac0 (ethaddr) in original firmware + 802.3at POE+ - phy@mdio4: + Label: Ethernet 2 + gmac1 (eth1addr) in original firmware + 18-24V passive POE (mode B) * powered only via POE The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be used to transfer the factory image to the u-boot when the device boots up. The initramfs image can be started using setenv bootargs 'loglevel=8 earlycon=msm_serial_dm,0x78af000 console=ttyMSM0,115200 mtdparts=spi0.0:256k(0:SBL1),128k(0:MIBIB),384k(0:QSEE),64k(0:CDT),64k(0:DDRPARAMS),64k(0:APPSBLENV),512k(0:APPSBL),64k(0:ART),64k(0:custom),64k(0:KEYS),15552k(inactive),15552k(inactive2)' tftpboot 0x84000000 openwrt-ipq40xx-openmesh_a62-initramfs-fit-uImage.itb set fdt_high 0x85000000 bootm 0x84000000 Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
* ipq40xx: use upstream board-2.binSven Eckelmann2018-04-234-4/+8
| | | | | | | The BDFs for all boards were upstreamed to the ath10k-firmware repository and are now part of ath10k-firmware 2018-04-19. Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
* ipq40xx: ex61x0v2: Disable unused GMACsThomas Hebb2018-04-201-0/+1
| | | | | | | These devices have only one ethernet port. It doesn't make sense to expose the unused GMACs as separate network devices. Signed-off-by: Thomas Hebb <tommyhebb@gmail.com>
* ipq40xx: Move reserved-memory DT to qcom-ipq4019.dtsiSven Eckelmann2018-04-208-128/+0
| | | | | | | | The tz and smem reserved-memory information handled in the upstream Linux sources by the SoC specific dtsi and not by the the boards dts. Using the same approach in OpenWrt avoids unneccessary duplication. Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
* ipq40xx: Remove unused reserved-memory nodesSven Eckelmann2018-04-206-50/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reserved-memory regions are mostly undocumented by QCA and are named very unspecific in the QSDK device trees. It was tried to clean them up by commit 71ed9f10a33e ("ipq40xx: Use detailed reserved memory for A42") and similar changes. The features which require these regions were mostly unknown but Senthilkumar N L <snlakshm@qti.qualcomm.com> and Sricharan Ramabadhran <srichara@qti.qualcomm.com> provided some more insight in some of them: * crash dump feature - a couple of regions used when 'qca,scm_restart_reason' dt node has the value 'dload_status' not set to 1 + apps_bl <0x87000000 0x400000> + sbl <0x87400000 0x100000> + cnss_debug <0x87400000 0x100000> + cpu_context_dump <0x87b00000 0x080000> - required driver not available in Linux - safe to remove * QSEE app execution - region tz_apps <0x87b80000 0x280000> - required driver not available in Linux - safe to remove * communication with TZ/QSEE - region smem <0x87b80000 0x280000> - driver changes not yet upstreamed - must not be removed because any access can crash kernel/program * trustzone (QSEE) private memory - region tz <0x87e80000 0x180000> - must not be removed because any access can crash kernel/program Removing the unnecessary regions saves some kilobyte of reserved-memory and cleans up the device tree: * 2560 KiB - 8devices Jalapeno - AVM FRITZ!Box 4040 - Compex WPJ428 - Meraki MR33 Access Point - OpenMesh A42 * 14336 KiB - GL.iNet GL-B1300 - Qualcomm Technologies, Inc. IPQ40xx/AP-DK01.1-C1 Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
* ipq40xx: add support for Netgear EX6100v2/EX6150v2David Bauer2018-04-133-0/+388
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core RAM: 256 MB Winbond W632GU6KB12J FLASH: 16 MiB Macronix MX25L12805D ETH: Qualcomm QCA8072 WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n/ac 2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11n/ac 1x1 (EX6100) 2x2 (EX6150) INPUT: Power, WPS, reset button AP / Range-extender toggle LED: Power, Router, Extender (dual), WPS, Left-/Right-arrow SERIAL: Header next to QCA8072 chip. VCC, TX, RX, GND (Square hole is VCC) WARNING: The serial port needs a TTL/RS-232 v3.3 level converter! The Serial setting is 115200-8-N-1. Tested and working: - Ethernet - 2.4 GHz WiFi (Correct MAC-address) - 5 GHz WiFi (Correct MAC-address) - Factory installation from WebIF - Factory installation from tftp - OpenWRT sysupgrade (Preserving and non-preserving) - LEDs - Buttons Not Working: - AP/Extender toggle-switch Untested: - Support on EX6100v2. They share the same GPL-Code and vendor-images. The 6100v2 seems to lack one 5GHz stream and differs in the 5GHz board-blob. I only own a EX6150v2, therefore i am only able to verify functionality on this device. Install via Web-Interface: Upload the factory image to the device to the Netgear Web-Interface. The device might asks you to confirm the update a second time due to detecting the OpenWRT firmware as older. The device will automatically reboot after the image is written to flash. Install via TFTP: Connect to the devices serial. Hit Enter-Key in bootloader to stop autobooting. Command "fw_recovery" will start a tftp server, waiting for a DNI image to be pushed. Assign your computer the IP-address 192.168.1.10/24. Push image with tftp -4 -v -m binary 192.168.1.1 -c put <OPENWRT_FACTORY> Device will erase factory-partition first, then writes the pushed image to flash and reboots. Parts of this commit are based on Thomas Hebb's work on the openwrt-devel mailinglist. See https://lists.openwrt.org/pipermail/openwrt-devel/2018-January/043418.html Signed-off-by: David Bauer <mail@david-bauer.net>