aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
* kernel: bump 4.9 to 4.9.72Kevin Darbyshire-Bryant2017-12-261-1/+1
| | | | | | | | Refresh patches. Runtime tested: ar71xx - Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: fix Linkit smart 7688 supportMathias Kresin2017-12-233-24/+8
| | | | | | | | | | Use a more appropriate compatible string. Fix the wireless led GPIO and add the default wireless trigger. Use the wireless LED for boot state indication as well. Remove the GPIO pinmux for pins not exposed on the board. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for TP-Link TL-MR3420 v5Henryk Heisig2017-12-236-0/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link TL-MR3420 v5 are simple N300 router with 5-port FE switch and non-detachable antennas. Its very similar to TP-Link TL-WR841N V13. Specification: - MT7628N/N (580 MHz) - 64 MB of RAM (DDR2) - 8 MB of FLASH - 2T2R 2.4 GHz - 5x 10/100 Mbps Ethernet - 2x external, non-detachable antennas - USB 2.0 Port - UART (J1) header on PCB (115200 8n1) - 8x LED, 2x button, power input switch Flash instruction: The only way to flash LEDE image in mr3420v5 is to use tftp recovery mode in U-Boot: 1. Configure PC with static IP 192.168.0.225/24 and tftp server. 2. Rename "lede-ramips-mt7628-tplink_tl-mr3420-v5-squashfs-tftp-recovery.bin" to "tp_recovery.bin" and place it in tftp server directory. 3. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed for around 6-7 seconds, until device starts downloading the file. 4. Router will download file from server, write it to flash and reboot. Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* ramips: move common tplink image build code into own recipeMathias Kresin2017-12-231-8/+20
| | | | | | | | Move common tplink image build code into own recipe. Include the common parts instead of including a full build recipe and overwriting former set varaibles. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix devicetree compat stringsMathias Kresin2017-12-215-5/+5
| | | | | | | | | | | | "PandoraBox" is not the name of the manufacturer, it's a firmware made by the manufacturer actually. Their official English name is "D-Team". PBR-M1 is the only one they use "PandoraBox" as a brand name. Their other products are using "Newifi" as their trademark (including Y1 and Y1S which used to be OEM products for Lenovo). Signed-off-by: Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for newifi d2Jackson Ming Hu2017-12-216-0/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously Newifi D2 could only use PandoraBox M1's firmware. It works fine, but LED GPIO is different. As a result, a separated DTS file for this device should be implemented. Hardware spec: * CPU: MTK MT7621A * RAM: 512MB * ROM: 32MB SPI Flash * WiFi: MTK MT7603+MT7612 * Button: 2 buttons (reset, wps) * LED: 3 single-color LEDs (USB, WiFi 2.4GHz, WiFi 5GHz) & 2 dual-color LEDs (Power, Internet) * Ethernet: 5 ports, 4 LAN + 1 WAN Installation method: Same as Newifi D1, users may need to request unlock code from the device manufacturer. Otherwise, a SPI flash programmer may be necessary to get the firmware flashed. After the device is unlocked, press and hold reset button before power cable plugs in. Then go to http://192.168.1.1 to upload and flash the firmware package. Signed-off-by: Jackson Ming Hu <huming2207@gmail.com>
* ramips: add support for Vonets VAR11N-300Andrew Crawley2017-12-215-1/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The VAR11N-300 is a tiny wireless-N device with a hardwired Ethernet cable, one extra Ethernet port, and an internal antenna, based on the MediaTek MT7620n chipset. Specs: - MT7620n WiSoC @ 600MHz - 32 MB SDRAM - 4 MB SPI flash - 2T2R 2.4GHz WiFi-N - 1 attached 10/100 Ethernet cable (LAN) - 1 10/100 Ethernet port (WAN) - 1 attached USB / barrel 5vdc power cable - 5 LEDs (see notes below) - 1 reset button - 1 UART (3 pads on board) Installation: The stock firmware does not support uploading new firmware directly, only checking the manufacturer's site for updates. This process may be possible to spoof, but the update check uses some kind of homebrew encryption that I didn't investigate. Instead, you can install via a backdoor: 1. Set up a TFTP server to serve the firmware binary (lede-ramips-mt7620-var11n-300-squashfs-sysupgrade.bin) 2. Factory reset the device by holding the reset button for a few seconds. 3. Open the web interface (default IP: 192.168.253.254) 4. Log in with the "super admin" credentials: username `vonets`, password `vonets26642519`. 5. On the "Operative Status" page, click the text "System Uptime", then quickly click the uptime value. 6. If successful, an alert dialog will appear reading "Ated start", and the device will now accept telnet connections. If the alert does not appear, repeat step 5 until it works (the timing is a bit tricky). 7. Telnet to the device using credentials "admin / admin" 8. Retrieve the firmware binary from the tftp server: `tftp -l lede.bin -r lede-ramips-mt7620-var11n-300-squashfs-sysupgrade.bin -g <tftp-server-ip>` 9. Write the firmware to flash: `mtd_write write lede.bin /dev/mtd4` 10. Reboot Tested: - LAN / WAN ethernet - WiFi - LAN / WAN / status LED GPIOs (see notes below) - Reset button - Sysupgrade Notes: LEDs: The board has 5 LEDs - two green LEDs for LAN / WAN activity, one blue LED for WiFi, and a pair of "status" LEDs connected to the same GPIO (the blue LED lights when the GPIO is low, and the green when it's high). I was unable to determine how to operate the WiFi LED, as it does not appear to be controlled by a GPIO directly. Recovery: The default U-boot installation will only boot from flash due to a missing environment block. I generated a valid 4KB env block using U-boot's `fw_setenv` tool and wrote it to flash at 0x30000 using an external programmer. After this, it was possible to enter the U-boot commandline interface and download a new image via TFTP (`tftpboot 81b00000 <image-filename>`), but while I could boot this image sucessfully (`bootm`), writing it to flash (`cp.linux`) just corrupted the flash chip. The sysupgrade file can be written to flash at 0x50000 using an external programmer. Signed-off-by: Andrew Crawley <acrawley@gmail.com>
* ramips: add helper variable for boardnameMathias Kresin2017-12-212-224/+226
| | | | | | | | | | | | | Add a helper variable which contains the boardname separated from the vendor name. It allows to switch to a device tree compatible string based boardname, by keeping the $board:colour:function syntax in scripts handling/adding config for LEDs. Boards not using the device tree compatible string as based boardname are unaffected by the change, since none of them uses a comma in the boardname. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: sync image filename with boardnameMathias Kresin2017-12-213-4/+9
| | | | | | | | | | | | | Use <manufacturer>_<modelname> as image name for board using the devicetree compat string as boardname. Replace the underline of the device define, to keep the SUPPORTED_DEVICES in sync with a devicetree compat string based boardname. Override the default SUPPORTED_DEVICES for board which are having an userspace boardname with an underline. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fallback to generic board detectMathias Kresin2017-12-214-15/+7
| | | | | | | Fallback to the generic board detection if no case for the current board exists. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: drop LinkIt Smart 7688 Duo userspace supportMathias Kresin2017-12-214-13/+3
| | | | | | | | | | The LinkIt Smart 7688/LinkIt Smart 7688 Duo are identical beside the extra ATmega32U4 - accessible via UART - on the the Duo. Since all relevant hardware is identical, drop the Duo special handling in userspace. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: Update kernel 4.9 to 4.9.70Hauke Mehrtens2017-12-194-4/+4
| | | | | | Runtime tested on lantiq. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ramips: fix polarity in gpio-export nodeMathias Kresin2017-12-1811-16/+11
| | | | | | | | If we need to set the initial output value to GPIOF_OUT_INIT_HIGH (1) to enable something, the pin is ACTIVE_HIGH. The same applies to GPIOF_OUT_INIT_LOW (0) and ACTIVE_LOW. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: add only one device when appending to TARGET_DEVICESLuis Araneda2017-12-121-4/+9
| | | | | | | | | This will avoid some conflicts when doing a git rebase or merge, specially when adding support to a new device. Signed-off-by: Luis Araneda <luaraneda@gmail.com> [drop brcm47xx changes which rename the images] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix a typo in 02_networkPavel Kubelun2017-12-081-1/+1
| | | | | | | The typo in network defaults script in ramips target that prevents defaults to initialize. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* kernel: bump 4.9 to 4.9.67Stijn Tintel2017-12-077-79/+6
| | | | | | | | | | | | | | | | | | | Refresh patches. Remove upstreamed patches: - generic/190-1-5-e1000e-Fix-error-path-in-link-detection.patch - generic/190-3-5-e1000e-Fix-return-value-test.patch - generic/190-4-5-e1000e-Separate-signaling-for-link-check-link-up.patch - generic/190-5-5-e1000e-Avoid-receiver-overrun-interrupt-bursts.patch - ramips/0102-MIPS-ralink-Fix-MT7628-pinmux.patch - ramips/0103-MIPS-ralink-Fix-typo-in-mt7628-pinmux-function Update patches that no longer apply: - layerscape/815-spi-support-layerscape.patch - ramips/0099-pci-mt7620.patch Compile-tested on ar71xx, brcm2708/bcm2708, octeon and x86/64. Runtime-tested on ar71xx, brcm2708/bcm2708, octeon and x86/64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ramips: add support for Asus RT-N11P / RT-N12+ / RT-N12E b1Zoltan HERPAI2017-12-066-0/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a variant of the MT7620N-based Asus routers. Specifications: - MT7620N (580 MHz) - 32 MB RAM - 8 MB Flash - 5x 10/100Mbps Ethernet (built-in switch) - 2.4 GHz WLAN - 2x external, non-detachable antennas - UART (J2) header on PCB (115200 8n1) Flash instructions: 1. Configure PC with static IP 192.168.1.75/24 2. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed for around 6-7 seconds. All 4 LEDs will start to blink, which is when the router will accept firmware files via TFTP. No known limitations on firmware filenames, just send it with a TFTP client to 192.168.1.1. 3. Router will download file from server, write it to flash and reboot. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* ramips: add missing reset button for Nexx WT1520INAGAKI Hiroshi2017-11-281-9/+15
| | | | | | | | | | | | | This commit adds missing the GPIO key used as reset button. Nexx WT1520 has a GPIO key for factory reset, but it's not defined in WT1520.dtsi and cannot use it. Drop the UART (full) from the device tree source file, it was never used for this board. Adjust the kernel bootargs accordingly. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> [add note about dropped UART (full) to the commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump 4.9 to 4.9.65Stijn Tintel2017-11-241-2/+2
| | | | | | | | Refresh patches. Compile-tested: ar71xx, octeon, x86/64. Runtime-tested: ar71xx, octeon, x86/64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: bump 4.9 to 4.9.63Koen Vandeputte2017-11-224-15/+3
| | | | | | | | | | | Refreshed all patches. Removed upstreamed parts. Compile-tested: cns3xxx, imx6, mvebu, layerscape Run-tested: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ramips: use pinmux nodes from dtsiMathias Kresin2017-11-2215-132/+32
| | | | | | | Use the pinmux nodes from the included dtsi file instead of adding duplicate nodes. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add missing pinmuxes to SoC dtsiMathias Kresin2017-11-225-2/+58
| | | | | | | Add pinmuxes defined by some board which are including the dtsi files to the dtsi files itself. Allows to reduce duplication. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: backport MT7628 pinmux fixesMathias Kresin2017-11-225-3/+67
| | | | | | | | | | | | According to the datasheet the REFCLK pin is shared with GPIO#37 and the PERST pin is shared with GPIO#36. While at it fix a typo inside the pinmux setup code. The function is called refclk and not reclk. Update device tree source files accordingly. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix Planex CS-QR10 device packagesMathias Kresin2017-11-221-1/+3
| | | | | | | | | Add kmod-sound-core, it is a dependency of kmod-sound-mt7620 and will not be autoselected. Remove kmod-i2c-core, it will be autoselected by kmod-i2c-ralink. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix DCH-M225 supportMathias Kresin2017-11-222-2/+7
| | | | | | | | | | | | | | Setting the pins of the UARTF group to GPIO+I2S at the time the I2C driver loads is to late for the wps GPIO button. The gpio-keys driver fails to load since the pin used by the wps button is not yet set to GPIO. The wps button with the rfkill keycode is essential for this wireless only board. Add the missing sound and I2C kernel modules corresponding to the device nodes. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for ZBT WE3526Felix Fietkau2017-11-164-0/+130
| | | | | | | | | | | | | | | | | This is a variant of the ZBT WG3526 with a few minor modifications. The wifi chips are swapped, and there is no GPIO controllable status LED. There is also no SATA port. Specifications: - MT7621AT (880 MHz) - 512 MB RAM - 16 MB Flash (SPI NOR) - 5x 1Gbps Ethernet (built-in switch) - MT7612E 802.11ac 5 GHz WLAN - MT7603E 802.11n 2.4 GHz WLAN Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: extract board name from device tree as a fallbackFelix Fietkau2017-11-161-1/+3
| | | | | | | This makes it possible to avoid more duplication when adding support for a new board Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add support for UniElec U7628-01Piotr Dymacz2017-11-148-0/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UniElec U7628-01 is a router platform board based on MediaTek MT7628AN. The device has the following specifications: - MT7628AN (580MHz) - 64/128/256 MB of RAM (DDR2) - 8/16 MB of flash (SPI NOR) - 5x 10/100 Mbps Ethernet (MT7628 built-in switch) - 1x 2T2R 2.4 GHz Wi-Fi (MT7628) - 1x miniPCIe slot (with PCIe and USB 2.0 buses) - 1x miniSIM slot - 1x microSD slot - 1x USB 2.0 port - 7x single-color LEDs (GPIO-controlled) - 1x bi-color LED (green GPIO-controlled, red -> LED_WLAN# in miniPCIe) - 1x reset button - 1x UART header (4-pins) - 1x SDXC/GPIO header (10-pins, connected with microSD slot) - 1x DC jack for main power (12 V) The following has been tested and is working: - Ethernet switch - miniPCIe slot (tested with modem and Wi-Fi card) - miniSIM slot - sysupgrade - reset button - USB 2.0 port* Due to a missing driver (MMC over GPIO) this is not supported: - microSD card reader * Warning: USB buses in miniPCIe and regular A-type socket are connected together, without any proper analog switch or USB HUB. Installation: This board might come with a different firmware versions (MediaTek SDK, PandoraBox, Padavan, etc.). If your board comes with PandoraBox, you can install LEDE using sysupgrade. Just SSH to the router and perform forced sysupgrade (due to a board name mismatch). The default IP of this board should be: 192.168.1.1 and username/password: root/admin. In case of a different firmware, you can use web based recovery described below. Use the following command to perform the sysupgrade (for the 128MB RAM/16MB flash version): sysupgrade -n -F lede-ramips-mt76x8-u7628-01-128M-16M-squashfs-sysupgrade.bin Recovery: This board contains a Chinese, closed-source bootloader called Breed (Boot and Recovery Environment for Embedded Devices). Breed supports web recovery and to enter it, you keep the reset button pressed for around 5 seconds during boot. Your machine will be assigned an IP through DHCP and the router will use IP address 192.168.1.1. The recovery website is in Chinese, but is easy to use. Click on the second item in the list to access the recovery page, then the second item on the next page is where you select the firmware. In order to start the recovery, you click the button at the bottom. SDXC/GPIO header (J3): 1. SDXC_D3 / I2C_SCLK 2. SDXC_D2 / I2C_SD 3. SDXC_D1 / I2S_DI 4. SDXC_D0 / I2S_WS 5. SDXC_CMD / I2S_CLK 6. SDXC_CLK / GPIO0 7. SDXC_CD / UART_RXD1 8. UART_TXD1 9. 3V3 10. GND Other notes: 1. The board is available with different amounts of RAM and flash. We have only added support for the 128/16 MB configuration, as that seems to be the default. However, all the required infrastructure is in place for making support for the other configurations easy. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
* ramips: add support for UniElec U7621-06Piotr Dymacz2017-11-147-0/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UniElec U7621-06 is a router platform board based on MediaTek MT7621AT. The device has the following specifications: - MT7621AT (880 MHz) - 256/512 MB of RAM (DDR3) - 8/16/32/64 MB of FLASH (SPI NOR) - 5x 1 Gbps Ethernet (MT7621 built-in switch) - 1x ASMedia ASM1061 (for mSATA and SATA) - 2x miniPCIe slots (PCIe bus only) - 1x mSATA slot (with USB 2.0 bus for modem) - 1x SATA - 1x miniSIM slot - 1x microSD slot - 1x USB 3.0 - 12x LEDs (3 GPIO-controlled) - 1x reset button - 1x UART header (4-pins) - 1x GPIO header (30-pins) - 1x FPC connector for LEDs (20-pin, 0.5 mm pitch) - 1x DC jack for main power (12 V) The following has been tested and is working: - Ethernet switch - miniPCIe slots (tested with Wi-Fi cards) - mSATA slot (tested with modem and mSATA drive) - miniSIM slot - sysupgrade - reset button - microSD slot Installation: This board might come with a different firmware versions (MediaTek SDK, PandoraBox, Padavan, etc.). If your board comes with PandoraBox, you can install LEDE using sysupgrade. Just SSH to the router and perform forced sysupgrade (due to a board name mismatch). The default IP of this board should be: 192.168.1.1 and username/password: root/admin. In case of a different firmware, you can use web based recovery described below. Use the following command to perform the sysupgrade (for the 256MB RAM/16MB flash version): sysupgrade -n -F lede-ramips-mt7621-u7621-06-256M-16M-squashfs-sysupgrade.bin Recovery: This board contains a Chinese, closed-source bootloader called Breed (Boot and Recovery Environment for Embedded Devices). Breed supports web recovery and to enter it, you keep the reset button pressed for around 5 seconds during boot. Your machine will be assigned an IP through DHCP and the router will use IP address 192.168.1.1. The recovery website is in Chinese, but is easy to use. Click on the second item in the list to access the recovery page, then the second item on the next page is where you select the firmware. In order to start the recovery, you click the button at the bottom. LEDs list (top row, left to right): - LED_WWAN# (connected with pin 42 in LTE/mSATA slot) - Power (connected directly to 3V3) - CTS2_N (GPIO10, configured as "status" LED) - TXD2 (GPIO11, configured as "led4", without default trigger) - RXD2 (GPIO12, configured as "led5", without default trigger) - LED_WLAN# (connected with pin 44 in wifi0 slot) LEDs list (bottom row, left to right): - ESW_P0_LED_0 - ESW_P1_LED_0 - ESW_P2_LED_0 - ESW_P3_LED_0 - ESW_P4_LED_0 - LED_WLAN# (connected with pin 44 in wifi1 slot) Other notes: 1. The board is available with different amounts of RAM and flash. We have only added support for the 256/16 MB configuration, as that seems to be the default. However, all the required infrastructure is in place for making support for the other configurations easy. 2. The manufacturer offers five different wireless cards with MediaTek chipsets, based on MT76x2, MT7603 and MT7615. Images of the board all show that the miniPCIe slots are dedicated to specific Wi-Fi cards. However, the slots are generic. 3. All boards we got access to had the same EEPROM content. The default firmware reads the Ethernet MAC from offset 0xe000 in factory partition. This offset only contains 0xffs, so a random MAC will be generated on every boot of the router. There is a valid MAC stored at offset 0xe006 and this MAC is shown as the WAN MAC in the bootloader. However, it is the same on all boards we have checked. Based on information provided by the vendor, all boards sold in small quantities are considered more as samples for development purposes. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
* ramips: add support for TP-Link TL-WR840N v5Robert Marko2017-11-086-1/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link TL-WR840N v5 is simple N300 router with 5-port FE switch and non-detachable antennas, based on MediaTek MT7628NN (aka MT7628N) WiSoC. Specification: - MT7628N/N (580 MHz) - 64 MB of RAM (DDR2) - 4 MB of FLASH - 2T2R 2.4 GHz - 5x 10/100 Mbps Ethernet - 2x external, non-detachable antennas - UART (J1) header on PCB (115200 8n1) - 1x LED (GPIO-controlled), 1x button * LED in TL-WR840N v5 is a dual-color, dual-leads type which isn't (fully) supported by gpio-leds driver. This type of LED requires both GPIOs state change at the same time to select color or turn it off. For now, we support/use only the green part of the LED. Orange LED is registered so you can later use it for your own purposes. Flash instruction: Unlike TL-WR840N v4 flashing through WEB UI works in v5. 1. Download lede-ramips-mt76x8-tl-wr840n-v5-squashfs-sysupgrade.bin image. 2. Go to 192.168.0.1 3. Flash the sysupgrade image through Firmware upgrade section of WEB UI. 4. Wait until green LED stops flashing and use the router. Notes: TFTP recovery is broken since TP-Link reused bootloader code for v4 and that does not take into account only 4 MB of flash and bricks the device. So do not use TFTP Recovery or you will have to rewrite SPI flash. They fixed it in later GPL code,but it is unknown which version of bootloader you have. After manually compiling and flashing bootloader from GPL sources TFTP recovery works properly. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: add support for limiting 4K erase sector support based on flash chip ↵Felix Fietkau2017-11-063-0/+3
| | | | | | | | | | | | | | | | size Some targets need 4K sectors for small flash chips (e.g. some routerboards, where the entire chip is just one "erase block"), whereas on other devices 4K sectors lead to horrible flash erase/write performance. Set the default limit in the generic kernel configuration to 4 MiB to ensure that all new platforms don't use 4K sectors for bigger flash chips. On all existing targets use 16 MiB for now to avoid regressions. They will be changed individually in follow-up commits. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mt7620: image.mk: make elecom-header reproducibleAlexander Couzens2017-11-061-1/+3
| | | | | | | | | elecom-header adds a timestamp dependency. Replace the timestamps with SOURCE_DATE_EPOCH [0] variable. [0] https://reproducible-builds.org/specs/source-date-epoch/ Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ramips: add support for switching between 3-byte and 4-byte addressing on ↵Felix Fietkau2017-11-022-9/+224
| | | | | | | | | | | | | | | w25q256 flash On some devices the flash chip needs to be in 3-byte addressing mode during reboot, otherwise the boot loader will fail to start. This mode however does not allow regular reads/writes onto the upper 16M half. W25Q256 has separate read commands for reading from >16M, however it does not have any separate write commands. This patch changes the code to leave the chip in 3-byte mode most of the time and only switch during erase/write cycles that go to >16M addresses. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: fix Youku-YK1 supportEdmunt Pienkowsky2017-10-274-5/+6
| | | | | | | | | | | | | | | | | | | | | | Remove the ephy-pins from the ethernet device tree node. The ephy-pins are useed to controll the ePHY LEDs and this board doesn't have these. Instead one of the ePHY pins is used in GPIO mode to control the WAN LED. Use the switch LED trigger to control the WAN LED. Move the power LED handling to diag.sh to show the boot status via this LED. Add the missing kernel packages for USB and microSD card reader to the default package selection. Fix the maximum image size value. The board has a 32MByte flash chip. Fixes: FS#1055 Signed-off-by: Edmunt Pienkowsky <roed@onet.eu> [make the commit message more verbose, remove GPIO pinmux for pins not used as GPIOs] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: remove erroneous "wdt rst" DTS entriesKevin Darbyshire-Bryant2017-10-253-3/+3
| | | | | | | | | | | | Remove reference to pinmux group "wdt rst" on EW1200, ZBT-WG2626 and ZBT-WG3526 devices. "wdt rst" is a pinmux function and not a pinmux group. Fixes the following error message during boot: rt2880-pinmux pinctrl: invalid group "wdt rst" for function "gpio" Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: don't enable usb for the WT3020-4MMathias Kresin2017-10-252-9/+8
| | | | | | | | | That device does not have a USB port. It as the same board as the WT3020-8M, but without soldered USB port port. Also the case lacks the opening for the port. Reported-by: Alberto Bursi <alberto.bursi@outlook.it> Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix default usb support for nexx wt3020-8MAlberto Bursi2017-10-251-0/+1
| | | | | | | the nexx wt3020-8M has a usb 2.0 port, add usb 2.0 support packages to its default package list. Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
* kernel: bump 4.9 to 4.9.57Kevin Darbyshire-Bryant2017-10-181-1/+1
| | | | | | | | | | | | | | | | Refresh patches. Compile-tested for ar71xx - Archer C7 v2 Runtime-tested on ar71xx - Archer C7 v2 Fixes the following CVEs: - CVE-2017-7518 - CVE-2017-0786 - CVE-2017-1000255 - CVE-2017-12188 - CVE-2017-15265 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: fix typo in MT7621 NAND driverFelix Fietkau2017-10-161-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add support for Kimax U25AWF-H1Daniel Kucera2017-10-147-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Kimax U-25AWF-H1 is is a 2,5" HDD Enclosure with Wi-Fi/Eth conection and battery, based on MediaTek MT7620A. Patch rewritten from: https://forum.openwrt.org/viewtopic.php?pid=305643 Specification: - MT7620A CPU - 64 MB of RAM - 16 MB of FLASH - 802.11bgn WiFi - 1x 10/100 Mbps Ethernet - USB 2.0 Host - UART for serial console Flash instruction: 1. Download lede-ramips-mt7620-u25awf-h1-squashfs-sysupgrade.bin 2. Open webinterface a upgrade 3. After boot connect via ethernet to ip 192.168.1.1 Signed-off-by: Daniel Kucera <daniel.kucera@gmail.com> [fix reset button gpio, don't add a lan/wan vlan config for single port board, add -H1 suffix do make sure that this revision of the board is supported/tested] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips/mt76x8: add initramfs support for tplink 841n v13Alexander Couzens2017-10-091-0/+1
| | | | | | | | | | | | | The tplink 841n v13 requires an tplink v2 image header in front of an initramfs image. To boot an initramfs image: - break the uboot by holding the '4' key - setup your tftp server 192.168.0.255 - tftp 81000000 lede-ramips-mt76x8-tl-wr841n-v13-initramfs-kernel.bin - bootm Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* kernel: bump 4.9 to 4.9.54Stijn Tintel2017-10-083-100/+0
| | | | | | | | | | | | | Refresh patches. Remove upstreamed patches: - ramips/0067-enable-mt7621-xhci.patch - ramips/0085-pinmux-util.patch - ramips/301-fix-rt3883.patch Compile-tested on brcm2708/bcm2708, octeon, ramips/mt7621, x86/64. Runtime-tested on brcm2708/bcm2708, octeon, ramips/mt7621, x86/64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: update 4.9 to 4.9.53Stijn Tintel2017-10-071-1/+1
| | | | | | | | | | | | | Refresh patches. Compile-tested on brcm2708/bcm2708, octeon and x86/64. Runtime-tested on brcm2708/bcm2708, octeon and x86/64. Fixes the following CVEs: - CVE-2017-1000252 - CVE-2017-12153 - CVE-2017-12154 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* build: add mktplinkfw2 hardcoded values to makefileThibaut VARÈNE2017-10-062-15/+32
| | | | | | | | | | | This patch adds all the board-specific values currently hardcoded in mktplinkfw2.c back to the respective device declarations in the makefiles. The rationale is to avoid modifying the source code every time a new board or board variant is added. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ramips: keep Archer C20 Power LED On during bootSergey Ryazanov2017-10-041-0/+1
| | | | | | | | Keep Archer C20 Power LED in the same state as it was configured by bootloader (keep it hightlighed) to avoid unexpectable LED turning off during kernel boot. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* ramips: reduce napi_weight in the ethernet driver.Rosen Penev2017-09-281-1/+1
| | | | | | Currently dmsg a weight of 128 which is above the kernel limit of 64. Silence the warning. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ramips: mt7621: add MT29F2G08ABAE NAND flash supportRoman Yeryomin2017-09-281-1/+2
| | | | Signed-off-by: Roman Yeryomin <roman@advem.lv>
* ramips: improve Xiaomi Mi Router 3G supportKevin Darbyshire-Bryant2017-09-284-26/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit improves support for the Xiaomi Mi Router 3G originally added in commit 6e283cdc0da25928f8148805ebef7f8f2b769ee8 Improvements: - Remove software watchdog as hardware watchdog now working as per commit 3fbf3ab44f5cebb22e30a4c8681b13341feed6a6 for all mt7621 devices. - Reset button polarity corrected - length of press determines reboot (short press) vs. reset to defaults (long press) behaviour. - Enable GPIO amber switch port LEDs on board rear - lit indicates 1Gbit link and blink on activity. Green LEDs driven directly by switch indicating any link speed and tx activity. - USB port power on/off GPIO exposed as 'usbpower' - Add access to uboot environment settings for checking/setting uboot boot order preference from user space. Changes: - Front LED indicator is physically made of independent Yellow/Amber, Red & Blue LEDs combined via a plastic 'lightpipe' to a front panel indicator, hence the colour behaviour is similar to an RGB LED. RGB LEDs are not supported at this time because they produce colour results that do not then match colour labels, e.g. enabling 'mir3g:red' and 'mir3g:blue' would result in a purple indicator and we have no such label for purple. The yellow, red & blue LEDs have been split out as individual yellow, red & blue status LEDs, with yellow being the default status LED as before and with red's WAN and blue's USB default associations removed. - Swapped order of vlan interfaces (eth0.1 & eth0.2) to match stock vlan layout. eth0.1 is LAN, eth0.2 is WAN - Add 'lwlll' vlan layout to mt7530 switch driver to prevent packet leakage between kernel switch init and uci swconfig uboot behaviour & system 'recovery' uboot expects to find bootable kernels at nand addresses 0x200000 & 0x600000 known by uboot as "system 1" and "system 2" respectively. uboot chooses which system to hand control to based on 3 environment variables: flag_last_success, flag_try_sys1_failed & flag_try_sys2_failed last_success represents a preference for a particular system and is set to 0 for system 1, set to 1 for system 2. last_success is considered *if* and only if both try_sys'n'_failed flags are 0 (ie. unset) If *either* failed flags are set then uboot will attempt to hand control to the non failed system. If both failed flags are set then uboot will check the uImage CRC of system 1 and hand control to it if ok. If the uImage CRC of system is not ok, uboot will hand control to system 2 irrespective of system 2's uImage CRC. NOTE: uboot only ever sets failed flags, it *never* clears them. uboot sets a system's failed flag if that system's was selected for boot but the uImage CRC is incorrect. Fortunately with serial console access, uboot provides the ability to boot an initramfs image transferred via tftp, similarly an image may be flashed to nand however it will flash to *both* kernels so a backup of stock kernel image is suggested. Note that the suggested install procedure below set's system 1's failed flag (stock) thus uboot ignores the last_success preference and boots LEDE located in system 2. Considerable thought has gone into whether LEDE should replace both kernels, only one (and which one) etc. LEDE kernels do not include a minimal rootfs and thus unlike the stock kernel cannot include a method of controlling uboot environment variables in the event of rootfs mount failure. Similarly uboot fails to provide an external mechanism for indicating boot system failure. Installation - from stock. Installation through telnet/ssh: - copy lede-ramips-mt7621-mir3g-squashfs-kernel1.bin and lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin to usb disk or wget it from LEDE download site to /tmp - switch to /extdisks/sda1/ (if copied to USB drive) or to /tmp if wgetted from LEDE download site - run: mtd write lede-ramips-mt7621-mir3g-squashfs-kernel1.bin kernel1 - run: mtd write lede-ramips-mt7621-mir3g-squashfs-rootfs0.bin rootfs0 - run: nvram set flag_try_sys1_failed=1 - run: nvram commit - run: reboot Recovery - to stock. Assuming you used the above installation instructions you will have a stock kernel image in system 1. If it can be booted then it may be used to perform a stock firmware recovery, thus erasing LEDE completely. From a 'working' LEDE state (even failsafe) Failsafe only: - run: mount_root - run: sh /etc/uci-defaults/30_uboot-envtools Then do the steps for 'All' All: - run: fw_setenv flag_try_sys2_failed 1 - run: reboot The board will reboot into system 1 (stock basic kernel) and wait with system red light slowly blinking for a FAT formatted usb stick with a recovery image to be inserted. Press and hold the reset button for around 1 second. Status LED will turn yellow during recovery and blue when recovery complete. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: RT5350F-OLINUXINO: enable ttyS1Zoltan Gyarmati2017-09-281-1/+16
| | | | | | | | | The RT5350F's second UART pins are available on the base module and on the EVB as well, so enable it in the device tree. In order to keep the origian serial port numbering (ttyS0 is the serial console), aliases added for the UART devices. Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
* ramips: RT5350F-OLINUXINO: enable i2cZoltan Gyarmati2017-09-281-0/+4
| | | | | | | The RT5350F i2c pins is available on the base module and on the EVB as well, so enable it in the dts. Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>