aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
...
* staging: mt7621-eth: fix return value check in mt7621_gsw_probe()Wei Yongjun2018-05-153-6/+6
| | | | | | | | | | In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Fixes: f079b6406348 ("staging: mt7621-eth: add gigabit switch driver (GSW)") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: mt7621-eth: fix return value check in mtk_connect_phy_node()Wei Yongjun2018-05-151-2/+2
| | | | | | | | | | In case of error, the function of_phy_connect() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Fixes: e3cbf478f846 ("staging: mt7621-eth: add the drivers core files") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: mt7621-eth: fix return value check in mtk_probe()Wei Yongjun2018-05-151-1/+1
| | | | | | | | | | In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Fixes: e3cbf478f846 ("staging: mt7621-eth: add the drivers core files") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* ramips: pci: sync with staging driverRosen Penev2018-05-151-168/+150
| | | | | | | | | | This is an amagalmation of two upstream commits dealing with whitespace and dead code removal. I'm synching instead of having two separate commits as they go out of order compared to previous commits here. Tested on GnuBee PC1. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ramips: mmc: Sync with staging driversRosen Penev2018-05-155-3418/+2693
| | | | | | | | | | | | | Mostly whitespace cleanups. Some unneeded code was removed. MMC init was also moved to the probe function as in 6069bdd0871a20b5adce8d2f677946e05a2da609 The cleanup commits are over 100, making it hard to do them individually. Tested on GnuBee PC1 with an SD card being used as swap. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ramips: Add i2c support for mt7620nMatthias Badaire2018-05-151-0/+23
| | | | | | I2c is supported on mt7620n like on mt7620a when checking the datasheet Signed-off-by: Matthias Badaire <mbadaire@gmail.com>
* ramips: remove unnecessary resource details.NeilBrown2018-05-141-15/+2
| | | | | | | | These resources are extracted from devicetree, so they aren't needed here. Signed-off-by: NeilBrown <neil@brown.name> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* ramips: remove conditional compilation.NeilBrown2018-05-141-58/+8
| | | | | | | | | | | | | Code currently defines: and then compiles code only if they are defined. We might want to disable some of these via devicetree one day, but for now just remove the #defines and the conditions - all the code for different ports is easy to identify. Signed-off-by: NeilBrown <neil@brown.name> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* ramips: improve interrupt mappingNeilBrown2018-05-142-69/+14
| | | | | | | | | | | | | | As the Interrupts for the PCI adapters are listed in devicetree we shouldn't need to have them explicit in the code. The simplest way to do this is to use of_irq_parse_and_map_pci() and specify an interrupt-map which identifies the different PCI hosts by bus/slot numbers. This has the advantage that the hwirq number are mapped to virq numbers for us, so the ugly hack can go. Signed-off-by: NeilBrown <neil@brown.name> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* ramips: Remove redundant owner assignmentChristian Lütke-Stetzkamp2018-05-141-1/+0
| | | | | | | | | Remove the owner assignment form the platform driver as platform_driver_register() already initializes the owner. Found using coccinelle. Signed-off-by: Christian Lütke-Stetzkamp <christian@lkamp.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* ramips: Move PCI driver to files directoryRosen Penev2018-05-142-842/+837
| | | | | | This will make it easier to port upstream code. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ramips: move mtk-mmc init to probe function to avoid breaking NAND flashFelix Fietkau2018-05-081-36/+28
| | | | | | | The driver messes with the pin control settings - MMC and NAND are mutually exclusive Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: clean up the mt7621 nand flash driver hacks, add support for the ↵Felix Fietkau2018-05-083-79/+37
| | | | | | xiaomi mir3g flash chip Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add support for mqmaker witi 512mb versionDavide Ammirata2018-05-079-17/+49
| | | | | | | | | | | | Splitted out the dts file and create the new dts for the 256 MByte RAM and the 512 MB RAM version. Migrate both versions to the common board detection. The install the 512 MByte Version on a board running the 256 MByte image, a forceful sysupgrade with the -F flag is required. Signed-off-by: Davide Ammirata <list@davidea.it>
* ramips: add support for Ravpower WD03Matthias Badaire2018-05-074-0/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RavPower WD03 is a battery powered SD card reader and a USB port. Specifications: SOC: MediaTek MT7620N BATTERY: 6000mah WLAN: 802.11bgn LAN: 1x 10/100 Mbps Ethernet USB: 1x USB 2.0 (Type-A) RAM: PM Tech PMD708416CTR-5CN 32 MB FLASH: Holtek HT66F40 - 8 MB Flash LED: Power button and 4 leds to indicate power level of the battery (could not get control of that) INPUT: Power, reset button OTHER: USB SD-Card reader with card detect on GPIO#42 Tested and working: - Ethernet - 2.4 GHz WiFi (Correct MAC-address) - installation from tftp - OpenWRT sysupgrade (Preserving and non-preserving) - LEDs - Buttons Installation: - Download the sysupgrade image - Place it in the root of a clean TFTP server running on your computer. - Rename the image to "kernel" — be sure there is no file extension. - Plug the WD03 into your computer via ethernet. - Set your computer to use 10.10.10.254 as its IP address. - With your WD03 shut down, hold down the power button until the first white LED lights up. - Push and hold the reset button and release the power button. Continue holding the reset button for 30 seconds or until it begins searching for files on your TFTP server, whichever comes first. - The WD03 (10.10.10.128) will look for your computer at 10.10.10.254 and install the kernel file. Once it has finished installation of the kernel file, it will search for a (nonexistent) rootfs file — when it begins searching for this file, shut down the WD03 by holding the power button normally. - Start up your WD03 normally. Signed-off-by: Matthias Badaire <mbadaire@gmail.com>
* ramips: disable spi full duplex on mt7621John Crispin2018-05-051-6/+18
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* ramips: fix mt7628 eval board pinmuxMathias Kresin2018-04-251-1/+1
| | | | | | | | | There is no pinmux group "jtag" for mt7628 and the pinmux driver fails to load due to the use of the not existing group. Fixes: FS#1515 Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: create image for mt7628 evb boardMathias Kresin2018-04-231-0/+1
| | | | | | | The image for the EVB board got lost with the merge of the mt7628 and mt7688 subtargets. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: use patch-dtb for F5D8235 V1Tobias Wolf2018-04-231-3/+1
| | | | | | | | | | The old DTB method (OWRTDTB) is not recognized by the boot process anymore with 4.9/4.14. This patch reuses KERNEL_DTB to get a valid DTB applied to the kernel image. Signed-off-by: Tobias Wolf <github-NTEO@vplace.de>
* build: consolidate fake uImage header build commandsMathias Kresin2018-04-201-2/+2
| | | | | | | | | | | Merge the two existing functions and use a parameter for the type header field. It updates the syntax of the former mpc85xx fake ramdisk header command to be compatible with mkimage from u-boot 2018.03 and fixes the build error spotted by the build bot. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix locking issues in the ethernet driverFelix Fietkau2018-04-171-2/+3
| | | | | | | The stats update needs to protect against being interrupted by a tasklet The u64 stats seqlock needs to be initialized Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: mt7620: fix double use of pinsMathias Kresin2018-04-173-6/+0
| | | | | | | | | The pins are used as (LED) GPIOs and can't be used at the same time as hardware controlled ephy (LED) pins. Fixes: FS#1500 Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump 4.14 to 4.14.34Stijn Tintel2018-04-162-6/+6
| | | | | | | | | | | | | Refresh patches. Update patches that no longer apply: - backport/313-netfilter-remove-defensive-check-on-malformed-packet.patch - pending/642-net-8021q-support-hardware-flow-table-offload.patch Compile-tested: x86/64. Runtime-tested: x86/64. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ramips: remove broken and bogus spinlock in the SPI driverFelix Fietkau2018-04-141-4/+1
| | | | | | Based on patch by Neil Brown Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add missing unlock in fe_phy_link_adjustFelix Fietkau2018-04-141-0/+1
| | | | | | Based on patch by Neil Brown Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: fix usb phy compatible string (should fix FS#1489)Felix Fietkau2018-04-131-1/+1
| | | | | | | In the new USB phy driver, it checks the compatible string before attempting to iomap its mem resource and do the extra PHY init Signed-off-by: Felix Fietkau <nbd@nbd.name>
* 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>
* 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>
* 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>
* 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>
* 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: 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>
* ramips: mt7620: eMMC: clear owner fieldAndré Draszik2018-04-042-4/+2
| | | | | | | a) This is not needed in recent kernels anymore (> 3.x ??) b) this allows driver unloading now Signed-off-by: André Draszik <git@andred.net>
* kernel: update kernel 4.14 to 4.14.32Hauke Mehrtens2018-04-031-3/+3
| | | | | | | | | | | | | The following patches are now included upstream: * 0052-MIPS-lantiq-fix-usb-clocks.patch * 0053-MIPS-lantiq-enable-AHB-Bus-for-USB.patch * 0060-lantiq-ase-enable-MFD-SYSCON.patch Closes: FS#1466 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Stijn Segers <foss@volatilesystems.org> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: update kernel 4.9 to version 4.9.91Hauke Mehrtens2018-03-314-8/+8
| | | | | | | | | | * Refreshed patches. * Deleted 210-Revert-led-core-Fix-brightness-setting-when-setting-.patch (was accepted upstream) * Deleted 812-pci-dwc-fix-enumeration.patch (was accepted upstream) Compile and run tested on lantiq Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>