From 6f6c00cfc95f603a533ff142cc0e1d34a4ab0588 Mon Sep 17 00:00:00 2001 From: Kristian Evensen Date: Sun, 20 Oct 2019 11:33:13 +0200 Subject: ipq40xx: Add support for Unielec U4019 This commit adds support for the 32MB storage/512MB RAM version of the U4019 IPQ4019-based board from Unielec. The board has the following specifications: * Qualcomm IPQ4019 (running at 717MHz) * 512MB DDR3 RAM (optional 256MB/1GB) * 32MB SPI NOR (optional 8/16MB or NAND) * Five gigabit ports (Qualcomm QCA8075) * 1x 2.4 GHz wifi (QCA4019 hw1.0) * 1x 5 Ghz wifi (QCA4019 hw1.0) * 1x mini-PCIe slot (only USB-pins connected) * 1x SIM slot (mini-SIM) * 1x USB2.0 port * 1x button * 1x controllable LED * 1x micro SD-card reader Working: * Ethernet * Wifi * USB-port * mini-PCIe slot + SIM slot * Button * Sysupgrade Not working: * SD card slot (no upstream support) Installation instructions: In order to install OpenWRT on the U4019, you need to go via the initramfs-image. The installation steps are as follows: * Connect to board via serial (header exposed and clearly marked). * Interrupt bootloader by pressing a button. * Copy the initramfs-image to your tftp folder, call the file C0A80079.img. * Give the network interface connected to the U4019 the address 192.168.0.156/24. * Start your tftp-server and run tftpboot on the board. * Run bootm when the file has been transferred, to boot OpenWRT. * Once OpenWRT has booted, copy the sysupgrade-image to the device and run sysupgrade to install OpenWRT on the U4019. Notes: - Since IPQ4019 has been moved to 4.19, I have not added support for kernel 4.14. - There is a bug with hardware encryption on IPQ4019, causing poor performance with TCP and ipsec (see for example FS#2355). In order to improve performance, I have disabled hardware encryption in the DTS. We can enable hw. enc. once/if bug is fixed. - In order for Ethernet to work, the phy has to be reset by setting gpio 47 low/high. Adding support for phy reset via gpio required patching the mdio-driver, and the code added comes from the vendor driver. I do not know if patching the driver is an acceptable approach or not. v1->v2: * Do not use wildcard as identifier in the board.d-scripts (thanks Adrian Schmutzler). Signed-off-by: Kristian Evensen --- .../ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'target/linux/ipq40xx/base-files/etc/hotplug.d') diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index bdb12b2921..7a9cf6873e 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -74,7 +74,8 @@ case "$FIRMWARE" in openmesh,a42 |\ openmesh,a62 |\ qxwlan,e2600ac-c1 |\ - qxwlan,e2600ac-c2) + qxwlan,e2600ac-c2 |\ + unielec,u4019-32m) caldata_extract "0:ART" 0x1000 0x2f20 ;; engenius,ens620ext) @@ -135,7 +136,8 @@ case "$FIRMWARE" in openmesh,a42 |\ openmesh,a62 |\ qxwlan,e2600ac-c1 |\ - qxwlan,e2600ac-c2) + qxwlan,e2600ac-c2 | + unielec,u4019-32m) caldata_extract "0:ART" 0x5000 0x2f20 ;; engenius,ens620ext) -- cgit v1.2.3