aboutsummaryrefslogtreecommitdiff
path: root/target/linux/mediatek/base-files/etc
Commit message (Collapse)AuthorAge
* mediatek: bpi-r4: fix uci-default script for mac storageMartin Schiller2024-05-07
| | | | | | | | | There was a typo in commit 5709254690cb ("mediatek: bpi-r4: store random MAC addresses for the BPi-R4"). Let's fix it and also add support for the bpi-r4-poe variant. Fixes: 5709254690cb ("mediatek: bpi-r4: store random MAC addresses for the BPi-R4") Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* mediatek: bpi-r4: store random MAC addresses for the BPi-R4Daniel Golle2024-04-28
| | | | | | | | | | Despite coming with multiple I2C EEPROMs supposedly dedicated for that purpose, the BPi-R4 does not seem to have factory assigned MAC addresses. Hence, just like for all other BPi boards, store a randomly generated MAC address on first boot and derive WAN and Wi-Fi MAC addresses from that as well. Not perfect, but better than random on every boot. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: add BananaPi BPi-R3 miniDaniel Golle2024-02-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification ---------------------- SoC: MediaTek MT7986A 4x A53 Flash: 128MB SPI-NAND, 8GB eMMC RAM: 2GB DDR4 Ethernet: 2x 2.5GbE (Airoha EN8811H) WiFi: MediaTek MT7976C 2x2 2.4G + 3x3 5G Interfaces: * M.2 Key-M: PCIe 2.0 x2 for NVMe SSD * M.2 Key-B: USB 3.0 with SIM slot * front USB 2.0 port LED: Power, Status, WLAN2G, WLAN5G, LTE, SSD Button: Reset, internal boot switch Fan: PWM-controlled 5V fan Power: 12V Type-C PD Installation instructions for eMMC ---------------------------------- 0. Set boot switch to boot from SPI-NAND (assuming stock rom or immortalwrt running there). 1. Write GPT partition table to eMMC Move openwrt-mediatek-filogic-bananapi_bpi-r3-mini-emmc-gpt.bin to the device /tmp using scp and write it to /dev/mmcblk0: dd if=/tmp/openwrt-*-r3-mini-emmc-gpt.bin of=/dev/mmcblk0 2. Reboot (to reload partition table) 3. Write bootloader and OpenWrt images Move files to the device /tmp using scp: - openwrt-*-bananapi_bpi-r3-mini-emmc-preloader.bin - openwrt-*-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip - openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb - openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb Write them to the appropriate partitions: echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-emmc-preloader.bin of=/dev/mmcblk0boot0 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip of=/dev/mmcblk0p3 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb of=/dev/mmcblk0p4 dd if=/tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb of=/dev/mmcblk0p5 sync 4. Remove the device from power, set boot switch to eMMC and boot into OpenWrt. The device will come up with IP 192.168.1.1 and assume the Ethernet port closer to the USB-C power connector as LAN port. 5. If you like to have Ethernet support inside U-Boot (eg. to boot via TFTP) you also need to write the PHY firmware to /dev/mmcblk0boot1: echo 0 > /sys/block/mmcblk0boot1/force_ro dd if=/lib/firmware/airoha/EthMD32.dm.bin of=/dev/mmcblk0boot1 dd if=/lib/firmware/airoha/EthMD32.DSP.bin bs=16384 seek=1 of=/dev/mmcblk0boot1 Installation instructions for NAND ---------------------------------- 0. Set boot switch to boot from eMMC (assuming OpenWrt is installed there by instructions above. Using stock rom or immortalwrt does NOT work!) 1. Write things to NAND Move files to the device /tmp using scp: - openwrt-*-bananapi_bpi-r3-mini-snand-preloader.bin - openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip - openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb - openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb Write them to the appropriate locations: mtd write /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-preloader.bin /dev/mtd0 ubidetach -m 1 ubiformat /dev/mtd1 ubiattach -m 1 volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip) ubimkvol /dev/ubi0 -N fip -n 0 -s $volsize -t static ubiupdatevol /dev/ubi0_0 /tmp/openwrt-*-bananapi_bpi-r3-mini-snand-bl31-uboot.fip cd /lib/firmware/airoha cat EthMD32.dm.bin EthMD32.DSP.bin > /tmp/en8811h-fw.bin ubimkvol /dev/ubi0 -N en8811h-firmware -n 1 -s 147456 -t static ubiupdatevol /dev/ubi0_1 /tmp/en8811h-fw.bin ubimkvol /dev/ubi0 -n 2 -N ubootenv -s 126976 ubimkvol /dev/ubi0 -n 3 -N ubootenv2 -s 126976 volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb) ubimkvol /dev/ubi0 -n 4 -N recovery -s $volsize ubiupdatevol /dev/ubi0_4 /tmp/openwrt-*-bananapi_bpi-r3-mini-initramfs-recovery.itb volsize=$(wc -c < /tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb) ubimkvol /dev/ubi0 -n 4 -N recovery -s $volsize ubiupdatevol /dev/ubi0_4 /tmp/openwrt-*-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb 3. Remove the device from power, set boot switch to NAND, power up and boot into OpenWrt. Partially based on immortalwrt support for the R3 mini, big thanks for doing the ground work! Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: add support for Bananapi BPi-R3Daniel Golle2022-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Bananapi BPi-R3 is a development router board built around the MediaTek Filogic 830 (MT7986A) SoC. The board can boot either from microSD, SPI-NAND, SPI-NOR or eMMC. Only either SPI-NAND or SPI-NOR can be used at the same time, also only either microSD or eMMC can be used. The various storage options can be selected using small SMD switches on the board. Specs: * MediaTek MT7986A (Filogic 830) 4x ARM Cortex A53 * 4T4R 2.4G 802.11bgnax (MT7975N) * 4T4R 5G 802.11anac/ax (MT7975P) * 2 GB DDR4 RAM * 8 GB eMMC * 128 MB SPI-NAND flash * 32 MB SPI-NOR flash * on-board MT7531 GbE switch * 2x SFP+ (1 GbE / 2.5 GbE) * 5x GbE network port * miniPCIe slot (only USB 2.0 connected) * uSIM slot (connected to miniPCIe interface) * M.2 KEY-E PCIe interface (PCIe x2) * microSD card interface * 26 PIN GPIO Hardware details: https://wiki.banana-pi.org/Banana_Pi_BPI-R3 Working: * all 4 boot methods incl. installation via U-Boot, sysupgrade, ... * copper LAN and WAN ports * SFP1 (connected to gmac1, eth1 in Linux) * WiFi * LEDs * Buttons * PSTORE/ramoops based dual-boot Not Working (missing driver features): * SFP2 (connected to MT7531 switch) Untested: * M.2/NGFF slot (PCIe x2) * mPCIe slot (USB 2.0 + SIM) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: store random MAC address in U-Boot env on first bootDaniel Golle2022-01-23
| | | | | | | For devboards without a MAC address assigned from factory, store the random MAC in U-Boot env on first boot to make it persistent. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: disable packet steering by defaultFelix Fietkau2020-09-04
| | | | | | | mt76 now spreads the load over multiple CPUs more smoothly, processing ethernet packets should be faster running on one core Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: do not create device nodes in uci-defaults scriptSungbo Eo2020-07-09
| | | | | | | | | Since commit 298814e6be76 ("base-files: config_generate: split macaddr with multiple ifaces") uci MAC address setup will create a device node for each member iface. But this script might override the device nodes and interfere with the MAC address setup. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mediatek: fix IPv4-only corner case and commit in 99-net-psAdrian Schmutzler2020-06-16
| | | | | | | | | | | | | | | | The uci config section network.globals set up in /bin/config_generate will only be created if /proc/sys/net/ipv6 exists. Correspondingly, lacking IPv6 support, the command uci set network.globals.packet_steering=1 will fail with "uci: Invalid argument" as the network.globals config has not been set up. Fix that by adding the setup there as well. While at it, limit the uci commit to the network config file. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mediatek: update uci-defaults for renamed smp packet steering optionAlan Swanson2020-03-03
| | | | | | | | Leave as enabled by default for mediatek. Also remove obsolete settings from when packet steering was moved from netifd to a simplified hotplug script. Signed-off-by: Alan Swanson <reiver@improbability.net>
* mediatek: split base-files into subtargetsAdrian Schmutzler2020-01-14
| | | | | | | | | | | | | | | This splits some base-files across subtargets, as done previously on ath79 and ramips and also introduced for mt7629 subtarget here already. Most of the existing base-files content is specific to mt7623. While at it, apply the following fixes: - Remove lots of trailing whitespaces - Remove wildcard on unielec,u7623-02-emmc-512m - Remove inconsistent quotation marks in cases Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: John Crispin <john@phrozen.org>
* mediatek: add v4.19 supportJohn Crispin2019-08-02
| | | | | | | | Bump the target to v4.19. Add a patch with additional eth driver fixes/features that MTK provided aswell as the driver for the new mt7530 switch. Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: Add support for the UniElec U7623-02Kristian Evensen2018-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the MT7623A-based UniElec U7623-02 router, with eMMC storage and 512MB RAM. The router can be delivered with NAND Flash and more memory, but I only have access to the one configuration. The DTS is structured in such a way that adding support for more/different storage/memory should be straight forward. The device has the following specifications: * MT7623A (quad-core, 1.3 GHz) * 512MB RAM (DDR3) * 8GB storage (eMMC 4.5) * 2x normal miniPCIe slots * 1x miniPCIe slot that is connected via an internal USB OTG port * 5x 1Gbps Ethernet (MT7530 switch) * 1x UART header * 1x USB 3.0 port * 1x SATA 3.0 * 1x 40P*0.5mm FPC for MIPI LCD * 1x SIM slot * 12x LEDs (2 GPIO controlled) * 1x reset button * 1x DC jack for main power (12V) The following has been tested and is working: * Ethernet switch * miniPCIe slots (tested with Wi-Fi cards) * USB 3.0 port * sysupgrade * reset button Not working: * The miniPCIe connected via USB OTG. For the port to work, some MUSB glue must be added. I am currently in the process of porting the glue from the vendor SDK. Not tested: * SATA 3.0 * MIPI LCD Installation: The board ships with u-boot, and the first installation needs to be done via the bootloader using tftp. Step number one is to update the MBR of the eMMC, as the one that ships with the device is broken. Since the device can ship with different storage sizes, I will not provide the exact steps for creating a valid MBR. However, I have made some assumptions about the disk layout - there must be one 8MB recovery partition (FAT32) and a partition for the rootfs (Linux). The board loads the kernel from block 0xA00 (2560) and I have reserved 32MB for the kernel (65536 blocks). I have aligned the partitions on the erase block size (4096 byte), so the recovery partition must start on block 69632 and end on 86016 (16385 sectors). The rootfs is assumed to start on sector 90112. In order to install the mbr, you run the following commands from the u-boot command line: * tftpboot ${loadaddr} <name of mbr file> * mmc device 0 * mmc write ${loadaddr} 0x00 1 Run the following commands to install + boot OpenWRT: * tftpboot ${loadaddr} openwrt-mediatek-mt7623-7623a-unielec-u7623-02-emmc-512m-squashfs-sysupgrade-emmc.bin.gz * run boot_wr_img * run boot_rd_img * bootm Recovery: In order to recover the router, you need to follow the installation steps above (no need to replace MBR). Notes: * F2FS is used as the overlay filesystem. * The device does not ship with any valid MAC address, so a random address has to be generated. As a work-around, I write the initial random MAC to a file on the recovery partition. The MAC of the WAN interface is set to the MAC-address contained in this file on each boot, and the address of the LAN-interfaces are WAN + 1. The MAC file is kept across sysupgrade/firstboot. My approach is slightly different than what the stock image does. The first fives bytes of the MAC addresses in the stock image are static, and then the last byte is random. I believe it is better to create fully random MAC addresses. * In order to support the miniPCIe-slots, I needed to add missing pcie-nodes to mt7623.dtsi. The nodes are just c&p from the upstream dtsi. * One of the USB3.0 phys (u3phy2) on the board can be used as either USB or PCI, and one of the wifi-cards is connected to this phy. In order to support switching the phy from USB to PCI, I needed to patch the phy-driver. The patch is based on a rejected (at least last time I checked) PCI-driver submitted to the linux-mediatek mailing list. * The eMMC is configured to boot from the user area, and according to the data sheet of the eMMC this value can't be changed. * I tried to structure the MBR more nicely and use for example a FAT32-parition for the kernel, so that we don't need to write/read from some offset. The bootloader does not support reading from FAT32-paritions. While the command (fatload) is there, it just throws an error when I try to use it. * I will submit and hope to get the DTS for the device accepted upstream. If and when that happens, I will update the patches accordingly. Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
* mediatek: backport upstream mediatek patchesJohn Crispin2018-05-24
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: bump to v4.14John Crispin2018-02-14
| | | | | | | This drops support for all the !emmc EVB and adds banannaPi-R2 Also drop mtkhnat until the nftables offoad driver is ready Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: update to latest kernel patchset from v4.13-rcJohn Crispin2017-08-18
| | | | | | Signed-off-by: Muciri Gatimu <muciri@openmesh.com> Signed-off-by: Shashidhar Lakkavalli <shashidhar.lakkavalli@openmesh.com> Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: add support for the NAND-ePHY boardJohn Crispin2017-04-24
| | | | | | This is the same as the NAND board but gmac1 is wired to an external phy. Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: various fixes for v4.9John Crispin2017-04-07
| | | | | | | | | | | | | | | * adds MT7530 DSA support * backport latest ethernet driver * add PMIC leds * add auxadc support * add efuse support * add thermal sensor support * add irq affinity support for ethernet still todo * DSA multi cpu support Signed-off-by: John Crispin <john@phrozen.org>
* ar71xx/ipq806x/mediatek/mvebu: fix network defaultsJo-Philipp Wich2017-02-07
| | | | | | | | | | | After "73d923e base-files: emit tagged switch configuration by default" some default network configurations are broken because the lan and wan ifnames are forcibly set to untagged netdevs. Adjust the offending set_interfaces_lan_wan() calls to use the proper tagged device names. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* mediatek: update patchesJohn Crispin2016-05-23
| | | | | | | * fixes NAND * adds latest ethernet patches Signed-off-by: John Crispin <john@phrozen.org>
* image / basefiles: make console password configurableJohn Crispin2016-04-18
| | | | | Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com> Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: update patchesJohn Crispin2016-03-22
| | | | | | | | fixes trgmii on old eco and adds nand support Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 49066
* mediatek: bump to v4.4John Crispin2016-03-21
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 49064
* mediatek: add support for the new MT7623 Arm SoCJohn Crispin2015-11-02
the support is still WIP. next steps are to make the pmic and ethernet work. this is the first commit to make sure nothing gets lost. Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 47354