aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/files-5.4/arch/arm/boot
Commit message (Collapse)AuthorAgeFilesLines
* ipq806x: consolidate DTS files directorySungbo Eo2021-01-031-242/+0
| | | | | | | | | Commit 29ca10e537ee ("ipq806x: remove support for kernel 4.19") moved DTS files to "files" directory, but after that a new DTS file was added to the former "files-5.4" directory. Move it to the new directory. Fixes: 98b86296e67d ("ipq806x: add support for ASRock G10") Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq806x: add support for ASRock G10Christian Lamparter2020-12-221-0/+242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ASRock G10 is a 2.4/5 GHz band 11ac "Gaming" router, based on Qualcomm IPQ8064. Specifications: SoC: Qualcomm IPQ8064 CPU: Dual-Core A15 @ (384 - 1,400 MHz, 2C2T) DRAM: 512 MiB (~467 MiB available) NAND: 128 MB (Micron MT29F1G08ABBEAH4) WLAN0: 4T4R 5 GHz Wlan (QCA9980) WLAN1: 4T4R 2.4 GHz Wlan (QCA9980) ETH: 5x 10/100/1000 Mbps Ethernet (QCA8337) INPUT: Reset Button, WPS 2.4G and WPS 5G Button LEDS: 1 multicolor status LED USB: 2x USB 3.0 Type-A POWER: 12VDC/3A AC Adapter + dedicated Power Switch UART: Setting is 115200-8-N-1. 1x4 .1" unpopulated header on the PCB (J6 - very tiny silkscreen next to TX). Pinout: 1. 3v3 (Square - best skipped!), 2. RX, 3. GND, 4. TX WARNING: The serial port needs a TTL/RS-232 3.3v level converter! (Depending on the serial adapter RX and TX might need to be swapped). Note about the IR-Remote: There's a 8-Bit MCU (SONIX SN8F25E21SG) which is controlling the IR-Remote and is fed by the IR-Photodiode. The SoC can talk to the device via I2C. The vendor's GPL archive comes with the source of the interface driver for this as a (character driver), the main control software is however a blob. Installation Instructions: 1. Download factory image to disk 2. Apply factory image via stock web-gui Back to stock: 1. Login to router via ssh 2. run "asrock_g10_back_to_factory" script from /sbin Notes: - If something goes wrong durring sysupgrade, router will go back to factory image. - Asrock G10 uses partition layout from smem. So partition layout can be normal or alternate. - 900-arm-add-cmdline-override.patch was copied from 102-powerpc-add-cmdline-override.patch from powerpc target. Knowledge about BOOTCONFIG partition was based on user "jmomo" post from old OpenWrt forum (Post #50): https://forum.archive.openwrt.org/viewtopic.php?id=65956&p=2 Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [bump to 5.4, add factory image, fix sysupgrade, convert partition layout to smem, remove ipq-wifi-asrock-g10 and use ART, minor fixes] Co-Authored-by: Pawel Dembicki <paweldembicki@gmail.com> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> Tested-by: Lukasz Ostapiuk <palibrzuch@gmail.com>
* ipq806x: remove support for kernel 4.19Adrian Schmutzler2020-10-1919-5156/+0
| | | | | | | | | | | | | The target uses 5.4 as default kernel since 04/2020. Kernel 4.19 support is not really maintained anymore, and there has been a lot of changes between 4.19 and 5.4 on this target. Despite, new devices are typically added for 5.4 only anyway. Thus, make maintaining of old stuff and reviewing of new stuff easier by removing support for kernel 4.19. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: remove model name from LED labelsAdrian Schmutzler2020-10-0713-97/+97
| | | | | | | | | | Like in the previous patches for ath79 and ramips, this will remove the "devicename" from LED labels in ipq806x. The devicename is removed in DTS files and 01_leds, and a migration script is added. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: fix support of Edgecore ECW5410 supportAdrian Schmutzler2020-09-191-67/+6
| | | | | | | | | | | | | | | | This fixes several stylistic and functional errors of the recently added Edgecore ECW5410: - fix call in 11-ath10k-caldata - use hex notation in 11-ath10k-caldata - remove redundant definitions from DTS that are already in DTSI - use proper sorting in image/Makefile - use DEVICE_VENDOR/DEVICE_MODEL instead of DEVICE_TITLE - use SOC instead of DEVICE_DTS Fixes: 59f0a0fd839e ("ipq806x: add Edgecore ECW5410 support") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: add Edgecore ECW5410 supportRobert Marko2020-09-171-0/+400
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Edgecore ECW5410 indoor AP. Specification: - SoC: Qualcomm Atheros IPQ8068 ARMv7 2x Cortex A-15 - RAM: 256MB(225 usable) DDR3 - NOR Flash: 16MB SPI NOR - NAND Flash: 128MB S34MS01G2 Parallel NAND - Ethernet: 2 x 1G via 2x AR8033 PHY-s connected directly to GMAC2 and GMAC3 via SGMII (802.3af POE IN on eth0) - USB: 1 x USB 3.0 SuperSpeed - WLAN: 2x QCA9994 AC Wawe 2 (1x 2GHz bgn, 1x 5GHz acn) - CC2540 BLE - UART console on RJ45 next to ethernet ports exposed. Its Cisco pin compatible, 115200 8n1 baud. Installation instructions: Through stock firmware or initramfs. 1.Connect to console 2. Login with root account, if password is unknown then interrupt the boot with f and reset it in failsafe. 3. Transfer factory image 4. Flash the image with ubiformat /dev/mtd1 -y -f <your factory image path> This will replace the rootfs2 with OpenWrt, if you are currently running from rootfs2 then simply change /dev/mtd1 to /dev/mtd0 Note Initramfs: 1. Connect to console 2. Transfer the image from TFTP server with tftpboot, or by using DHCP advertised image with dhcp command. 3. bootm 4. Run ubiformat /dev/mtd1 You need to interrupt the bootloader after rebooting and run: run altbootcmd This will switch your active rootfs partition to one you wrote to and boot from it. So if rootfs1 is active, then it will change it to rootfs2. This will format the rootfs2 partition, if your active partition is 2 then simply change /dev/mtd1 with /dev/mtd0 If you dont format the partition you will be writing too, then sysupgrade will find existing UBI rootfs and kernel volumes and update those. This will result in wrong ordering and OpenWrt will panic on boot. 5. Transfer sysupgrade image 6. Flash with sysupgrade -n. Note that sysupgrade will write the image to rootfs partition that is not currently in use. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq806x: replace pci patchset with upstream versionAnsuel Smith2020-08-2414-18/+18
| | | | | | | | | | | | | | | | | | | | | Changes: - Update patches - Update dts with new binding Tx term offset dropped and replaced with a new compatible Removed: - 0071-5-PCI-qcom-Programming-the-PCIE-iATU-for-IPQ806x Pci init does the same exact thing (was needed in older kernel version) - 0071-7-pcie-Set-PCIE-MRRS-and-MPS-to-256B Rejected upstream, can't find any reason to have this. No regression with testing it on R7800. Tested on R7800 (ipq8065), R7500 v2 ("ipq8064-v2") Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800] [rebase and refresh] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: create shared DTSI for EA7500 v1 and EA8500Adrian Schmutzler2020-08-223-392/+226
| | | | | | | Most of the definitions for the two devices are shared, so put them in a shared DTSI. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: move further common nodes to the DTSI filesAdrian Schmutzler2020-08-1715-252/+53
| | | | | | | | | The moves a few additional common nodes to the common DTSI files for qcom-ipq8064-v2.0 and qcom-ipq8065 devices. Remove a few redundant definitions on the way. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: replace phy dwc3 patch with upstream versionAnsuel Smith2020-08-132-12/+12
| | | | | | | | | | | | - Replace dwc3 phy patch with upstream version - Rework the dts to use the upstream bindings - Update changed config flags - Rename module to reflect config name Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [fix qcom,tx-deamp_3_5db typo, refresh patches, rename kmod] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Paul Blazejowski <paulb@blazebox.homeip.net> [R7800]
* ipq806x: use qcom-ipq8064-v1.0.dtsi from upstreamAdrian Schmutzler2020-08-056-222/+71
| | | | | | | | | | | | | | | | | This uses upstream qcom-ipq8064-v1.0.dtsi and modifies it by patches instead of keeping a local version. As a consequence: - we use a part of the shared definitions there and update device DTS files accordingly - we move additional stuff from our local v1.0.dtsi to the patch - we drop partitions, LEDs and keys from the file as we will implement them differently anyway Like with the previous patch, this follows the idea that a diff from upstream might be easier to handle than a big file of our own with different distribution pattern of properties. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: use qcom-ipq8064.dtsi from upstreamAdrian Schmutzler2020-08-054-1578/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Though a qcom-ipq8064.dtsi file exists upstream, we still do overwrite it with a full version of our own in the ipq806x target. About half of the contents of our file are upstream content, the other half are local improvements. To prevent us from having a lot of code maintained twice in parallel, this adjusts the target to use the upstream qcom-ipq8064.dtsi. Our local changes are arranged into three patches, the first pulling a commit from upstream, the second doing a few small adjustments, and the third adding all additional stuff. This should get us the best of both worlds. The property "ports-implemented" on sata@29000000 is moved to 2nd-level DTSI files as kernel defines it there as well. While at, rename 080-ARM-dts-qcom-add-gpio-ranges-property.patch to include the kernel version where it's added upstream. Even though this might look more complicated in the first place, the aim is to bring our files closer to upstream, so we can benefit from changes directly and vice-versa. After all, this drop about 650 lines just copied from the upstream DTSI file. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: really fix aliases node for Qualcomm IPQ8064/DB149Adrian Schmutzler2020-07-141-1/+6
| | | | | | | | | | | | | | | Having looked at this again, it appears that only gsbi2_serial is actually enabled for this device, so the entry in the broken aliases node was correct. Therefore, this needs to set its own serial0 instead of inheriting "serial0 = &gsbi4_serial;" from DTSI. Do this with the correctly named aliases node now. Fixes: c83f7b6d217f ("ipq806x: fix aliases node name for Qualcomm IPQ8064/DB149") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: use consistent DT labels for gsbiX_serialAdrian Schmutzler2020-07-141-2/+2
| | | | | | | | | | Kernel uses the label gsbiX_serial, so let's adjust our labels to this naming scheme. This is cosmetic, and actually only already existing gsbi4_serial has been used at all. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: fix aliases node name for Qualcomm IPQ8064/DB149Adrian Schmutzler2020-07-141-6/+1
| | | | | | | | | | | | | | | | | | | | | | | This device uses a node incorrectly named "alias" instead of "aliases" since it was introduced. Remove it without replacement, as the definitions in it don't seem to be required anyway: The serial0 definition has never been effective anyway and this would be the only device deviating from the common setting "serial0 = &gsbi4_serial;" for ipq8064. (So, maybe the wrong node prevented us from finding out about the wrong serial definition?) The mdio-gpio0 alias was supposed to be removed in d2a2eb7e48f6 anyway, the redundant definition in the alias node was just overlooked back then. Fixes: 0fd202f3e563 ("ipq806x: add db149 dts files") Fixes: d2a2eb7e48f6 ("ipq806x: replace caf nss-gmac driver by upstream stmmac") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: enable Linksys EA8500 eth1 interfacePawel Dembicki2020-07-111-0/+1
| | | | | | | | | | | | | At this moment Linksys EA8500 uses only eth0. This patch change switch registers, which allow to use eth1 as lan and eth0 as wan. The method work with similar Linksys EA7500V1 and it work with EA8500. Suggested-by: Sungbo Eo <mans0n@gorani.run> Tested-by: Brian Onn <brian.a.onn@gmail.com> Tested-by: Adrian Panella <ianchi74@outlook.com> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ipq806x: add support for Linksys EA7500 V1Pawel Dembicki2020-07-081-0/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Linksys EA7500 V1 router. Specification: - CPU: Qualcomm IPQ8064 - RAM: 256MB - Flash: NAND 128MB - WiFi: QCA9982 an+ac + QCA9983 bgn - Ethernet: 5 GBE Ports (WAN+ 4xLAN) (QCA8337) - USB: 1x USB 3.0 1x USB2.0 - Serial console: RJ-45 115200 8n1 (1V8 Voltage level) - 2 Buttons - 1 LED Known issues: - Some devices won't flash via web gui Installation: - Newer stock images doesn't allow to install custom firmware. - Please downgrade software to 1.1.2 version. Official firmware: https://downloads.linksys.com/downloads/firmware/FW_EA7500_1.1.2.172843_prod.gpg.img - Do it two times to downgrade all stored images. - Apply factory image via web-gui. Serial + TFTP method: - downgrade to 1.1.2 two times - connect ehternet and serial cable - set ip address of tftp server to 192.168.1.254 - put openwrt factory image to tftp folder and rename it to macan.bin - stop device while booting in u-boot - run command: "run flashimg" - run command: "setenv boot_part 1" - run command "saveenv" - reset Back to stock: - Please use old non-gpg image like this 1.1.2: https://downloads.linksys.com/downloads/firmware/FW_EA7500_1.1.2.172843_prod.img - ssh to router and copy image to tmp - use sysupgrade -n -F Tested by github users: @jack338c and @grzesiczek1 Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [removed i2c4_pins, mdio0_pins, nand_pins, rgmii2_pins from DTSI] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: move serial0 to DTSI filesAdrian Schmutzler2020-07-0616-14/+12
| | | | | | | | | | | | | | All device DTS files in the target set the serial0 property to the same value (*). So, let's move the definitions to the DTSI files. That's also where the kernel defines it (qcom-ipq8064-v1.0.dtsi). * The only exception is ipq8064-db149, which defines "serial0 = &uart2;", but inside a block called "alias" instead of "aliases". It must be assumed that this is broken anyway, so we don't touch it here. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: move stdout-path to DTSI filesAdrian Schmutzler2020-07-0617-38/+16
| | | | | | | | | All device DTS files in the target set the stdout-path to the same value. So, let's move the definitions to the DTSI files. That's also where the kernel defines it (qcom-ipq8064-v1.0.dtsi). Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: disentangle and clean up SoC DTSI filesAdrian Schmutzler2020-07-064-64/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, the DTSI files on ipq806x had a linear inheritance: qcom-ipq8064.dtsi v qcom-ipq8064-v1.0.dtsi v qcom-ipq8064-v2.0.dtsi v qcom-ipq8065.dtsi This poses problems when one wants to set something that is specific to an architecture closer to the top of the tree. In this patch, we remove the chain-like inheritance and have all other files derived from qcom-ipq8064.dtsi (changing this name to something more generic is not possible due to upstream use). The removal of inheritance will require a few entries to be copied from qcom-ipq8064-v2.0.dtsi to qcom-ipq8065.dtsi. However, it also opens an opportunity for some clean-up: - Many definitions can be improved by just using the innermost labels. - Instead of disabling the CPU_SPC node for ipq8065, it is now off by default and enabled where needed. - Instead of patching phy-tx0-term-offset into qcom-ipq8064.dtsi and then having it changed for qcom-ipq8064-v2.0/qcom-ipq8065, just have the appropriate settings done in the lower DTSI files directly. - For the opp_table0 adjustments for ipq8065, just redefine what's changed, but don't add all the untouched properties again. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: move common pinmux nodes to SoC DTSISungbo Eo2020-07-0615-603/+61
| | | | | | | | | | | | | | | | As almost same pinmux nodes are repeated in each device dts, let's define them once in the ipq8064 dtsi and remove the rest. * uart0_pins : Did not touch. * i2c4_pins : This node seems to be not used at all in dts. Added the most common form in the dtsi. Did not touch rpm_pins. * spi_pins : The common mux node is already present in the dtsi. Removed the duplicate nodes from dts. * nand_pins : Moved the entire node. * mdio0_pins : Moved the common mux node. * rgmii2_pins: Moved the common mux node. "pins" property is overrided in ap161. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq806x: add newline at the end of qcom-ipq8064-v1.0.dtsiAdrian Schmutzler2020-03-051-1/+1
| | | | | | | The file does not have a newline at the end. Add it to apply to common style. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: move mdio node to ipq8064 dtsAnsuel Smith2020-03-0315-540/+410
| | | | | | | As mdio0 is used in every dts move it to general ipq8064 dts and use label to set device specific definition. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: rework dts to use labelAnsuel Smith2020-03-0313-2695/+2698
| | | | | | We should use label instead of redefine the node. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: remove wrong compatible from timer nodeAnsuel Smith2020-03-031-2/+1
| | | | | | This compatible definition deprecated long ago. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: use mdio dedicated driverAnsuel Smith2020-03-0314-70/+137
| | | | | | | Enable kernel config flag Convert all dts to use the new mdio driver Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: correct wrong node in r7800 dtsAnsuel Smith2020-03-031-5/+7
| | | | | | A mux node was missing in the gpio node of the r7800 dts. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: use correct definition for nand-controller nodeAnsuel Smith2020-03-0313-22/+22
| | | | | | From kernel Documentation this should be called nand-controller Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: include ipq806x-v1.0 dtsiAnsuel Smith2020-03-031-0/+1
| | | | | | | Since this dtsi now have wrong definition in the upstream version, include it to overwrite and remove any problem. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: remove skeleton definitionAnsuel Smith2020-03-031-4/+7
| | | | | | This was already deprecated. With kernel 5.4 it has been removed. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: copy files to kernel 5.4Ansuel Smith2020-03-0317-0/+7217
Copy files to kernel 5.4 to start porting. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>