aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: fix MikroTik rb-nor-flash-16M-ac imageDaniel Golle2018-01-241-1/+1
| | | | | | | | | | | | | commit e15c63a375 ar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC) changed the existing rb-nor-flash-16M-ac image in a way that it would now only support the rb-wapg-5hact2hnd. The board show however rather be added to the existing boards in the rb-nor-flash-16M image template. Reported-by: Mathias Kresin <dev@kresin.me> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ramips: add support for ZBT-WE1226Daniel Golle2018-01-237-0/+132
| | | | | | | | MT7628NN (580MHz), 8MB SPI NOR, 64MB DDR2 RAM Everything except for the switch LEDs works great. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* sunxi: Orange Pi R1: configure USB Ethernet controller.Hauke Mehrtens2018-01-221-0/+3
| | | | | | Now the USB port is the WAN port. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: Orange Pi R1: Fix USB Ethernet and activate SPIHauke Mehrtens2018-01-222-0/+77
| | | | | | | | | The USB Ethernet is not working with the patches proposed for upstream, fix this and activate the SPI node as this board always has a SPI flash. Both patches are also targeted for upstream kernel 4.16 and 4.17. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: use upstream patch for Orange Pi R1Hauke Mehrtens2018-01-222-196/+105
| | | | | | | Instead of using our own device tree definitions use the one provided in the upstream kernel for 4.16. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: backport stmmac network patchesHauke Mehrtens2018-01-2211-0/+1391
| | | | | | | | Ethernet support was initial added in kernel 4.13, but deactivated before the final release. This is backports the changes which are activating it again from kernel 4.15. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: Add support for kernel 4.14Hauke Mehrtens2018-01-226-12/+940
| | | | | | | This is based on the code for kernel 4.9, but a lot of 4.9 patches are backports from more recent kernel version and can be removed now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* sunxi: refresh kernel configurationHauke Mehrtens2018-01-224-4/+2
| | | | | | | | Just refresh the sunxi kernel configuration. This also moves the CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG option to the config-4.9 file. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ar71xx: add support for the MikroTik RB911-2Hn/5Hn boardsGabor Juhos2018-01-2211-3/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds support for the MikroTik RB911-2Hn (911 Lite2) and the RB911-5Hn (911 Lite5) boards: https://mikrotik.com/product/RB911-2Hn https://mikrotik.com/product/RB911-5Hn The two boards are using the same hardware design, the only difference between the two is the supported wireless band. Specifications: * SoC: Atheros AR9344 (600MHz) * RAM: 64MiB * Storage: 16 MiB SPI NOR flash * Ethernet: 1x100M (Passive PoE in) * Wireless: AR9344 built-in wireless MAC, single chain 802.11b/g/n (911-2Hn) or 802.11a/g/n (911-5Hn) Notes: * Older versions of these boards might be equipped with a NAND flash chip instead of the SPI NOR device. Those boards are not supported (yet). * The MikroTik RB911-5HnD (911 Lite5 Dual) board also uses the same hardware. Support for that can be added later with little effort probably. Installation: 1. Setup a DHCP/BOOTP Server with the following parameters: * DHCP-Option 66 (TFTP server name): pointing to a local TFTP server within the same subnet of the DHCP range * DHCP-Option 67 (Bootfile-Name): matching the initramfs filename of the to be booted image. The usable intramfs files are: - openwrt-ar71xx-mikrotik-vmlinux-initramfs.elf - openwrt-ar71xx-mikrotik-vmlinux-initramfs-lzma.elf - openwrt-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin 2. Press the reset button on the board and keep that pressed. 3. Connect the board to your local network via its ethernet port. 4. Release the button after the LEDs on the board are turned off. Now the board should load and start the initramfs image from the TFTP server. 5. Upload the sysupgrade image to the board with scp: $ scp openwrt-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/fw.bin 5. Log in to the running system listening on 192.168.1.1 via ssh as root (without password): $ ssh root@192.168.1.1 7. Flash the uploaded firmware file from the ssh session via the sysupgrade command: root@OpenWrt:~# sysupgrade /tmp/fw.bin Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: make leds-gpio usable with single-ended GPIOsGabor Juhos2018-01-222-0/+90
| | | | | | | | | Add patches for the leds-gpio driver to make it usable with open-drain and open-source kind of GPIO lines. This type of functionality is required by various MikroTik boards. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: mach-rbspi: return rb_info from rbspi_platform_setupGabor Juhos2018-01-221-13/+13
| | | | | | | | | | | | Modify the rbspi_platform_setup() function to return the pointer of the rb_info structure. This allows board specific setup routines to access the various fields of the information. It is useful for investigating the hardware option bits for example. Also update the board setup codes, to ensure that those handle the new return value correctly. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: add definitions for RouterBOARD hardware option bitsGabor Juhos2018-01-221-0/+26
| | | | | | | | | | | | Add bit definitions for the 'hardware options' tag which is used in the MikroTik devices' hardware configurations. These values can be used in board setup codes, to do different initialization sequences. The values were obtained from the RouterOS 6.41-rc38 patches. Additionally, introduce two helper functions what make the processing of the hardware options easy. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* pistachio: make patches apply againHauke Mehrtens2018-01-201-2/+2
| | | | | | | | Support for Winbond NAND flash detection was added into the generic patches and this conflicted with this patch adding Gigadevice support. Fixes: 02050f7e7d5b ("kernel/4.{4, 9}: add manufacturer ID for Winbond NANDs") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ipq806x: make patches apply againHauke Mehrtens2018-01-201-18/+0
| | | | | | | | Some part of this patch was added to the generic patches as it was needed also for some other target. Do not add it here any more. Fixes: 02050f7e7d5b ("kernel/4.{4, 9}: add manufacturer ID for Winbond NANDs") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* x86: Add CONFIG_RETPOLINE to fix buildHauke Mehrtens2018-01-202-6/+7
| | | | | | | | | This adds support for the new configuration option CONFIG_RETPOLINE and refreshes the configuration. Fixes: d8565a06dc ("kernel: bump 4.9 to 4.9.77") Fixes: 9ddfac8015 ("kernel: bump 4.14 to 4.14.14") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: use upstream patches for muslHauke Mehrtens2018-01-2017-638/+603
| | | | | | | | | | This replaces the current patches used to make the kernel headers compatible with musl with the version which was accepted upstream. This is included in upstream kernel 4.15. This was compile tested with iproute2 build on all supported kernel versions with musl and one one with glibc. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: backport fix for nftables on big EndianHauke Mehrtens2018-01-201-0/+323
| | | | | | | | | | | nftables 0.8.1 generates some new commands which will not work without this on big endian systems. This patch is included in Linux 4.11 and later. My rule matching a TCP port was not working: nft add rule ip foo bar ct state new tcp dport 22 accept Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 4.4 to 4.4.112Kevin Darbyshire-Bryant2018-01-2011-163/+17
| | | | | | | | | | | | | | | | | | | | | | Refresh patches. Remove upstreamed patches: target/linux/generic/patches-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/patches-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch target/linux/generic/patches-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/patches-4.4/030-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch CVEs completely or partially addressed: CVE-2017-5715 CVE-2017-5753 CVE-2017-17741 CVE-2017-1000410 Compile-tested: ar71xx Archer C7 v2 Run-tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* kernel: bump 4.9 to 4.9.77Kevin Darbyshire-Bryant2018-01-2028-393/+243
| | | | | | | | | | | | | | | | | | | | | | | Refresh patches. Remove upstreamed patches: target/linux/generic/backport-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/backport-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch target/linux/generic/backport-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/backport-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch CVEs completely or partially addressed: CVE-2017-5715 CVE-2017-5753 CVE-2017-17741 CVE-2017-1000410 Compile-tested: ar71xx Archer C7 v2 Run-tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.14Kevin Darbyshire-Bryant2018-01-202-12/+12
| | | | | | | | | | | | | | Refresh patches. CVEs completely or partially addressed: CVE-2017-5715 CVE-2017-5753 CVE-2017-17741 CVE-2017-1000410 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel/4.{4, 9}: add manufacturer ID for Winbond NANDsGabor Juhos2018-01-203-1/+69
| | | | | | | | | | | | | | | | | | | Some MikroTik devices are using a Winbond NAND flash. Linux treats it as an unknown NAND before version 4.11: nand: device found, Manufacturer ID: 0xef, Chip ID: 0xf1 nand: Unknown NAND 128MiB 3,3V 8-bit nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 Backport a patch from 4.11 to show the manufacturer correctly: nand: device found, Manufacturer ID: 0xef, Chip ID: 0xf1 nand: Winbond NAND 128MiB 3,3V 8-bit nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 Tested on a MikroTik R951Ui-2HnD board. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ipq806x: remove merged ipq4019 patchChristian Lamparter2018-01-1811-39/+11
| | | | | | | | | The patch 0022-dts-ipq4019-support-ARMv7-PMU.patch was merged into 4.8-rc1. Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [refresh patches] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: remove dependency on non-existent kmodChristian Lamparter2018-01-181-1/+1
| | | | | | | | During the integration of the ipq40xx target, the phy drivers were included into the ipq806x's target kernel config. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq-wifi: align AVM FRITZ!Box 4040's board-2.bin packageChristian Lamparter2018-01-181-1/+1
| | | | | | | This patch renames the AVM FRITZ!Box 4040's board-2.bin file and package to match the 'vendor_product' format. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq806x: overhaul AVM FRITZ!box 4040 device-tree fileChristian Lamparter2018-01-181-38/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch aligns the device-tree file with the latest guidelines. - No longer include qcom-ipq4019-ap.dk01.1.dtsi. This file is only partially upstream and therefore subjected to changes that might not be compatible with the board. As a result, the definitions from the file have been copied into this dts. - exclusively use decimal GPIO addresses. - reorganize the reserved-memory layout to waste less memory. There's no point in keeping the u-boot loader around. This should also make it possible to create an image that will boot with the original EVA/ADAM2 loader without needing to install the modified u-boot loader. And finally mark the "tz-apps" as reusable. There isn't a way to upload apps to the trust-zone in OpenWrt yet. But it might see some use in the future as a "secure" key-store/TPM. - sort the first-level nodes alphabetically. - sort nodes with an address by the address. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ramips: tl-wr840n-v5: increase firmware partition for 4Mmtk layotSerg Studzinskii2018-01-182-8/+2
| | | | | | | | | | | According to console log during TP-Link TL-WR840N v5 OEM firmware update procedure 0x3e0000-0x3f0000 64kB "config" partition, which is used to store router's configuration settings, is erased and recreated again during every OEM firmware update procedure, thus does not contain any valuable factory data. So it is conviniant to use this extra 64kB erase block for jffs overlay due limited flash size on this device like it used on TP-Link's ar71xx boards. Signed-off-by: Serg Studzinskii <serguzhg@gmail.com>
* kirkwood: fix sysupgrade尤晓杰2018-01-181-1/+1
| | | | | | | | | | | | The platform_check_image() stub need to return 0 for success, otherwise the sysupgrade will fail with: Image check 'platform_check_image' failed. Fixes: aa6f5f1787a6 ("kirkwood: use image metadata") Signed-off-by: 尤晓杰 <yxj790222@163.com> [reworded commit message} Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: fix ZyXEL NBG6817 sysupgradeMathias Kresin2018-01-181-7/+10
| | | | | | | | | | | Use the first found directory in the tar archive instead of relying on a directory named according to the userspace boardname. It allows to change the boardname without adding another compatibility layer to the zyxel sysupgrade. Fixes: 33f09cf15178 ("ipq806x: convert to dt-based board-detection") Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: drop mdio-gpio.h include from mach-om5pacv2.cGabor Juhos2018-01-171-6/+0
| | | | | | | | | | | | | | The setup code of the OpenMesh OM5P ACv2 device uses nothing from the mdio-gpio.h header, so remove the inclusion of that. Also remove the kernel version check which is needed only because the mdio-gpio.h header exists in a different path in older kernels. Compile tested only. Cc: Sven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* cns3xxx: switch to kernel 4.14Koen Vandeputte2018-01-171-1/+1
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: refresh patchesKoen Vandeputte2018-01-178-21/+21
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: remove deprecated uart flagsKoen Vandeputte2018-01-171-0/+29
| | | | | | | | Flag UPF_NO_TXEN_TEST is deprecated. Remove it. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: fix ethernet IRQ imbalance in 4.14Koen Vandeputte2018-01-171-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kernel 4.14 contains more warnings regarding NAPI usage, which showed following warning: [ 4016.420000] ------------[ cut here ]------------ [ 4016.430000] WARNING: CPU: 1 PID: 14 at kernel/irq/manage.c:525 __enable_irq+0x3c/0x78 [ 4016.440000] Unbalanced enable for IRQ 51 [ 4016.440000] Modules linked in: ath9k ath9k_common pppoe ppp_async ath9k_hw ath pppox ppp_generic nf_conntrack_ipv6 mac80211 iptable_nat ipt_REJECT ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG slhc nf_reject_ipv4 nf_nat_redirs [ 4016.500000] CPU: 1 PID: 14 Comm: ksoftirqd/1 Tainted: G W 4.14.11 #0 [ 4016.500000] Hardware name: Gateworks Corporation Laguna Platform [ 4016.510000] Backtrace: [ 4016.510000] [<c010a28c>] (dump_backtrace) from [<c010a56c>] (show_stack+0x18/0x1c) [ 4016.520000] r7:c059df4b r6:00000000 r5:60000093 r4:00000000 [ 4016.530000] [<c010a554>] (show_stack) from [<c048b04c>] (dump_stack+0x94/0xb4) [ 4016.530000] [<c048afb8>] (dump_stack) from [<c011760c>] (__warn+0xc8/0xf8) [ 4016.540000] r7:c059df4b r6:c015144c r5:00000000 r4:cf863e08 [ 4016.550000] [<c0117544>] (__warn) from [<c011767c>] (warn_slowpath_fmt+0x40/0x48) [ 4016.550000] r9:cf863eb0 r8:00000036 r7:00000000 r6:c0636360 r5:00000033 r4:cf80a500 [ 4016.560000] [<c0117640>] (warn_slowpath_fmt) from [<c015144c>] (__enable_irq+0x3c/0x78) [ 4016.570000] r3:00000033 r2:c059e0c5 [ 4016.570000] [<c0151410>] (__enable_irq) from [<c01514ec>] (enable_irq+0x64/0x7c) [ 4016.580000] [<c0151488>] (enable_irq) from [<c0335c14>] (eth_poll+0x28c/0x558) [ 4016.590000] r5:d08926c0 r4:cf894488 [ 4016.590000] [<c0335988>] (eth_poll) from [<c03b1718>] (net_rx_action+0xfc/0x2e8) [ 4016.600000] r10:cf863eb8 r9:cf863eb0 r8:00000001 r7:0f7b5000 r6:c0636360 r5:cfdeb360 [ 4016.610000] r4:cf894488 [ 4016.610000] [<c03b161c>] (net_rx_action) from [<c0101510>] (__do_softirq+0xe0/0x228) [ 4016.620000] r10:00000100 r9:c070204c r8:c0702040 r7:00000003 r6:00000008 r5:40000003 [ 4016.620000] r4:cf862000 [ 4016.630000] [<c0101430>] (__do_softirq) from [<c011ae28>] (run_ksoftirqd+0x34/0x58) [ 4016.630000] r10:c0133964 r9:00000000 r8:00000001 r7:00000000 r6:c070b44c r5:cf862000 [ 4016.640000] r4:cf8037e0 [ 4016.640000] [<c011adf4>] (run_ksoftirqd) from [<c0133adc>] (smpboot_thread_fn+0x178/0x190) [ 4016.650000] [<c0133964>] (smpboot_thread_fn) from [<c013099c>] (kthread+0x11c/0x138) [ 4016.660000] r9:cf8037e0 r8:cf802cdc r7:cf839df8 r6:cf803800 r5:00000000 r4:cf802cc0 [ 4016.670000] [<c0130880>] (kthread) from [<c0107218>] (ret_from_fork+0x14/0x3c) [ 4016.680000] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0130880 [ 4016.680000] r4:cf803800 r3:cf862000 [ 4016.690000] ---[ end trace 51114df08f429115 ]--- This is triggered by calling eth_schedule_poll(sw) after the IRQ has been re-enabled. Rework the network code to only enable IRQ's again if NAPI agrees it's safe to do so. Also only re-enable IRQ *after* cleaning up the RX ring and re-enabling DMA, which otherwise resulted in ugly warnings regarding dirty page fragments. These popped up nearly immediately when building the kernel with O2 iso Os. --> Note that this change fixes stability issues, at the cost of ~8% throughput performance. While at it, also change the iface name being used in warning prints, making it more obvious: "switch%d" --> "cns3xxx_eth" The changes have been tested on 4 boards, each moving ~30TB of data Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: update patches for 4.14Koen Vandeputte2018-01-176-64/+85
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: refresh kernel 4.14 configKoen Vandeputte2018-01-171-7/+97
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: copy patches for kernel 4.14Koen Vandeputte2018-01-1724-0/+1170
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* cns3xxx: copy config for kernel 4.14Koen Vandeputte2018-01-171-0/+300
| | | | Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: fix format of the 701-MIPS-ath79-add-routerboard-detection patchesGabor Juhos2018-01-172-2/+2
| | | | | | | | | | | | Commit e15c63a37574 ("ar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC") broke the format of the patches. In unified diff format, the unchanged, contextual lines must be preceded by a space character. Refresh the patches with quilt to fix them. Fixes: e15c63a37574 ("ar71xx: add support for MikroTik RouterBOARD wAPG-5HacT2HnD (wAP AC") Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: fix format of the 741-MIPS-ath79-add-PCI-for-QCA9556-SoC patchesGabor Juhos2018-01-172-12/+12
| | | | | | | | | | | The patches introduced in commit 20e68f6d395d ("ar71xx: kernel: enable PCI on QCA9556 SoC") have non standard format. In unified diff format, the unchanged, contextual lines must be preceded by a space character. Refresh the patches with quilt to fix them. Fixes: 20e68f6d395d ("ar71xx: kernel: enable PCI on QCA9556 SoC") Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* ar71xx: mach-rbspi: simplify reset button registrationGabor Juhos2018-01-171-64/+30
| | | | | | | | | | | | The setup code defines four individual structures for the Reset buttons of the supported boards. The only difference between the definitions is the GPIO number used for the button. Replace the different structures with one generic variant, and add a helper function to simplify the button registration. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
* imx6: add support for the intel gbit driver on GW5520Koen Vandeputte2018-01-171-0/+1
| | | | | | | | | | The Gateworks GW5520 board uses 2x intel gigabit mac's, instead of the internal i.MX6 FEC. Add support for these. Signed-off-by: Scott V. Kamp <outbackdingo@gmail.com> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq8065: adjust SS USB PHY power settingsPavel Kubelun2018-01-171-0/+11
| | | | | | | | | | | According to QSDK ipq8065 has different SS USB PHY power settings. Adjust it according to QSDK settings. It also corresponds to oem Netgear R7800 tarball for soc ver >= 2. https://github.com/paul-chambers/netgear-r7800/blob/eeac2e10190f6f45e32e4c7012c4babc351898d8/git_home/linux.git/sourcecode/arch/arm/mach-msm/board-ipq806x.c#L2494 Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: usb: add phy 1 master reset controlPavel Kubelun2018-01-172-12/+26
| | | | | | | In current state only phy 0 master reset is controlled. Add the phy 1 reset. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: usb: Control USB master resetPavel Kubelun2018-01-172-0/+67
| | | | | | | | | | | | | | Picking commit from QSDK https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?h=eggplant&id=a86bda9f8a7965f0cedd347a9c04800eb9f41ea3 Commit message: "During removal of the glue layer(dwc3-of-simple), USB master reset is set to active and during insertion it is de-activated." Change-Id: I537dc810f6cb2a46664ee674840145066432b957 Signed-off-by: Vasudevan Murugesan <vmuruges@codeaurora.org> (cherry picked from commit 4611e13580a216812f85f0801b95442d02eeb836)" Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: dwc3: Fix power_on and power_off sequencePavel Kubelun2018-01-171-29/+58
| | | | | | | | | | | Picking commit from QSDK https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/drivers/phy/phy-qcom-dwc3.c?h=eggplant&id=d316437c9cdb70023a760342678f32e27241725a The commit fixes: - dwc3 phy module unloading - possibly fixes FS#177 when some devices were improperly enumerated as HS while being SS thus stucking the driver during boot. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: Update HSIO recommended usb phy settingsPavel Kubelun2018-01-171-15/+77
| | | | | | | | | | | | | | | | Picking commit from QSDK https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/drivers/phy/phy-qcom-dwc3.c?h=eggplant&id=cf82fdf4bdd081cd81bb081f7815b915bc8bb851 The comit adjusts USB dwc3 phy default values as per QSDK recomendation and allows to set it through DT. Commit message: "SoC version based values will be recovered from the device node. If device node does not have such values, defaults are applied. Change-Id: Ia77b5b7fe95ce1a433885df1761091bced98d989 Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>" Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* Revert "ipq8064: Fix dwc3 module unloading"Pavel Kubelun2018-01-171-11/+3
| | | | | | | | Preparing for proper fixes thus reverting commits: - 8db079a9ff1756059250b801617a20baba214684 "ipq8064: Fix dwc3 module unloading" - c75f059b0c4d09dd0da60e14c4933a9f645266d1 "ipq8064: Fix dwc3 module unloading" Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: update clk and cpufreq driversPavel Kubelun2018-01-1716-814/+388
| | | | | | | | | | | | | A newer clk and cpufreq drivers for ipq806x platform had been sent upstream. A change that i have noticed is that now it's possible to set min, cur and max frequencies from sysfs (previously it was bugged and caused nothing). Following patches are removed: - 0036-clk-Avoid-sending-high-rates-to-downstream-clocks-du.patch - seems it was dropped from the patchset by current committer. - 0044-clk-qcom-krait-Remove-CLK_IS_ROOT.patch - already applied to the driver itself in the corresponding patch. - 0057-clk-qcom-Add-regmap-mux-div-clocks-support.patch - seem to be irrelevant to ipq806x. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: force 2nd pci slot into gen1 modePavel Kubelun2018-01-1710-13/+17
| | | | | | | | | | | | | | According to QSDK and OEM tarballs (checked c2600, r7500v2, r7800) 2nd pci slot (pci1, 2,4 GHz card)) on ap148 based boards should operate in gen1 mode. EA8500 is an exception and according to GPL pcie0 should operate in gen1 mode. In previous commit we've added the support for this option, so enable it in DT for affected devices. QSDK ref: https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?h=release/endive_preview_cc&id=f3b07fe309027c52fc163149500cedddd707c506 While at it move the phy transmit termination offset value into dtsi file as it's platform specific. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: fix wireless regressionPavel Kubelun2018-01-1710-308/+734
| | | | | | | | | | | | | | | | In current state there's huge regression on ipq806x target that causes the device to transmit broken/malformed frames that are not corrected/detected by error control mechanisms and other less severe issues. https://bugs.lede-project.org/index.php?do=details&task_id=1197 This finally had been narrowed down to patch 0071-pcie-qcom-fixes.patch Meanwhile QSDK contains a handful of commits that add support for ipq806x to upstream qcom pcie driver https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/log/drivers/pci/host/pcie-qcom.c?h=eggplant Unfortunately qca developers do not bother to push it upstream. Using those commits instead of lede 0071 patch fixes mentioned issue and probably many others as it seems that corrupted data has been originating within pcie misconfiguration. Fixes: FS#1197 and probably others Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>