aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* apm821xx: Force Ethernet PHYID on MX60/MX60WChristian Lamparter2018-04-131-1/+1
| | | | | | | | | | The MX60's uboot disables all the PHYs before starting linux. This causes the PHY/switch detection code to malfunction almost all of the time. To get around this, set a compatible flag to force PHYID. Signed-off-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
* ipq40xx: unbundle firmware and board fileMathias Kresin2018-04-132-5/+5
| | | | | | | | | | | Don't select the firmware with the board file, it prevents an easy use of the -ct ath10k firmware. Select the firmware within the default packages instead. Remove the per device selection of the firmware now that it the firmware is selected by default. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq40xx: add support for Netgear EX6100v2/EX6150v2David Bauer2018-04-139-3/+446
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: SOC: Qualcomm IPQ4018 (DAKOTA) ARM Quad-Core RAM: 256 MB Winbond W632GU6KB12J FLASH: 16 MiB Macronix MX25L12805D ETH: Qualcomm QCA8072 WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11b/g/n/ac 2x2 WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11n/ac 1x1 (EX6100) 2x2 (EX6150) INPUT: Power, WPS, reset button AP / Range-extender toggle LED: Power, Router, Extender (dual), WPS, Left-/Right-arrow SERIAL: Header next to QCA8072 chip. VCC, TX, RX, GND (Square hole is VCC) WARNING: The serial port needs a TTL/RS-232 v3.3 level converter! The Serial setting is 115200-8-N-1. Tested and working: - Ethernet - 2.4 GHz WiFi (Correct MAC-address) - 5 GHz WiFi (Correct MAC-address) - Factory installation from WebIF - Factory installation from tftp - OpenWRT sysupgrade (Preserving and non-preserving) - LEDs - Buttons Not Working: - AP/Extender toggle-switch Untested: - Support on EX6100v2. They share the same GPL-Code and vendor-images. The 6100v2 seems to lack one 5GHz stream and differs in the 5GHz board-blob. I only own a EX6150v2, therefore i am only able to verify functionality on this device. Install via Web-Interface: Upload the factory image to the device to the Netgear Web-Interface. The device might asks you to confirm the update a second time due to detecting the OpenWRT firmware as older. The device will automatically reboot after the image is written to flash. Install via TFTP: Connect to the devices serial. Hit Enter-Key in bootloader to stop autobooting. Command "fw_recovery" will start a tftp server, waiting for a DNI image to be pushed. Assign your computer the IP-address 192.168.1.10/24. Push image with tftp -4 -v -m binary 192.168.1.1 -c put <OPENWRT_FACTORY> Device will erase factory-partition first, then writes the pushed image to flash and reboots. Parts of this commit are based on Thomas Hebb's work on the openwrt-devel mailinglist. See https://lists.openwrt.org/pipermail/openwrt-devel/2018-January/043418.html Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq-wifi: Add 8devices JalapenoRobert Marko2018-04-131-1/+1
| | | | | | | Add custom board-2.bin for 8devices Jalapeno. Upstreaming is in progress. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ipq40xx: add support for 8devices JalapenoRobert Marko2018-04-136-9/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for 8devices Jalapeno. Specification: QCA IPQ4018, Quad core ARM v7 Cortex A7 717MHz 256 MB of DDR3 RAM 8 MB of SPI NOR flash 128 MB of Winbond SPI NAND flash WLAN1: Qualcomm Atheros QCA4018 2.4GHz 802.11bgn 2:2x2 requires special BDF in QCA4019/hw1.0/board-2.bin with: bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=8devices-Jalapeno WLAN2: Qualcomm Atheros QCA4018 5GHz 802.11a/n/ac 2:2x2 requires special BDF in QCA4019/hw1.0/board-2.bin with: bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=8devices-Jalapeno ETH: Qualcomm Atheros QCA8072 Gigabit Switch (1 x LAN, 1 x WAN) phy@mdio3: Label: eth0 gmac0 phy@mdio4: Label: eth1 gmac1 Installation instructions: Since boards ship with old version of LEDE installation is simple. Just use sysupgrade -n -F sysupgrade.bin Syuspgrade needs to be forced since OpenWRT uses DT detection in recent releases. If you get error that FIT configuration is not found during boot it is due to older U-boot used on your board. That is because 8devices used custom FIT configuration partition name as they internally had v1 and v2 boards. Only v2 boards are sold so now they are shipping boards with never U-boot using generic config@1 FIT partition name. Also for old uboot it is possible to force loading config@1 by changing uboot environment: setenv boot5 'bootm 0x84000000#config@1’ saveenv Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: mtd: bcm47xxpart: improve handling TRX partition sizeRafał Miłecki2018-04-125-2/+197
| | | | | | | | | | | | | | This is important fix for flash parsing in some corner cases. In case of TRX subpartition with rootfs being aligned to the flash block size it was incorrectly registered twice. Detecting & registering it as a standalone partition was resulting in an incorrect "firmware" partition size and possibly broken sysupgrade. It wasn't noticed before because "rootfs" alignment depends on a kernel size. It can happen though - depending on the configuration and the kernel size. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* omap: kernel update and switch to 4.14Lucian Cristian2018-04-112-1/+737
| | | | Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
* ar71xx: increase kernel partition size for CPE/WBS 210/510Matthias Schiffer2018-04-101-1/+1
| | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: sysupgrade: improve CPE/WBS 210/510 validation, add new metadata offsetMatthias Schiffer2018-04-101-12/+20
| | | | | | | | | Previously, tplink_pharos_check_image() would accept any image with ELF magic and only non-printable data in the support-list, as in this case the while-read loop would not run at all. Add the new support-list offset and ensure an image is only accepted when the model string is actually found. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: increase kernel partition size for UniFi AP Pro and Outdoor+, enable ↵Matthias Schiffer2018-04-101-2/+4
| | | | | | | | devices again Tested on UAP Outdoor+. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ar71xx: limit Ethernet speed of UBNT Airmax M (XM) devices to 100Mbit/sMatthias Schiffer2018-04-101-0/+2
| | | | | | | | | Some Airmax devices can establish a Gigabit link even though the MAC only supports 10/100 MBit/s, leading to broken connectivity. Prevent this from happening by limiting the speed to 100MBit/s. Fixes: FS#296 Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ipq806x: replace linux,part-probe with a proper partitions subnodeRafał Miłecki2018-04-094-5/+20
| | | | | | | | | | | This solution is more upstream compatible as it only requires specifying of_match_table in the parser code and doesn't depend on linux,part-probe which is solution made generic by a LEDE downstream patch that can't be upstreamed. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> Acked-by: John Crispin <john@phrozen.org>
* kernel: use accepted mtd patchset adding support for "compatible" stringRafał Miłecki2018-04-096-18/+50
| | | | | | | These patches were finally accepted and are already present in the Linus's tree. This should be good enough to make is "backport" material. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ramips: rename pwm kernel moduleMathias Kresin2018-04-081-5/+5
| | | | | | | | | | | | | | With kernel 4.14 the OpenWrt specific module name collides with the upstream added module for Mediatek ARM Socs. During addition of preliminary support for kernel 4.14, the config symbol used by the out of tree driver was already renamed but the ramips kernel package wasn't updated. Fix the build error by updating the config and kernel module name for the kernel package. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for Zorlik ZL5900V2Vianney le Clément de Saint-Marcq2018-04-086-1/+109
| | | | | | | | | | | | | | | | | | | | | | | | The Zorlik ZL5900V2 is an unbranded clone of HAME MPR-A1/2. It is marketed as "3G Wi-Fi Router". Only the PCB has the model name "ZL5900V2" printed on it. Specifications: - Ralink RT5350F (360 MHz) - 32 MB RAM - 8 MB Flash - 802.11bgn 1T1R - 1x 10/100 Mbps Ethernet - 1x USB 2.0 (Type-A) - 5200 mAh battery The ramdisk image (not the squashfs sysupgrade image) can be flashed through the web interface (named "GoAhead") of the factory firmware. However, as the factory firmware does not cleanly unmount the rootfs before flashing, the device may hang instead of rebooting after successful write. Power cycling the device gets you in OpenWrt where the squashfs image may be flashed through normal sysupgrade procedure. Signed-off-by: Vianney le Clément de Saint-Marcq <code@quartic.eu>
* ramips: add support for the YouHua WR1200JSZheng Qian2018-04-086-1/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | YouHua tech WR1200JS is an AC1200 router with 5 1Gb ports (4 Lan, 1 Wan) and 1 USB 2.0 port. Devices is base on MediaTek MT7621AT + MT7603E + MT7612E. Specification: - MT7612AT (880 MHz) - 128 MB of RAM - 16 MB of FLASH (SPI NOR) - 5x 10/100/1000 Mbps Ethernet - 2T2R 2.4 GHz (MT7603E) - 2T2R 5 GHz (MT7612E) - 1x USB 2.0 - 10x LED (Power 2G 5G WPS Internet LAN4-1 USB) - 3x button (reset wifi wps) - DC jack for main power input (12V) Installation: 1.) Press reset key 5 sec and restore the factory default 2.) Login webUI and change username to root and set a new password 3.) Visit http://192.168.2.254/adm/telnetd.shtml and turn on the telnet service 4.) Copy openwrt-ramips-mt7621-youhua_wr1200js-initramfs-kernel.bin to a usb pan 5.) Plug the usb pan to the router, telnet to the router and login by root 6.) cd /media/sda1 and check the initramfs file is there 7.) exec command: mtd_write write openwrt-ramips-mt7621-youhua_wr1200js-initramfs-kernel.bin Kernel 8.) reboot and visit 192.168.1.1 Signed-off-by: Zheng Qian <sotux82@gmail.com>
* ramips: add dwr-512 jboot firmware configurationGiuseppe Lippolis2018-04-085-15/+19
| | | | | | | | | | | | | | | | | | | | | The previous fw version require the replacement of the stock bootloader with u-boot. This prevent an easy stock restore of the original fw. Now a proper fw util has been developed to manage the stock jboot bootloader. Therefore make sense have a fw image for the stock bootloader. The old fw configuration (u-boot) is not compatible with the new one and will not be supported anymore. So at the end 2 image can be generated: 1) factory image with jboot bootloader openwrt-ramips-rt305x-dwr-512-b-squashfs-factory.bin 2) sysupgrade image with jboot bootloader openwrt-ramips-rt305x-dwr-512-b-squashfs-sysupgrade.bin Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
* ar8216: reduce latency even further for ar8327 chipsFelix Fietkau2018-04-081-2/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar8216: reduce latency by inserting scheduling points into code hogging the CPUFelix Fietkau2018-04-081-2/+7
| | | | | | Should reduce network related latency caused by accessing MIB counters Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: fix usbphy DT nodes on linux 4.14Vianney le Clément de Saint-Marcq2018-04-077-25/+34
| | | | | | | | | | | | | | The Ralink USB PHY driver merged into mainline has a slightly different device tree binding than the patch that was used with linux 4.9. The new driver requires a `ralink,sysctl` node pointing to the `syscon` node. This patch also sets `#phy-cells` to 0, as recommended by the mainline documentation [1]. [1] Documentation/devicetree/bindings/phy/ralink-usb-phy.txt Signed-off-by: Vianney le Clément de Saint-Marcq <code@quartic.eu>
* ar71xx: add support for TP-Link Archer C60 v2Henryk Heisig2018-04-0714-4/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C60 v2 is a dual-band AC1350 router, based on Qualcomm/Atheros QCA9561 + QCA9886. Specification: - 775/650/258 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 2T2R 5 GHz - 5x 10/100 Mbps Ethernet - 7x LED, 2x button - UART header on PCB Flash instruction (web): Download lede-ar71xx-generic-archer-c60-v2-squashfs-factory.bin and use OEM System Tools - Firmware Upgrade site. Flash instruction (recovery): 1. Set PC to fixed IP address 192.168.0.66 2. Download lede-ar71xx-generic-archer-c60-v2-squashfs-factory.bin and rename it to tp_recovery.bin 3. Start a tftp server with the file tp_recovery.bin in its root directory 4. Turn off the router 5. Press and hold reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery Flash instruction (under U-Boot, using UART): tftp 0x81000000 lede-ar71xx-...-sysupgrade.bin erase 0x9f030000 +$filesize cp.b $fileaddr 0x9f030000 $filesize reset Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* ar71xx: add support for TP-Link TL-WR940N v6Robert Marko2018-04-068-17/+72
| | | | | | | | | Add support for TL-WR940N v6 board. It is pretty much the same as v5 except they only left WAN LED and removed other ones. Installation: flash factory image through WEB UI or use TFTP. Signed-off-by: Robert Marko <robimarko@gmail.com>
* ar71xx: drop kernel 4.4 supportPiotr Dymacz2018-04-0697-8147/+0
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: change brand name WHQX to QxwlanPeng Zhang2018-04-065-16/+16
| | | | Signed-off-by: Peng Zhang <sd20@qxwlan.com>
* ar71xx: rework chipidea controller support, add QCA9531Piotr Dymacz2018-04-061-39/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | Rework (again) platform support for dual-role chipidea USB controller: - include support for QCA9531 - use correct EHCI block size - drop ar933x_usb_setup_ctrl_config() function - simplify code after previous "register chipidea only in device mode" change (fa22714181) Reworked patch was tested on devices with below QCA WiSOCs (signal/GPIO name with required bootstrap state for USB bus 0 in device mode): - AR9331 (GPIO13 pull-down) - AR9342 (RGMII_TXD1/ETXD1 pull-up) - AR9344 (GPIO20 pull-up) - QCA9531 (GPIO13 pull-up) - QCA9558 (GPIO13 pull-up) The only way to select device mode for bus 0 is to change SOC bootstrap configuration which is sampled only once, at hard reset. Likely, other models, like QCA9556 or AR9341, should also support dual-role USB mode but they were not tested. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: add U-Boot env support for ALFA Network AC1200RMPiotr Dymacz2018-04-062-2/+7
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: image: drop redundant SUPPORTED_DEVICESPiotr Dymacz2018-04-062-2/+0
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: fix build error caused by missing ifdef guard in hwnat codeJohn Crispin2018-04-061-1/+4
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* ramips: implement hardware NAT offload for MT7621John Crispin2018-04-068-3/+985
| | | | | | | | | | Supports IPv4 flow offloading on MT7621 for Routing, SNAT and DNAT Supported are regular ethernet->ethernet connections, including one 802.1q VLAN and/or PPPoE encapsulation Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: drop linux 4.9 supportFelix Fietkau2018-04-0685-27704/+0
| | | | | | | 4.14 has been tested a lot by a number of users, and we want to use it for the release. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: switch to linux 4.14Felix Fietkau2018-04-061-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: mtk-mmc: don't advertise highmem support.NeilBrown2018-04-052-0/+2
| | | | | | | | | | | | | | | | of_dma_configure() sets a default ->dma_mask of DMA_BIT_MASK(32), claiming devices can DMA from the full 32bit address space. The mtk-mmc driver does not support access to highmem pages, so it is really limited to the bottom 512M (actually 448M due to 64M of IO space). Setting ->dma_mask to NULL causes mmc_setup_queue() to fall-back to using BLK_BOUNCE_HIGH to tell the block layer to use a bounce-buffer for any highmem pages requiring IO. Signed-off-by: NeilBrown <neil@brown.name> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: fix xtables flow offload issuesFelix Fietkau2018-04-051-4/+5
| | | | | | | - avoid using garbage stack values as dst pointer if lookup fails - provide the source address for ipv6 dst lookup Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: fix BUG_ON on mtk-mmc driver probeFelix Fietkau2018-04-052-6/+2
| | | | | | | Our .dts files only have one device defined and this is unlikely to change, so statically initialize host->id to 0. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: move mtk-mmc driver code out of patches-*/ and into files-*/Felix Fietkau2018-04-0516-9557/+9515
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: add support for enabling hardware flow offload via iptablesFelix Fietkau2018-04-051-1/+34
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: add hardware offload patch for flow tables supportFelix Fietkau2018-04-056-0/+1140
| | | | | | Supports offloading through VLAN, bridge and PPPoE devices as well Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ar71xx: add model detection for UBNT AC-MeshDavid Bauer2018-04-051-0/+22
| | | | | | | | | | | | This commit adds correct model detection for UniFi AC-Mesh. Previously said device was incorrectly detected as UniFi AC-Lite. The Information about the device is stored at 0xC in the EEPROM partition. It corresponds to the sysid in /etc/board.info of the Ubiquiti stock firmware. Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: Add support for D-Link DAP-1330 a1Nicolò Veronese2018-04-0512-0/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | D-Link DAP-1330 rev. A1 is a wall-plug N300 Wi-Fi range extender, based on Qualcomm/Atheros QCA9533 v2. Short specification: - 650/393/216 MHz (CPU/DDR/AHB) - 1x 10/100 Mbps Ethernet - 64 MB of RAM (DDR1) - 8 MB of FLASH - 2T2R 2.4 GHz - 2x external antennas - 6x LED (2 are bi-color), 2x button - 4 pin on pcb (looking from eth port and from left to right tx,rx,gnd,vcc) Flash instruction: use "factory" image directly in vendor GUI. This device has a recovery system that assign the ip addr of env variable "serverip" via dhcp to a pc, and the "ipaddr" value to itself. The recovery it's triggered by a not bootable firmware, or pressing the reset button during the bootloader startup (first 30 seconds). The recovery uses a http page to restore the firmware, and it's checking the firmware image header, so use the "factory" image to restore or the original firmware. You can access vendor firmware over serial using: - login: root - password: linuxrocks Image was tested only in EU version of the device, but should work also with the same device version sold in other countries. Signed-off-by: Nicolò Veronese <nicveronese@gmail.com>
* ar71xx: Fix typo in wan LED color of gl-mifiReto Schneider2018-04-041-1/+1
| | | | | | | | | It was wrong from the beginning and the trigger for the wan led was never set due to the typo. Signed-off-by: Reto Schneider <code@reto-schneider.ch> [add commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: kernel 4.14: fix vr9 reboot maskMathias Kresin2018-04-041-1/+1
| | | | | | | We need to reset the GPHYs on reboot as well. Otherwise the bootloader might have issues to reset/find the GPHYs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for DLINK DWR-921-C3Pawel Dembicki2018-04-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DWR-921-C3 Wireless Routers with LTE embedded modem is based on the MT7620N SoC. Specification: * MediaTek MT7620N (580 Mhz) * 64 MB of RAM * 16 MB of FLASH * 802.11bgn radio * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN) * 2x external, detachable (LTE) antennas * UART header on PCB (57600 8n1) * 6x LED (GPIO-controlled) * 1x bi-color Signal Strength LED (GPIO-controlled) * 2x button * JBOOT bootloader Installation: Apply factory image via d-link http web-gui. How to revert to OEM firmware: 1.) Push the reset button and turn on the power. Wait until LED start blinking (~10sec.) 2.) Upload original factory image via JBOOT http (IP: 192.168.123.254) 3.) If http doesn't work, it can be done with curl command: curl -F FN=@XXXXX.bin http://192.168.123.254/upg where XXXXX.bin is name of firmware file. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ramips: add support for DLINK DWR-921-C1Giuseppe Lippolis2018-04-047-3/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DWR-921-C1 Wireless Routers with LTE embedded modem is based on the MT7620N SoC. Specification: * MediaTek MT7620N (580 Mhz) * 64 MB of RAM * 16 MB of FLASH * 802.11bgn radio * 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN) * 2x external, detachable (LTE) antennas * UART header on PCB (57600 8n1) * 6x LED (GPIO-controlled) * 1x bi-color Signal Strength LED (GPIO-controlled) * 2x button * JBOOT bootloader The status led has been assigned to the dwr-921-c1:green:sigstrength (lte signal strength) led. At the end of the boot it is switched off and is available for lte operation. Work correctly also during sysupgrade operation. Installation: Apply factory image via d-link http web-gui. How to revert to OEM firmware: 1.) Push the reset button and turn on the power. Wait until LED start blinking (~10sec.) 2.) Upload original factory image via JBOOT http (IP: 192.168.123.254) 3.) If http doesn't work, it can be done with curl command: curl -F FN=@XXXXX.bin http://192.168.123.254/upg where XXXXX.bin is name of firmware file. Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
* ramips: add BroadMobi BM806U lte-modem supportPawel Dembicki2018-04-042-0/+56
| | | | | | | Backport patch which adds suport for the BroadMobi BM806U 3G/4G modem, which is used in D-Link DWR-921 C3. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ramips: add wistron neweb d18q1 lte-modem supportGiuseppe Lippolis2018-04-042-0/+122
| | | | | | | Backport patch which adds suport for the Wistron NeWeb d18q1 LTE modem which is used in D-Link DWR-921 C1. Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
* ramips: mt7620: eMMC: fix compiler warnings in non-debug modeAndré Draszik2018-04-042-40/+26
| | | | | | | | | | | drivers/mmc/host/mtk-mmc/dbg.c:51:13: warning: 'cmd_buf' defined but not used [-Wunused-variable] static char cmd_buf[256]; ^~~~~~~ In addition, msdc_reg[] is completely unused, even in debug mode. Signed-off-by: André Draszik <git@andred.net>
* ramips: mt7620: eMMC: remove unused variableAndré Draszik2018-04-042-8/+2
| | | | | | | | msdc_6575_host[] is unused, just remove it. Also, it was the source of memory corruption up until the previous fix to this driver. Signed-off-by: André Draszik <git@andred.net>
* ramips: mt7620: eMMC: stop invalid memory access if only one device is definedAndré Draszik2018-04-042-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pdev->id is -1 when only one device exists, and is used: * as an index into drv_mode[] to determine whether to use PIO or DMA mode (via host->id) * as an index into msdc_6575_host[], to store the mmc_priv() data. Obviously, -1 is not a valid index in either case, causing us to read invalid memory, and memory corruption, respectively. The invalid memory read is causing non-deterministic behaviour, in particular in the v4.4 kernel it still picked DMA mode, but in the v4.9 it now always picks PIO mode. Also, PIO mode doesn't work, causing the following: / # echo 3 > /proc/sys/vm/drop_caches [ 3845.249237] sh (128): drop_caches: 3 / # /root/usr/lib/libc.so [ 3846.096070] do_page_fault(): sending SIGSEGV to libc.so for invalid read access from 7f9cb5a0 [ 3846.104758] epc = 779b0ea4 in libc.so[7792f000+c3000] [ 3846.109907] ra = 779a8004 in libc.so[7792f000+c3000] Segmentation fault / # /root/usr/lib/libc.so musl libc (mipsel-sf) Version 1.1.16-git-40-g54807d47 Dynamic Program Loader Usage: /root/usr/lib/libc.so [options] [--] pathname [args] (i.e. initial page-in of any binary causes a segfault, subsequent access works.) While this change doesn't fix PIO mode, it at least makes us deterministically use DMA (which works), and it also stops us from corrupting memory. Signed-off-by: André Draszik <git@andred.net>
* ramips: mt7620: eMMC: fix MODULE_DEVICE_TABLEAndré Draszik2018-04-042-2/+2
| | | | | | | This was referencing an undefined symbol, probably due to copy/paste error. Signed-off-by: André Draszik <git@andred.net>
* ramips: mt7620: eMMC: fix compiler warning (misleading indentation)André Draszik2018-04-042-8/+8
| | | | | | | | | | | drivers/mmc/host/mtk-mmc/sd.c:2782:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if ((hw->flags & MSDC_SDIO_IRQ) || (hw->flags & MSDC_EXT_SDIO_IRQ)) ^~ drivers/mmc/host/mtk-mmc/sd.c:2785:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' cd_active_low = !of_property_read_bool(pdev->dev.of_node, "mediatek,cd-high"); ^~~~~~~~~~~~~ Signed-off-by: André Draszik <git@andred.net>