aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
Commit message (Collapse)AuthorAgeFilesLines
* ramips: use #include syntax for dtsi filesMathias Kresin2018-08-082-2/+2
| | | | | | Use the same syntax for including dtsi for all dts files. Signed-off-by: Mathias Kresin <dev@kresin.me>
* mt7620: gsw: make IntPHY and ExtPHY share mdio addr 4 possibleChen Minqiang2018-08-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | To share mdio addr for IntPHY and ExtPHY, as described in the documentation (MT7620_ProgrammingGuide.pdf). (refer: http://download.villagetelco.org/hardware/MT7620/MT7620_ProgrammingGuide.pdf) when port4 setup to work as gmac mode, dts like: &gsw { mediatek,port4 = "gmac"; }; we should set SYSCFG1.GE2_MODE==0x0 (RGMII). but SYSCFG1.GE2_MODE may have been set to 3(RJ-45) by uboot/default so we need to re-set it to 0x0 before this changes: gsw: 4FE + 2GE may not work correctly and MDIO addr 4 cannot be used by ExtPHY after this changes: gsw: 4FE + 2GE works and MDIO addr 4 can be used by ExtPHY Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* ramips: fix gigabit switch PHY access on MDIODaniel Gimpelevich2018-08-061-1/+2
| | | | | | | | | | When PHY's are defined on the MDIO bus in the DTS, gigabit support was being masked out for no apparent reason, pegging all such ports to 10/100. If gigabit support must be disabled for some reason, there should be a "max-speed" property in the DTS. Reported-by: James McKenzie <openwrt@madingley.org> Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
* ramips: remove superfluous & confusing DT bindingDaniel Gimpelevich2018-08-065-7/+24
| | | | | | | | | | | Mediatek has a reference platform that pairs an MT7620A with an MT7530W, where the latter responds on MDIO address 0x1f while both chips respond on 0x0 to 0x4. The driver special-cases this arrangement to make sure it's talking to the right chip, but two different ways in two different places. This patch consolidates the detection without the current requirement of both tests to be separately satisfied in the DTS. Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
* ramips: add support for Edimax BR-6478AC v2Daniel Gimpelevich2018-08-066-1/+243
| | | | | | | | | | | | | | | | | | | | | | | | Roll-up of patches by Rohan Murch, Hans Ulli Kroll, and James McKenzie. Taken from https://forum.openwrt.org/viewtopic.php?id=67192 and updated. Specification: - System-On-Chip: MT7620A - CPU/Speed: 580 MHz - Flash-Chip: Macronix MX25L6405D - Flash size: 8192 KiB - RAM: 64 MiB - Wireless No1: SoC-integrated: MT7620A 2.4GHz 802.11bgn - Wireless No2: On-board chip: MT7612E 5GHz 802.11ac - Switch: Mediatek MT7530W Gigabit Switch - USB: Yes 1 x 2.0 Installation: 1. Download sysupgrade.bin 2. Open vendor web interface 3. Choose to upgrade firmware 4. After reboot connect via ethernet at 192.168.1.1 Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
* ramips: move partitions into partition table nodeAlex Maclean2018-08-04257-6412/+7454
| | | | | | | | Starting with kernel 4.4, the use of partitions as direct subnodes of the mtd device is discouraged and only supported for backward compatiblity reasons. Signed-off-by: Alex Maclean <monkeh@monkeh.net>
* ramips: unify partition node names in dts filesMathias Kresin2018-08-043-12/+17
| | | | | | | Use partition@ as name for all partition nodes. Add a label where necessary. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix whitespace and comment issues in dtsMathias Kresin2018-08-0428-86/+82
| | | | | | | | Fix space vs. tabs issue and trainling whitespaces. Use C style comments or drop the comments if they explain what is already to see in the devicetree parameters. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix dtc warningsMathias Kresin2018-08-04232-492/+27
| | | | | | Fix individual boards dtc warnings or obvious mistakes. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix hnat dtc warningMathias Kresin2018-08-041-11/+11
| | | | | | | | | | The hardware NAT node has the same reg/unit as the ethernet node. One of them need to be a child of the other. Make the hardware NAT node a child of the ethernet node since the it "reference" the netdev in its properties. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix pci/pcie related dtc warningsMathias Kresin2018-08-0466-684/+575
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the ranges property to the PCI bridges where missing. Add the unit address to PCI bridge where missing. Rework the complete rt3883 pci node. Drop the PCI unit nodes from the dtsi. They are not used by any dts file and should be rather in the dts than in the SoC dtsi. Express the PCI-PCI bridge in a clean devicetree syntax. The ralink,pci-slot isn't used by any driver, drop it. Move the pci interrupt controller out of the pci node. It doesn't share the same reg and therefore should be an independent/SoC child node. Move the pci related rt3883 pinctrl setting to the dtsi instead of defining the very same for each rt3883 board. If the device_type property is used for PCI units, the unit is treated as pci bridge which it isn't. Drop it for PCI units. Reference pci-bridges or the pci node defined in the dtsi instead of recreating the whole node hierarchy. It allows to change the referenced node in the dtsi without the need to touch all dts. Fix the PCI(e) wireless unit addresses. All our PCI(e) wireless chips are the first device on the bus. The unit address has to be the bus address instead of the PCI vendor/device id. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: use ralink,nr-gpio instead of ralink,num-gpiosMathias Kresin2018-08-0410-27/+27
| | | | | | | | | | | Since commit c1e7738988f5 ("checks: add gpio binding properties check") dtc treats any *-gpios and *-gpio property as phandle at least during checks. The only whitelisted property is nr-gpio. Use ralink,nr-gpio in favour of ralink,num-gpios to get rid of false positive warnings. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix cpu interrupt controller dtc warningsMathias Kresin2018-08-048-8/+8
| | | | | | | The cpu interrupt controller doesn't have a reg property, hence we can't use a unit address in the node name. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: fix cpu related dtc warningsMathias Kresin2018-08-049-2/+34
| | | | | | We need a reg property if we are using a unit address. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: convert gpio-export to platform driverRené van Dorst2018-08-041-7/+4
| | | | | | | | | | | | Without this patch you will get an error "gpio-export probe deferral not supported" when you try to export i2c expander gpio pins. gpio-export is probed long before i2c-bus and i2c expander are created and it doesn't retry it so none pins are exported. Signed-off-by: René van Dorst <opensource@vdorst.com> apply the change to all instances of the gpio exports patch Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump 4.14 to 4.14.59Stijn Tintel2018-07-312-30/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop patch that was superseded upstream: ramips/0036-mtd-fix-cfi-cmdset-0002-erase-status-check.patch Drop upstreamed patches: - apm821xx/020-0001-crypto-crypto4xx-remove-bad-list_del.patch - apm821xx/020-0011-crypto-crypto4xx-fix-crypto4xx_build_pdr-crypto4xx_b.patch - ath79/0011-MIPS-ath79-fix-register-address-in-ath79_ddr_wb_flus.patch - brcm63xx/001-4.15-08-bcm63xx_enet-correct-clock-usage.patch - brcm63xx/001-4.15-09-bcm63xx_enet-do-not-write-to-random-DMA-channel-on-B.patch - generic/backport/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch - generic/pending/170-usb-dwc2-Fix-DMA-alignment-to-start-at-allocated-boun.patch - generic/pending/900-gen_stats-fix-netlink-stats-padding.patch In 4.14.55, a patch was introduced that breaks ext4 images in some cases. The newly introduced patch backport-4.14/500-ext4-fix-check-to-prevent-initializing-reserved-inod.patch addresses this breakage. Fixes the following CVEs: - CVE-2018-10876 - CVE-2018-10877 - CVE-2018-10879 - CVE-2018-10880 - CVE-2018-10881 - CVE-2018-10882 - CVE-2018-10883 Compile-tested: ath79, octeon, x86/64 Runtime-tested: ath79, octeon, x86/64 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ramips: add support for ELECOM WRC-2533GSTINAGAKI Hiroshi2018-07-304-0/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-2533GST is a 2.4/5 GHz band 11ac rotuer, based on MediaTek MT7621A. Specification: - MT7621A (2-Core, 4-Threads) - 128 MB of RAM (DDR3) - 16 MB of Flash (SPI) - 4T4R 2.4/5 GHz wifi - MediaTek MT7615 - 5x 10/100/1000 Mbps Ethernet - 4x LEDs, 6 keys (2x buttons, 1x slide switch) - UART header on PCB - Vcc, GND, TX, RX from ethernet port side - baudrate: 57600 bps Flash instruction using factory image: 1. Connect the computer to the LAN port of WRC-2533GST 2. Connect power cable to WRC-2533GST and turn on it 3. Access to "https://192.168.2.1/" and open firmware update page ("ファームウェア更新") 4. Select the OpenWrt factory image and click apply ("適用") button 5. Wait ~150 seconds to complete flashing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: fix RBM11G nameThibaut VARÈNE2018-07-301-1/+1
| | | | | | | | The device name is corrected to match the hardware-stored (in hard config flash space) device name. Tested-by: Tobias Schramm <tobleminer@gmail.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ramips: fix RBM33G nameThibaut VARÈNE2018-07-301-1/+1
| | | | | | | | The device name is corrected to match the hardware-stored (in hard config flash space) device name. Tested-by: Tobias Schramm <tobleminer@gmail.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ramips: mmc: Add SD card support to HC5661ALoveSy2018-07-302-0/+5
| | | | | | | | | | Tested on HC5661A and it now fixes the issue that when enabling sd card in HC5661A, the wan and 3 lan ports will down. Known issue: - When enabling SD card support, the led light of system will down and the rest 2 lights keep working. Signed-off-by: LoveSy <shana@zju.edu.cn>
* ramips: mmc: Fix init for MT7628ANLoveSy2018-07-302-1/+16
| | | | | | | | There is another thing about crc to do when initialize SD card on MT7628. This commit is to fix this init issue. Signed-off-by: LoveSy <shana@zju.edu.cn>
* ramips: remove stale get_status_led callMathias Kresin2018-07-251-3/+0
| | | | | | | | | | | | The get_status_led() function was removed due to the convertion to dts alias based status led. Since we don't need the boardname any longer, the functions.sh include isn't required any more. Fixes: c9c4b2116c09 ("ramips: Use dts alias based status led") Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: define common MikroTik RouterBOARD image recipeThibaut VARÈNE2018-07-191-11/+9
| | | | | | | | | | All these devices share the exact same image format. The usb3 kmod is added for the rbm11g, as the rbm11g has a mini-pcie slot like its bigger sibling. The usb kmod is necessary for usb-over-pcie support, which is mandatory for a lot of LTE modules. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* ramips: Use dts alias based status ledChuanhong Guo2018-07-16208-555/+1035
| | | | | | Also fix several typos in led node name. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: ethernet: disable fraglist supportFelix Fietkau2018-07-141-1/+1
| | | | | | | The code has some remaining issues that cause ethernet hangs, so disable it for now until we can get it fixed Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: ethernet: use own page_frag_cacheFelix Fietkau2018-07-122-3/+15
| | | | | | | | | | | | | | | | Using the NAPI or netdev frag cache along with other drivers can lead to 32 KiB pages being held for a long time, despite only being used for very few page fragment. This can happen if the ethernet driver grabs one or two fragments for rx ring refill, while other drivers use (and free up) the remaining fragments. The 32 KiB higher-order page can only be freed once all users have freed their fragments, which only happens after the rings of all drivers holding the fragments have wrapped around. Depending on the traffic patterns, this can waste a lot of memory and look a lot like a memory leak Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: ethernet: use skb_free_frag to free fragmentsFelix Fietkau2018-07-121-3/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: TP-Link TL-WR902AC v3: add missing wps buttonPeter Lundkvist2018-07-121-1/+7
| | | | Signed-off-by: Peter Lundkvist <peter.lundkvist@gmail.com>
* ramips: TP-Link TL-WR902AC v3: don't build factory imagePeter Lundkvist2018-07-121-1/+0
| | | | | | | | | | | | | | | | | | | | | The line that produces factory image was accidentally left by me while testing before inital commit. I came to the conclusion that flashing from OEM firmware does not work (seems to share this behavior with other tplinks based on mt7628). I have not done any further analysis, as I was unable to open the case and attach a serial port (too much glue). Maybe i will try once more. So the way to do initial flashing (or un-bricking) is to use the tftp-recover image. It is possible to revert to OEM firmware with tftp recovery; in this case the first 512 bytes the image file need to be cut off. Signed-off-by: Peter Lundkvist <peter.lundkvist@gmail.com> [add explaination provided via mail as commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: only optimized for size if small_flashMathias Kresin2018-07-128-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | Add a new config option to allow to select the default compile optimization level for the kernel. Select the optimization for size by default if the small_flash feature is set. Otherwise "Optimize for performance" is set. Add the small_flash feature flag to all (sub)targets which had the optimization for size in their default kernel config. Remove CC_OPTIMIZE_FOR_* symbols from all kernel configs to apply the new setting. Exceptions to the above are: - lantiq, where the optimization for size is only required for the xway_legacy subtarget but was set for the whole target - mediatek, ramips/mt7620 & ramips/mt76x8 where boards should have plenty of space and an optimization for size doesn't make much sense - rb532, which has 128MByte flash Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: clean up and fix MT7621 NAND driver issuesFelix Fietkau2018-07-111-74/+25
| | | | | | | | | | | | - remove misaligned custom buffer allocation in the NAND driver - remove broken bounce buffer implementation for 16-byte align Let the MTD core take care of both Fixes messages like these: [ 102.820541] Data buffer not 16 bytes aligned: 87daf08c Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump 4.14 to 4.14.54Koen Vandeputte2018-07-111-1/+1
| | | | | | | | | | | | Rereshed all patches Reworked patches to match upstream: 335-v4.16-netfilter-nf_tables-add-single-table-list-for-all-fa.patch Compile-tested on: cns3xxx, imx6, x86_64 Runtime-tested on: cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ramips: add support for Blueendless Kimax U35WFAdemar Arvati Filho2018-07-076-3/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | Blueendless Kimax U35WF is a 3,5" HDD Enclosure with Wi-Fi and Ethernet Patch rewritten from: https://forum.openwrt.org/viewtopic.php?id=66908 Based on: https://github.com/lede-project/source/pull/965 Specification: - SoC: MediaTek MT7620N - CPU/Speed: 580 MHz - Flash-Chip: KH25L12835F Spi Flash - Flash size: 16 MiB - RAM: 64 MiB - LAN: 1x 100 Mbps Ethernet - WiFi SoC-integrated: 802.11bgn - 1x USB 2.0 - UART: for serial console Installation: 1. Download sysupgrade.bin 2. Open vendor web interface 3. Choose to upgrade firmware 3. After reboot connect via ethernet at 192.168.1.1 Signed-off-by: Ademar Arvati Filho <arvati@hotmail.com>
* ramips: add support for I-O DATA WN-AX1167GRINAGAKI Hiroshi2018-07-076-0/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I-O DATA WN-AX1167GR is a 2.4/5 GHz band 11ac router, based on MediaTek MT7621A. Specification: - MT7621A (2-Cores, 4-Threads) - 64 MB of RAM (DDR2) - 16 MB of Flash (SPI) - 2T2R 2.4/5 GHz - 5x 10/100/1000 Mbps Ethernet - 2x LEDs, 4x keys (2x buttons, 1x slide switch) - UART header on PCB - Vcc, GND, TX, RX from ethernet port side - baudrate: 115200 bps (U-Boot, OpenWrt) Stock firmware: In the stock firmware, WN-AX1167GR has two os images each composed of Linux kernel and rootfs. These images are stored in "Kernel" and "app" partition of the following partitions, respectively. (excerpt from dmesg): MX25L12805D(c2 2018c220) (16384 Kbytes) mtd .name = raspi, .size = 0x01000000 (16M) .erasesize = 0x00010000 (64K) .numeraseregions = 0 Creating 10 MTD partitions on "raspi": 0x000000000000-0x000001000000 : "ALL" 0x000000000000-0x000000030000 : "Bootloader" 0x000000030000-0x000000040000 : "Config " 0x000000040000-0x000000050000 : "Factory" 0x000000050000-0x000000060000 : "iNIC_rf" 0x000000060000-0x0000007e0000 : "Kernel" 0x000000800000-0x000000f80000 : "app" 0x000000f90000-0x000000fa0000 : "Key" 0x000000fa0000-0x000000fb0000 : "backup" 0x000000fb0000-0x000001000000 : "storage" The flag for boot partition is stored in "Key" partition, and U-Boot reads this and determines the partition to boot. If the image that U-Boot first reads according to the flag is "Bad Magic Number", U-Boot then tries to boot from the other image. If the second image is correct, change the flag to the number corresponding to that image and boot from that image. (example): ## Booting image at bc800000 ... Bad Magic Number,FFFFFFFF Boot from KERNEL 1 !! ## Booting image at bc060000 ... Image Name: MIPS OpenWrt Linux-4.14.50 Image Type: MIPS Linux kernel Image (lzma compressed) Data Size: 1865917 Bytes = 1.8 MB Load Address: 80001000 Entry Point: 80001000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK raspi_erase_write: offs:f90000, count:34 . . Done! Starting kernel ... Flash instruction using factory image: 1. Connect the computer to the LAN port of WN-AX1167GR 2. Connect power cable to WN-AX1167GR and turn on it 3. Access to "192.168.0.1" on the web browser and open firmware update page ("ファームウェア") 4. Select the OpenWrt factory image and perform firmware update 5. On the initramfs image, execute "mtd erase firmware" to erase stock firmware and execute sysupgrade with sysupgrade image for WN-AX1167GR 6. Wait ~180 seconds to complete flasing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: add support for TL-WA801ND v5Romain MARIADASSOU2018-07-046-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - System-On-Chip: MediaTek MT7628NN - CPU/Speed: 580 MHz - Flash-Chip: ELM Technology GD25Q64 - Flash size: 8192 KiB - RAM: 64 MiB - Wireless No1: SoC-integrated: MT7628N 2.4GHz 802.11bgn Currently the only method to install openwrt for the first time is via TFTP recovery. After first install you can use regular updates. Flash instructions: 1) To flash the recovery image, start a TFTP server with IP address 192.168.0.66 and serve the recovery image named tp_recovery.bin. 2) Connect your device to the LAN port, then press the WPS and Reset button and power it up. Keep pressing the WPS/Reset button for 10 seconds or until the lock LED is lighting up. It will try to download the recovery image and flash it. It can take up to 2-3 minutes to finish. When it reaches 100%, the router will reboot itself. Signed-off-by: Romain MARIADASSOU <roms2000@free.fr>
* ramips: add support for ZyXEL Keenetic Extra IIMaxim Anisimov2018-07-046-2/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - System-On-Chip: MT7628N/N - CPU/Speed: 580 MHz - Flash-Chip: Winbond w25q256 - Flash size: 32768 KiB - RAM: 128 MiB - 5x 10/100 Mbps Ethernet - 4x external, non-detachable antennas - UART (J1) header on PCB (57600 8n1) - Wireless No1 (2T2R): SoC-integrated: MT7628N 2.4GHz 802.11bgn - Wireless No2 (2T2R): On-board chip: MT7612EN 5GHz 802.11ac - USB: Yes 1 x 2.0 - 4x LED, 3x button The device supports dual boot mode. So we use only first half of flash. Flash instruction: The only way to flash OpenWrt image is to use tftp recovery mode in U-Boot: 1. Configure PC with static IP 192.168.1.2/24 and tftp server. 2. Rename "openwrt-ramips-mt76x8-zyxel_keenetic-extra-ii-squashfs-factory.bin" to "kextra2_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 until power led start blinking. 4. Router will download file from server, write it to flash and reboot. Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* ramips: move zyimage define to common MakefileMaxim Anisimov2018-07-042-4/+4
| | | | Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* ramips: add support for MikroTik RouterBOARD RBM11gTobias Schramm2018-07-046-1/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the MikroTik RouterBOARD RBM11g. =Hardware= The RBM11g is a mt7621 based device featuring one GbE port and one miniPCIe slot with a sim card socket and USB 2.0. ==Switch== The single onboard Ethernet port is connected the CPU directly. The internal switch of the mt7621 SoC is disabled. ==Flash== The device has one spi nor flash chip. It is a 128 Mbit winbond 25Q128FVS connected to CS0. ==PCIe== The board features a single miniPCIe slot. It has a dedicated mini SIM socket and a USB 2.0 port. Power to the miniPCIe slot is controlled via GPIO9. ==USB== There are no external USB ports. ==Power== The board can accept both, passive PoE and external power via a 2.1 mm barrel jack (center-positive). The input voltage range is 11-32 V. ==Serial port== The device does have an onboard UART on an unpopulated header next to the flash chip: GND: pin 2 TX: pin 7 RX: pin 6 Settings: 115200, 8N1 See below illustration for positioning of the header. 0 = screw hole * = some pin T = TX pin R = RX pin G = GND pin Pinout: +--------------- |O | __ | / \ | \__/ | | | | +---+ | |RAM| | +--+ | | | |**| <- unpopulated header with UART | |*T| +---+ | |R*| +--------+ | |**| | | | |G*| | CPU | | +--+ | | | +--+ | | | | | +--------+ | +--+ <- flash chip |O | +-----+ | | | |+--+ | | || | | | +--------------------- =Installation= To install an OpenWRT image to the device two components must be built: 1. A openwrt initramfs image 2. A openwrt sysupgrade image ===initramfs & sysupgrade image=== Select target devices "Mikrotik RBM11G" in openwrt menuconfig and build the images. This will create the images "openwrt-ramips-mt7621-mikrotik_rbm11g-initramfs-kernel.bin" and "openwrt-ramips-mt7621-mikrotik_rbm11g-squashfs-sysupgrade.bin" in the output directory. ==Installing== **Make sure to back up your RouterOS license in case you do ever want to go back to RouterOS using "/system license output" and back up the created license file.** When rebooted the board will try booting via ethernet first. If your board does not boot via ethernet automatically you will have to attach to the serial port and set ethernet as boot device within RouterBOOT. 1. Set up a dhcp server that points the bootfile to tftp server serving the "openwrt-ramips-mt7621-mikrotik_rbm11g-initramfs-kernel.bin" initramfs image 2. Connect to ethernet port on board 3. Power on the board 4. Wait for OpenWrt to boot Right now OpenWrt will be running with a SSH server listening. Now OpenWrt must be flashed to the devices flash: 1. Copy "openwrt-ramips-mt7621-mikrotik_rbm11g-squashfs-sysupgrade.bin" to the device using scp. 2. Write openwrt to flash using "sysupgrade openwrt-ramips-mt7621-mikrotik_rbm11g-squashfs-sysupgrade.bin" Once the flashing completes the board will reboot. Disconnect from the devices ethernet port or stop the DHCP/TFTP server to prevent the device from booting via ethernet again. The device should now boot straight to OpenWrt. Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ramips: limit dictionary size for lzma compressionFelix Fietkau2018-07-031-1/+1
| | | | | | | | | | | | In some cases, recent builds fail to boot from flash with at least some MT7621 based devices. The error message is: "LZMA ERROR 1 - must RESET board to recover" Booting the same kernel via TFTP works for some reason. Through testing I figured out that limiting the LZMA dictionary size seems to prevent these errors Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: fix wizfi630a swapped lan/wan portLev2018-07-021-1/+1
| | | | | | | The order of the Ethernet ports were mixed up. This commit fixes the order to be aligned with the physical layout. Signed-off-by: Lev <leventelist@gmail.com>
* treewide: gpio-export: add error handlingMathias Kresin2018-06-281-1/+3
| | | | | | | | Check if the GPIO is valid (or set at all). If no GPIO is set in the devicetree, a gpiolib related kernel warning + stacktrace is shown during boot and gpio-export reports GPIOs as exported albeit none really is. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: move mt7620n i2c_pins definition to right placeAndrey Jr. Melnikov2018-06-281-7/+7
| | | | | | | | | | Move to i2c pins pinmux node to the pinctrl node. Fixes: a0685deec458 ("ramips: Add i2c support for mt7620n") Signed-off-by: Andrey Jr. Melnikov <temnota.am@gmail.com> [fix commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add switch port index for I-O DATA WN-GX300GRINAGAKI Hiroshi2018-06-271-2/+2
| | | | | | | | | | | WN-GX300GR has 5x RJ45 ports (port 0-4), and these ports are orderd on the device as follows: 4 3 2 1 0 1-4: lan 0: wan Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ramips: RE350: add rootfs offset to headerAlex Maclean2018-06-261-1/+1
| | | | | | | Have mktplinkfw fill in the rootfs offset so the firmware splitter can find it without aligning to erase blocks. Signed-off-by: Alex Maclean <monkeh@monkeh.net>
* ramips: add support for TP-Link Archer C2Franz Flasch2018-06-256-0/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - System-On-Chip: MT7620A - CPU/Speed: 580 MHz - Flash-Chip: Winbond 25Q64BVSIG - Flash size: 8192 KiB - RAM: 64 MiB - Wireless No1: SoC-integrated: MT7620A 2.4GHz 802.11bgn - Wireless No2: On-board chip: MT7610EN 5GHz 802.11ac - Switch: RTL8367RB Gigabit Switch - USB: Yes 1 x 2.0 Preparing a TFTP recovery image for initial flashing: Currently the only method to install openwrt for the first time is via TFTP download in u-boot. After first install you can use regular updates. WARNING: This method also overwrites the bootloader partition! Create a TFTP recovery image: 1) Download a stock TP-Link Firmware file here: https://www.tp-link.com/en/download/Archer-C2_V1.html#Firmware 2) Extract u-boot from the binary file: #> dd if=c2v1_stock_firmware.bin of=c2v1_uboot.bin bs=1 skip=512 count=131072 3) Now merge the sysupgrade image and the u-boot into one binary: #> cat c2v1_uboot.bin openwrt-squashfs-sysupgrade.bin > ArcherC2V1_tp_recovery.bin The resulting image can be flashed via TFTP recovery mode. Flash instructions: 1) To flash the recovery image, start a TFTP server from IP address 192.168.0.66 and serve the recovery image named ArcherC2V1_tp_recovery.bin. 2) Connect your device to the LAN port, then press the WPS/Reset button and power it up. Keep pressing the WPS/Reset button for 10 seconds. It will try to download the recovery image and flash it. It can take up to 20-25 minutes to finish. When it reaches 100%, the router will reboot itself. Signed-off-by: Serge Vasilugin <vasilugin@yandex.ru> Signed-off-by: Franz Flasch <franz.flasch@gmx.at>
* ramips: fix ZyXEL Keenetic Viva switch configFranz Flasch2018-06-251-1/+1
| | | | | | | | | The rtl8367b driver never supported a mdio property and it is quite likely that the switch never worked for the board. Use the mii-bus property instead to manage the switch via a mdio bus. Signed-off-by: Franz Flasch <franz.flasch@gmx.at>
* ramips: Add support for Phicomm K2GChuanhong Guo2018-06-215-1/+155
| | | | | | | | | | | | | | | | | | | | | | Specification: - SoC: MediaTek MT7620A - Flash: 8 MB - RAM: 64 MB - Ethernet: 4 FE ports and 1 GE port (RTL8211F on port 5) - Wireless radio: MT7620 for 2.4G and MT7612E for 5G, both equipped with external PA. - UART: 1 x UART on PCB - 57600 8N1 Flash instruction: The U-boot is based on Ralink SDK so we can flash the firmware using UART: 1. Configure PC with a static IP address and setup an TFTP server. 2. Put the firmware into the tftp directory. 3. Connect the UART line as described on the PCB. 4. Power up the device and press 2, follow the instruction to set device and tftp server IP address and input the firmware file name. U-boot will then load the firmware and write it into the flash. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: Add support for Mikrotik RouterBOARD RBM33gTobias Schramm2018-06-217-1/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the Mikrotik RouterBOARD RBM33g. =Hardware= The RBM33g is a mt7621 based device featuring three gigabit ports, 2 miniPCIe slots with sim card sockets, 1 M.2 slot, 1 USB 3.0 port and a male onboard RS-232 serial port. Additionally there are a lot of accessible GPIO ports and additional buses like i2c, mdio, spi and uart. ==Switch== The three Ethernet ports are all connected to the internal switch of the mt7621 SoC: port 0: Ethernet Port next to barrel jack with PoE printed on it port 1: Innermost Ethernet Port on opposite side of RS-232 port port 2: Outermost Ethernet Port on opposite side of RS-232 port port 6: CPU ==Flash== The device has two spi flash chips. The first flash chips is rather small (512 kB), connected to CS0 by default and contains only the RouterBOOT bootloader and some factory information (e.g. mac address). The second chip has a size of 16 MB, is by default connected to CS1 and contains the firmware image. ==PCIe== The board features three PCIe-enabled slots. Two of them are miniPCIe slots (PCIe0, PCIe1) and one is a M.2 (Key M) slot (PCIe2). Each of the miniPCIe slots is connected to a dedicated mini SIM socket on the back of the board. Power to all three PCIe-enabled slots is controlled via GPIOs on the mt7621 SoC: PCIe0: GPIO9 PCIe1: GPIO10 PCIe2: GPIO11 ==USB== The board has one external USB 3.0 port at the rear. Additionally PCIe port 0 has a permanently enabled USB interface. PCIe slot 1 shares its USB interface with the rear USB port. Thus only either the rear USB port or the USB interface of PCIe slot 1 can be active at the same time. The jumper next to the rear USB port controls which one is active: open: USB on PCIe 1 is active closed: USB on rear USB port is active ==Power== The board can accept both, passive PoE and external power via a 2.1 mm barrel jack. The input voltage range is 11-32 V. =Installation= ==Prerequisites== A USB -> RS-232 Adapter and a null modem cable are required for installation. To install an OpenWRT image to the device two components must be built: 1. A openwrt initramfs image 2. A openwrt sysupgrade image ===initramfs & sysupgrade image=== Select target devices "Mikrotik RBM33G" in openwrt menuconfig and build the images. This will create the images "openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" and "openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" in the output directory. ==Installing== **Make sure to back up your RouterOS license in case you do ever want to go back to RouterOS using "/system license output" and back up the created license file.** Serial settings: 115200 8N1 The installation is a two-step process. First the "openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" must be booted via tftp: 1. Set up a dhcp server that points the bootfile to tftp server serving the "openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" initramfs image 2. Connect to WAN port (left side, next to sys-LED and power indicator) 3. Connect to serial port of board 4. Power on board and enter RouterBOOT setup menu 5. Set boot device to "boot over ethernet" 6. Set boot protocol to "dhcp protocol" (can be omitted if DHCP server allows dynamic bootp) 6. Save config 7. Wait for board to boot via Ethernet On the serial port you should now be presented with the OpenWRT boot log. The next steps will install OpenWRT persistently. 1. Copy "openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" to the device using scp. 2. Write openwrt to flash using "sysupgrade openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" Once the flashing completes reboot the router and let it boot from flash. It should boot straight to OpenWRT. Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ramips: Add lzma-loader targetsTobias Schramm2018-06-211-0/+16
| | | | Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* ramips: Add support for mt7621 to lzma-loaderTobias Schramm2018-06-215-18/+60
| | | | Signed-off-by: Tobias Schramm <tobleminer@gmail.com>