aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* ipq806x: refresh patches for kernel 5.4Ansuel Smith2020-03-0328-112/+118
| | | | | | Refresh patches and minor changes for new kernel support 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-0374-0/+16474
| | | | | | Copy files to kernel 5.4 to start porting. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* kernel: bump 4.14 to 4.14.171Koen Vandeputte2020-02-241-1/+1
| | | | | | | | | | | | Refreshed all patches. Fixes: - CVE-2013-1798 Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.101Koen Vandeputte2020-02-042-3/+3
| | | | | | | | | | | | | | | | | | Refreshed all patches. Fixes: - CVE-2019-14896 - CVE-2019-14897 Remove upstreamed: - 023-0007-crypto-crypto4xx-Fix-wrong-ppc4xx_trng_probe-ppc4xx_.patch - 950-0202-staging-bcm2835-camera-fix-module-autoloading.patch - 001-4.22-01-MIPS-BCM63XX-drop-unused-and-broken-DSP-platform-dev.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq806x: refresh kernel patchesÁlvaro Fernández Rojas2020-01-085-6/+6
| | | | Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* ipq806x: add fab scaling supportAnsuel Smith2020-01-082-0/+252
| | | | | | Add fab scaling support and dtsi definition Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: refactor l2 freq scaling patchAnsuel Smith2020-01-083-40/+120
| | | | | | | | | Refactor l2 freq scaling patch to support voltage scaling and add support to base cache scaling on cpu freq scaling. Update the dtsi files with the new definition used in the new code. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: reorganize nand_pins mux definitionAnsuel Smith2020-01-089-44/+68
| | | | | | | | | | | | | | It's wrong set the mux to bias-disable. The best way to do this is by creating a separate group and disable the specific pins. By documentation, any subgroup with no bias definition is ignored so the mux definition is useless. Rework the definition by sremoving the mux subgroup and set the remaining subgroup with the mux function and drive-strength Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: opp/core: fix broken patch Handle opp voltage adjustAnsuel Smith2020-01-082-11/+4
| | | | | | | | | | The opp_notifier introduced with patch 0054-Handle-OPP-voltage adjust for some reason missed the actual registration in the opp struct, resulting in never being registred. This was present in kernel 4.9 patchset but dropped in the transition to 4.14. Reintroduce this and fix patch 0055 about L2 cache scaling. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: remove CONFIG_MDIO_IPQ8064 symbolChristian Lamparter2020-01-051-1/+0
| | | | | | This driver is not available on upstream. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* kernel: bump 4.19 to 4.19.93Hauke Mehrtens2020-01-052-4/+4
| | | | | | | | | | | | | | Refreshed all patches. The patch hack-4.19/550-loop-better-discard-for-block-devices.patch was replaced with an new version of the patch from: https://lore.kernel.org/patchwork/patch/1153625/ https://lore.kernel.org/patchwork/patch/1153626/ Compile-tested on: ipq40xx, lantiq Runtime-tested on: ipq40xx, lantiq Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq806x: build DEVICE_DTS based on SOC and device nameAdrian Schmutzler2019-12-271-11/+16
| | | | | | | | | | | | | | | | | | | | 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, leaving the DTS names unchanged for this target. Note that for some devices the kernel itself uses inconsistent names (DTS naming scheme vs. compatible), leaving us with a manual overwrite of DEVICE_DTS for those cases. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: fix wrong definition for tsense calibAnsuel Smith2019-12-261-2/+2
| | | | | | | | | We have only 11 sensors on ipq806x. Fix the reg property to load the right amount of data instead of the entire space. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: rework ipq806x specific tsense temp driverAnsuel Smith2019-12-261-0/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | Tsense driver for ipq806x have various problem. - Emit wrong error. On probing of this driver, nvmem driver can be not ready and this cause a EDEFER error. Actually this is not an error as the kernel will retry to probe the driver after the nvmem driver is loaded. - Use uninitialized value on trigger of critical temp - Doesn't free allocated memory Because of this, rework the driver and improve it by removing extra load of data. Change the logic of loading data. Use the backup calib data only when the calib data is not present. As the calibration is only needed to set the temp offset, we don't really need to read both calib data and set the offset based only on the backup one. Also change how the notifier function work. At times when we output the trigger message, we already have read the temp so remove the extra read and the wrong uninitialized data that probably caused a kernel panic for null pointer exception. (Think we never experience this bug because the router never reached that temp ever... So just lucky) Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: update kernel config with new driverAnsuel Smith2019-12-261-1/+1
| | | | | | | The config name for cpufreq driver has changed. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: refresh new and changed patchesAnsuel Smith2019-12-269-212/+496
| | | | | | | Refresh patches to remove fuzz Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq8065: update dtsi with new opp tableAnsuel Smith2019-12-261-53/+91
| | | | | | | | The new driver use opp table to register frequency. Drop psv bindings as they are not used anymore. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq8064: update dtsi with new opp tableAnsuel Smith2019-12-261-44/+80
| | | | | | | | | The new driver use opp table to register frequency. Drop psv bindings as they are not used anymore. Adds speedbin definition for nvmem driver Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: add patch to support krait cpu scaling driverAnsuel Smith2019-12-261-0/+351
| | | | | | | | | | This patch has been proposed but never actually merged to mainline. It was accepted but never re proposed by the creator. Rework it, fix kernel panic cause by double kfree. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: backport qcom-cpufreq-kryo patchAnsuel Smith2019-12-263-0/+551
| | | | | | | | Backport patch applied to qcom-cpufreq-kryo driver as krait cpu will base on this driver. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: drop old cpufreq patchAnsuel Smith2019-12-263-399/+0
| | | | | | | | Drop old cpufreq as now we have new driver that can use normal kernel opp definition Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: opp/core: update patch updating voltage tolerance on voltage adjustAnsuel Smith2019-12-261-12/+21
| | | | | | | | | | | Rework 0052-PM-OPP-Update-the-voltage-tolerance-when-adjusting-t to reflect changes upstream. - Skip unnecessary allocation of buffer to set u_volt - Change opp u_volt directly Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: opp/core: update patch allowing adjusting of OPP voltages at runtimeAnsuel Smith2019-12-261-61/+71
| | | | | | | | Update 0049-PM-OPP-Support-adjusting-OPP-voltages-at-runtime with upstream version. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ipq806x: fix bug in L2 cache scalingAnsuel Smith2019-12-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been notice a buf in L2 cache scaling where the scaling is not done proprely if the frequency is set to the initial state before the new frequency. From: https://patchwork.kernel.org/patch/10565443/ * The clocks are set to aux clock rate first to make sure the * secondary mux is not sourcing off of QSB. The rate is then set to * two different rates to force a HFPLL reinit under all * circumstances. In the initial stage of boot to force a new frequency to apply, is needed to first set the frequency back to the lowest one (aux_rate) and then to the target one. This force and make sure the controller actually switch the frequency to the right one. Apply the same mechanism to L2 frequency scaling. Before scaling to the target frequency, first set the frequency to the aux_rate to force the transition, then scale it to the target frequency. Doing the wrong way can produce unexpected results and could lock the scaling mechanism until a full reboot is done (Causing a full reset by the krait-cc driver) From: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=77612720a2362230af726baa4149c40ec7a7fb05 When the Hfplls are reprogrammed during the rate change, the primary muxes which are sourced from the same hfpll for higher frequencies, needs to be switched to the 'safe secondary mux' as the parent for that small window. This is done by registering a clk notifier for the muxes and switching to the safe parent in the PRE_RATE_CHANGE notifier and back to the original parent in the POST_RATE_CHANGE notifier. This should apply also to L2 scaling... as we can't relly use the notifier, we manually do this on L2 scaling. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [nbg6817/ipq8065] Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* kernel: bump 4.19 to 4.19.91Hauke Mehrtens2019-12-246-12/+12
| | | | | | | | | Refreshed all patches. Compile-tested on: ipq40xx, apm821xx Runtime-tested on: ipq40xx Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 4.14 to 4.14.159Koen Vandeputte2019-12-241-3/+3
| | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 302-0002-dmaengine-dw-implement-per-channel-protection-contro.patch Fixes: - CVE-2019-19332 Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: Deactivate CONFIG_SFP in generic configHauke Mehrtens2019-12-231-1/+0
| | | | | | | | Deactivate CONFIG_SFP for kernel 4.19 in the generic configuration. The CONFIG_SFP configuration option was not set to anything in the ath79 build for me, set it to deactivated by default. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq806x: switch to 4.19 kernel versionAnsuel Smith2019-12-191-1/+1
| | | | | | | | | | | | It has been used by several people for some time already and feedback has been mostly positive. Ref: https://github.com/openwrt/openwrt/pull/2472 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> [separate commit, commit subject and description facelift] Signed-off-by: Petr Štetiar <ynezz@true.cz>