aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x
Commit message (Collapse)AuthorAgeFilesLines
* kernel: unify CONFIG_GPIO_SYSFS in kernel configsFelix Fietkau2020-08-062-2/+0
| | | | | | Enable it for all platforms Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ipq806x: use qcom-ipq8064-v1.0.dtsi from upstreamAdrian Schmutzler2020-08-058-222/+186
| | | | | | | | | | | | | | | | | 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-058-1579/+1164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-142-2/+12
| | | | | | | | | | | | | | | 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-142-4/+4
| | | | | | | | | | 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-142-11/+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-113-1/+3
| | | | | | | | | | | | | 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>
* treewide: kernel: drop redundant USB_EHCI_HCD=n config symbolPetr Štetiar2020-07-091-1/+0
| | | | | | | | | Commit e53ec043bae1 ("kirkwood: move usb support to modules") has moved this config symbol into generic configs, so it could be removed from other configs. Suggested-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq806x: compile in schedutil governorJohn Audia2020-07-081-0/+2
| | | | | | | | | | | | | Gives users a third option to augment ondemand and performance. Kernel docs[1] explain differences and this PR empowers users w/ the choice to select between the older ondemand and newer and more simplistic schedutil should they wish to use one that is not the performance governor. 1. Documentation/admin-guide/pm/cpufreq.rst Signed-off-by: John Audia <graysky@archlinux.us> [fixed From: to match SoB:] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq806x: add support for Linksys EA7500 V1Pawel Dembicki2020-07-088-22/+374
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* kernel: Update kernel 5.4 to version 5.4.50Hauke Mehrtens2020-07-041-1/+1
| | | | | | | Run tested: ath79, ipq40xx Build tested: ath79, ipq40xx Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.19 to version 4.19.131Hauke Mehrtens2020-07-041-1/+1
| | | | | | | | | | | | | Fixes: - CVE-2020-10757 The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was backported which needed some adaptations to other code. Run tested: ath79 Build tested: ath79 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq806x: refresh configJohn Audia2020-07-031-15/+5
| | | | | | | | | | | | Based on "make kernel_menuconfig CONFIG_TARGET=generic" and 5.4.49 CONFIG_LEDS_TRIGGER_DISK has been removed by the refresh and added back manually in order to not revert f93fcf8923aa ("ipq806x: enable disk-activity LED trigger"). Signed-off-by: John Audia <graysky@archlinux.us> [extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: set IMAGES in Device/Default definitionAdrian Schmutzler2020-06-281-7/+5
| | | | | | | | | | | | | The Device/Default definition sets a default IMAGE/sysupgrade.bin, but does not enable it by setting IMAGES. This is not consistent, and has led to IMAGES being defined at various other places in the file. Thus, this patch consolidates the default value for IMAGES by putting it in Device/Default. Since it's still overwritten where necessary, this patch is cosmetic. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: drop shebang from non-executable target filesAdrian Schmutzler2020-06-161-1/+0
| | | | | | | | | | | | | | This drops the shebang from all target files for /lib and /etc/uci-defaults folders, as these are sourced and the shebang is useless. While at it, fix the executable flag on a few of these files. This does not touch ar71xx, as this target is just used for backporting now and applying cosmetic changes would just complicate things. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: enable disk-activity LED triggerThomas Albers2020-06-032-0/+2
| | | | | | | | | Enable the disk-activity LED trigger for ipq806x, since this SoC has an onboard SATA controller. Signed-off-by: Thomas Albers <thomas.gameiro@googlemail.com> [split into separate commit] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq806x: EA8500 fix boot partition detectionSamantha Collard2020-05-311-2/+0
| | | | | | | Remove extraneous code that disabled boot partition detection. Fixes: b3770eaca39f ("mtd: base-files: Unify dual-firmware devices (Linksys)") Signed-off-by: Samantha Collard <sammyrc34@gmail.com>
* kernel: properly insert local mtd partition parsersAdrian Schmutzler2020-05-251-16/+16
| | | | | | | | | | | | | | | | Between 4.19 and 5.4, the kernel moved the partition parsers into the parsers subdirectory. This led to some necessary rebasing of our local patches for parsers, which partially has been performed without caring about where the code was inserted. This commit tries to adjust our local patches so that parsers are inserted at the "proper" positions with respect to alphabetic sorting (if possible). Thus, the commit is cosmetic. While this might look useless now, it will make life easier when adding other parsers in the future or for rebasing on kernel changes. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: switch to 5.4 kernelAnsuel Smith2020-04-091-2/+1
| | | | | | | | ipq806x has been tested for a lot and lots of people reported good results. Switch the main kernel to 5.4 following the other targets. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq8065, NBG6817] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: remove support for kernel 4.14Adrian Schmutzler2020-04-0670-26575/+0
| | | | | | | | | | | This target has been on kernel 4.19 for several months [1] and already uses kernel 5.4 as testing kernel. Therefore, it should not be necessary to keep support for kernel 4.14 as well. [1] 2a82e0e1ca0f ("ipq806x: switch to 4.19 kernel version") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq8065/nbg6817]
* kernel: bump 5.4 to 5.4.28Petr Štetiar2020-03-281-79/+0
| | | | | | | | | | | | | | | | | | | | Changelog since 5.4.24 mentions CVE-2019-19769, CVE-2020-8648, CVE-2020-8649 and CVE-2020-8647. Removed upstreamed: generic: 507-v5.6-iio-chemical-sps30-fix-missing-triggered-buffer-depe.patch generic: 600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch bcm27xx: 950-0435-ASoC-pcm512x-Fix-unbalanced-regulator-enable-call-in.patch ipq806x: 701-stmmac-fix-notifier-registration.patch lantiq: 002-pinctrl-falcon-fix-syntax-error.patch octeontx: 0002-net-thunderx-workaround-BGX-TX-Underflow-issue.patch Run tested: apu2, qemu-x86-64, apalis, a64-olinuxino, nbg6617 Build tested: sunxi/a53, imx6, x86/64, ipq40xx Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> [apu2] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* treewide: gather DEVICE_VARS into one placeSungbo Eo2020-03-211-2/+3
| | | | | | | | | | | Place DEVICE_VARS assignments at the top of the file or above Device/Default to make them easier to find. For ramips, remove redundant values already present in parent file. Signed-off-by: Sungbo Eo <mans0n@gorani.run> [do not touch ar71xx, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: move TEO governor to generic configTomasz Maciej Nowak2020-03-171-1/+0
| | | | | | | | This new symbol popped up in few places. Disable it in generic config. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [fixed merge conflict in generic/config-5.4] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* treewide: remove maintainer variable from targetsPetr Štetiar2020-03-161-1/+0
| | | | | | | | | | | | | There is no such role as target maintainer anymore, one should always send corresponding changes for the review and anyone from the commiters is allowed to merge them or eventually use the hand break and NACK them. Lets make it clear, that it is solely a community doing the maintenance tasks. Signed-off-by: Petr Štetiar <ynezz@true.cz> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Piotr Dymacz <pepe2k@gmail.com>
* ipq806x: read both WG2600HP MAC addresses from flashYanase Yuki2020-03-161-1/+1
| | | | | | | | | WG2600HP has its WLAN MAC addresses at PRODUCTDATA 0xc and 0x12, so use them both directly. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp> [commit title/message clarification] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: remove useless case within default case for upgradeAdrian Schmutzler2020-03-161-1/+0
| | | | | | | The default case will catch anything left, there is no need to explicitly add any device to it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: make kmod-ata-core selected by dependent modulesupstreamless-old-masterSungbo Eo2020-03-111-1/+1
| | | | | | | | | | | | | | | | Currently kmod-ata-* will not get into images unless kmod-ata-core is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-ata-ahci - kmod-ata-ahci-mtk - kmod-ata-sunxi While at it, use AddDepends/ata for kmod-ata-pdc202xx-old. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ipq806x: replace ${} with $()Sungbo Eo2020-03-111-4/+4
| | | | | | ${} and $() are exactly the same. Follow the convention of using $(). Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: 5.4: remove some dup config options already set in genericYousong Zhou2020-03-101-6/+0
| | | | | | | This furthers 860652f4b9da ("kernel: 5.4: move some kconfig options to generic") Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* kernel: bump 5.4 to 5.4.24Koen Vandeputte2020-03-092-20/+10
| | | | | | | | | Refreshed all patches. Compile-tested on: imx6 Runtime-tested on: imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.172Koen Vandeputte2020-03-092-2/+2
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* 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: add 5.4 as testing kernel versionAnsuel Smith2020-03-031-0/+1
| | | | | | | | | | | Add 5.4 kernel version as a new testing kernel option. Ref: https://github.com/openwrt/openwrt/pull/2793 Tested-by: Hannu Nyman <hannu.nyman@iki.fi> [ipq8065, R7800] Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq8065, NBG6817] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [added Tested-by tags] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq806x: fix broken stmmac notifierAnsuel Smith2020-03-031-0/+84
| | | | | | | Backport a patch in 5.6 to fix stmmac notifier registration Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: add patch to fix broken usb3Ansuel Smith2020-03-031-0/+29
| | | | | | | | | Due to changes in syscon driver, the phy dwc3 driver needs to use device_node_to_regmap since it has to skip the new introduced clk check. This fix broken usb3 on this target. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* 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: add patch to disable pretimeout on timer platformAnsuel Smith2020-03-031-0/+98
| | | | | | | | | Currently the watchdog timer is broken as it tries to get an interrupt to setup pretimeout. Since our platform have a different type of interrupt disable it and use legacy watchdog probe. 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: add ipq806x mdio driverAnsuel Smith2020-03-031-0/+206
| | | | | | | | | This was created by Chunkeey some time ago. Since mdio driver works or doesn't work and since this was tested by me for 1 year, include it to remove the use of the generic bitbang gpio driver for switch driver. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: update config for kernel 5.4Ansuel Smith2020-03-031-22/+56
| | | | | | Adds new symbol and update flag with new kernel names. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix tsens driverAnsuel Smith2020-03-035-178/+231
| | | | | | | | | | Rework tsens driver. Since in the new kernel 5.4 init common do more than it should, inizialize the kernel memory directly in the driver and drop use of this function. Rework all the patch with the new variable names. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: rework L2 cache patchAnsuel Smith2020-03-031-16/+54
| | | | | | | | Rework l2 scaling patch to fix some compile warning and to imporve the caling timings by removing call to unnecessary function. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: update nvmem cpufreq driverAnsuel Smith2020-03-031-31/+36
| | | | | | | Rework the nvmem cpufreq driver to reflect changed in kernel 5.4 Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: drop upstream patchAnsuel Smith2020-03-0316-2941/+0
| | | | | | This patchset has been merged upstream. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>