aboutsummaryrefslogtreecommitdiff
path: root/target/linux/mvebu/cortexa72
Commit message (Collapse)AuthorAge
* mvebu: switch to kernel 6.12Stefan Kalscheuer2025-08-04
| | | | | | | | | Update default kernel version to 6.12 and drop configs and patches for kernel 6.6. Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de> Link: https://github.com/openwrt/openwrt/pull/19666 Signed-off-by: Nick Hainke <vincent@systemli.org>
* mvebu: add support for Check Point V-81INAGAKI Hiroshi2025-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check Point V-80 (Quantum Spark 1590 Appliance) is an Appliance, based on Armada 8040 (88F8040). Specification: - SoC : Marvell Armada 8040 (88F8040) - RAM : DDR4 2 GiB (4x 512 MiB chip) - Flash : eMMC 4 GiB - Ethernet : 10x 10/100/1000 Mbps - LAN 1-8 : Marvell 88E6393X - WAN : Marvell 88E1512 - DMZ : Marvell 88E1512 (RJ-45/SFP combo) - LEDs/Keys (GPIO): 11x/1x - UART : "CONSOLE" port (USB 1.1 Type-C) - chip : Silicon Labs CP2102N - port : ttyS0 - settings : 115200bps 8n1 - HW Monitoring : 2x nuvoTon NCT7802Y - USB : USB 3.0 Type-A - Power : 12 VDC, 3.3 A - plug : DC Plug 2.5/5.5 mm (inner/outer) Flash instruction (common): 1. Boot V-81 normally 2. Login to the vendor CLI (default: admin/admin) and login to the Linux CLI by `expert` command 3. Update U-Boot environment variables by the following commands fw_setenv bootcmd_ow_usb 'usb start; load usb 0:1 ${loadaddr} boot.scr && source ${loadaddr}' fw_setenv bootcmd_ow_sd 'load mmc 0:1 ${loadaddr} boot.scr && source ${loadaddr}' fw_setenv bootcmd_ow_emmc 'run set_mmc_internal; mmc read ${loadaddr} ${prim_header_mmc_blk} 4 && source ${loadaddr}' fw_setenv bootcmd 'run bootcmd_ow_usb; run bootcmd_ow_sd; run bootcmd_ow_emmc; run bootcmd_part${activePartition};' Attention: don't forget single quatations of values to prevent expansion of variables 4. Turn off the device Flash instruction (USB-boot/SD-boot): 1. Extract and burn (squashfs|ext4)-sdcard.img.gz to USB storage or MicroSD card 2. Connect that storage to V-81 3. Turn on V-81 and it will be booted with OpenWrt in that USB storage Flash instruction (eMMC-boot): 1. Copy initramfs image, dtb and bootsctipt to the USB storage with renaming initramfs.bin -------> Image dtb -----------------> armada-8040-v-81.dtb bootscript (.scr) ---> boot.scr 2. Connect that storage to the USB 3.0 port on V-81 3. Turn on V-81 and it will be booted with OpenWrt initramfs image in that USB storage 4. Upload (squashfs|ext4)-sysupgrade.gz to V-81 5. Perform sysupgrade with the uploaded image 6. Wait ~100 seconds to complete flashing Reverting to stock firmware: 1. Turn on V-81 and interrupt booting by Ctrl + C 2. Select "4. Restore to Factory Defaults (local)" 3. Wait ~180 seconds to complete restoring and rebooting Notes: - The partition table in the internal eMMC has single partition, but "blkdevparts=" parameter will be passed from the bootloader and that definition will be used instead. - The port-side LED pairs of RJ-45/SFP ports on V-81 are switched by a GPIO pin of pin7 on &cp0_gpio2. (High(1): RJ-45, Low(0): SFP) This needs to be switched manually. - The MicroSD card slot is too unstable and the following messages are printed without "marvell,xenon-phy-slow-mode;" property. [ 97.060851] mmc0: error -84 whilst initialising SD card [ 97.137049] mmc0: error -84 whilst initialising SD card [ 97.214315] mmc0: error -84 whilst initialising SD card ... - There are no detailed information about maximum power consumption limit of the SFP port or optional DSL-SFP modules sold officially. But the power requirement of almost DSL-SFP modules are 3.3V/700mA, so set the maximum value of the SFP port to 2000 mW (Power Level III). - Do not insert a MicroSD card before turning of the device when OpenWrt installation. The stock firmware deletes all files in the first partition automatically, to use it as a storage for logs. MAC addresses: LAN: 00:1C:7F:xx:xx:FA (mmcblk1boot0, ethaddr (text)) WAN: 00:1C:7F:xx:xx:F9 (mmcblk1boot0, eth2addr (text)) DMZ: 00:1C:7F:xx:xx:FB (mmcblk1boot0, eth1addr (text)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16904 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mvebu: add support for Check Point V-80INAGAKI Hiroshi2025-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check Point V-80 (Quantum Spark 1550 Appliance) is an Appliance, based on Armada 7040 (88F7040). Specification: - SoC : Marvell Armada 7040 (88F7040) - RAM : DDR4 2 GiB (4x Nanya NT5AD512M8D3-HR) - Flash : eMMC 4 GiB (Toshiba THGBMNG5D1LBAIL) - Ethernet : 6x 10/100/1000 Mbps - LAN 1-5 : Marvell 88E6352 - WAN : Marvell 88E1512 - LEDs/Keys (GPIO): 6x/1x - UART : "CONSOLE" port (USB 1.1 Type-C) - chip : Silicon Labs CP2102N - port : ttyS0 - settings : 115200bps 8n1 - HW Monitoring : 2x nuvoTon NCT7802Y - USB : USB 3.0 Type-A - Power : 12 VDC, 3.3 A - plug : DC Plug 2.5/5.5 mm (inner/outer) Flash instruction (common): 1. Boot V-80 normally 2. Login to the vendor CLI (default: admin/admin) and login to the Linux CLI by `expert` command 3. Update U-Boot environment variables by the following commands fw_setenv bootcmd_ow_usb 'usb start; load usb 0:1 ${loadaddr} boot.scr && source ${loadaddr}' fw_setenv bootcmd_ow_emmc 'run set_mmc_internal; mmc read ${loadaddr} ${prim_header_mmc_blk} 4 && source ${loadaddr}' fw_setenv bootcmd 'run bootcmd_ow_usb; run bootcmd_ow_emmc; run bootcmd_part${activePartition};' Attention: don't forget single quatations of values to prevent expansion of each variables 4. Turn off the device Flash instruction (USB-boot): 1. Burn (squashfs|ext4)-sdcard.img.gz to USB storage 2. Connect that storage to the USB 3.0 port on V-80 3. Turn on V-80 and it will be booted with OpenWrt in that USB storage Flash instruction (eMMC-boot): 1. Copy initramfs image, dtb and bootsctipt to the USB storage with renaming initramfs.bin -------> Image dtb -----------------> armada-7040-v-80.dtb bootscript (.scr) ---> boot.scr 2. Connect that storage to the USB 3.0 port on V-80 3. Turn on V-80 and it will be booted with OpenWrt initramfs image in that USB storage 4. Upload (squashfs|ext4)-sysupgrade.gz to V-80 5. Perform sysupgrade with the uploaded image 6. Wait ~100 seconds to complete flashing Reverting to stock firmware: 1. Turn on V-80 and interrupt booting by Ctrl + C 2. Select "4. Restore to Factory Defaults (local)" 3. Wait ~180 seconds to complete restoring and rebooting Notes: - V-80 has some HW versions. Internal MicroSD card slot and mPCIe slot is available on some HW versions, but not on the other HW versions. confirmed (MicroSD/mPCIe slots): - 1.0.1: unavailable - 1.0.3: available - The partition table in the internal eMMC has single partition, but "blkdevparts=" parameter will be passed from the bootloader and that definition will be used instead. MAC addresses: LAN: 00:1C:7F:xx:xx:4B (mmcblk1boot0, ethaddr (text)) WAN: 00:1C:7F:xx:xx:4A (mmcblk1boot0, eth1addr (text)) Tested-by: Yanase Yuki <dev@zpc.st> Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16904 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mvebu: cortexa72: enable emmc featureINAGAKI Hiroshi2025-06-22
| | | | | | | | Enable "emmc" feature to use the emmc helpers on sysupgrade. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16904 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mvebu: cortexa72: enable CONFIG_CMDLINE_PARTITION for blkdevpartsINAGAKI Hiroshi2025-06-22
| | | | | | | | | Enable CONFIG_CMDLINE_PARTITION symbol to use "blkdevparts=" parameter support on Check Point V-80. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16904 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mvebu: 6.12: refresh kernel configStefan Kalscheuer2025-06-19
| | | | | | | | Add new and remove obsolete symbols for Kernel 6.12 Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de> Link: https://github.com/openwrt/openwrt/pull/18975 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel/mvebu: Restore kernel files for v6.6Stefan Kalscheuer2025-06-19
| | | | | | | | | | | | | This is an automatically generated commit which aids following Kernel patch history, as git will see the move and copy as a rename thus defeating the purpose. For the original discussion see: https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de> Link: https://github.com/openwrt/openwrt/pull/18975 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel/mvebu: Create kernel files for v6.12 (from v6.6)Stefan Kalscheuer2025-06-19
| | | | | | | | | | This is an automatically generated commit. When doing `git bisect`, consider `git bisect --skip`. Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de> Link: https://github.com/openwrt/openwrt/pull/18975 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Reorder config filesHauke Mehrtens2024-10-22
| | | | | | | | | | Reorder the kernel configuration files. This was done uisng: ./scripts/kconfig-reorder.sh Link: https://github.com/openwrt/openwrt/pull/16743 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: platform/mikrotik: add wlan lz77 decompressJohn Thomson2024-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A number of new (or with recently updated caldata) Mikrotik devices are using LZ77 magic for wlan tag hard_config data. New devices include the Chateau LTE12 [1], and ax devices [2] Newly factory flashed devices may include the hap ac3 [3] This can be seen in decoded OEM supout [4] dmesg: "radio data lz77 decompressed from"… Investigating an arm RouterOS flash.ko module, and supplied example hard_config dumps, the format was guessed via decompilation and live debugging [5]. This decoder was then built from the guessed format specification. debug prints can be enabled in a DYNAMIC_DEBUG kernel build via the kernel cmdline: chosen { - bootargs = "console=ttyS0,115200"; + bootargs = "console=ttyS0,115200 dyndbg=\"file drivers/platform/mikrotik/* +p\""; }; [1]: https://forum.openwrt.org/t/no-wireless-mikrotik-rbd53ig-5hacd2hnd/157763/4 [2]: https://forum.openwrt.org/t/mikrotik-routeros-v7-x-and-openwrt-sysupgrade/148072/17 [3]: https://forum.openwrt.org/t/adding-support-for-mikrotik-hap-ax2/133715/47 [4]: https://github.com/farseeker/go-mikrotik-rif [5]: https://github.com/john-tho/routeros-wlan-lz77-decode Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au> Link: https://github.com/openwrt/openwrt/pull/15774 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: rb5009: wire SFP led by defaultRobert Marko2024-07-12
| | | | | | | | There is no reason not to wire up the default netdev trigger for the SFP LED since we have a separate SFP interface visible. Link: https://github.com/openwrt/openwrt/pull/15927 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: rb5009: fix QCA8081 LED polarityRobert Marko2024-07-12
| | | | | | | | | | | | Currently, QCA8081 LED is never configured and the default configuration has the LED polarity inverted so it will be lit when there is nothing connected to the PHY. So lets define the LED as active-low and configure the trigger via 01_leds. Fixes: 85d9fd6f0ec7 ("mvebu: add support for RB5009UG+S+IN") Link: https://github.com/openwrt/openwrt/pull/15927 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: add support for RB5009UG+S+INRobert Marko2024-06-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Mikrotik RB5009UG+S+IN. Specifications: - SoC: Marvell Armada 7040 (88F7040) - 4 cores, ARMv8 Cortex-A72, 1.4GHz, 64bit - RAM: 1024MB DDR4 - Flash: 16MB SPI NOR flash, 1024MB NAND - Ethernet: * Marvell 88E6393X - Amethyst: * one 2.5G RJ45 port via Qualcomm QCA8081 PHY * seven 1G RJ45 ports via built-in PHY-s * one 10G SFP+ cage * All ports share the same 10G switch uplink to the CPU - LED: User, SFP, Hdr1, Hdr2 - Buttons: Reset - UART: 115200 8n1 on the MikroTik 16 pin header - USB: One USB3 port - Power: 24-57 V via * DC jack * 802.3af/at PoE on Ethernet 1 * 2-pin terminal on the side 16 Pin header pinout: 1 GND Vcc RX ? GND #--------------------# |.-. .-. .-. .-. .-. | |'-' '-' '-' '-' '-' | |.-. .-. .-. .-. .-. | |'-' '-' '-' '-' '-' | #--------------------# 2 CLK DO /CS TX DI Do note that the default RouterBoot has disabled UART even when the required hard-config bit is set to indicate UART support. Patched RouterBoot must be used if UART is desired. Also, since ARM64 Linux support does not support in any way appending the DTB to the kernel image we use mainline U-Boot with added RB5009 support in order to boot OpenWrt. MikroTik uses YAFFS to store the boot kernel and we use YAFUT to put U-Boot as the kernel which RouterBoot then simply boots as an ELF. Install instructions: NOTE: In case you are using an existing out of tree version of OpenWrt make sure to reinstall RouterOS via Netinstall to return the expected partition layout. 1. Prepare FAT or EXT4 formatted USB drive with OpenWrt initramfs: * Copy bin/targets/mvebu/cortexa72/openwrt-mvebu-cortexa72-mikrotik_rb5009-initramfs-uImage.itb to the root of FAT or EXT4 formatted USB drive. * Plug in the drive to the RB5009 USB port 2. Boot the modified OpenWrt built U-Boot ELF: u-boot.elf from bin/targets/mvebu/cortexa72/u-boot-rb5009/u-boot.elf Consult OpenWrt wiki for common instructions on switching to boot from Ethernet once as well as serving the file: https://openwrt.org/toh/mikrotik/common Once U-Boot is booted it will attempt to boot in the following order: 1. NAND 2. USB 3. Network NAND is expected to fail but USB or Networking need to serve the OpenWrt initramfs image and after booting it will be accessible from LAN ports on the default 192.168.1.1 IP with default credentials. 3. Flash modified RouterBoot that enables UART (Optional but recommended): https://public.robimarko.eu/RB5009/70x0-7.15-uart.fwf * Copy the file over to the booted OpenWrt initramfs to /tmp * Run: mtd erase RouterBOOT-primary * Run: mtd write /tmp/70x0-7.15-uart.fwf RouterBOOT-primary 4. Install U-Boot to boot OpenWrt: * Copy the u-boot.elf from bin/targets/mvebu/cortexa72/u-boot-rb5009/u-boot.elf to OpenWrt initramfs to /tmp. * Run: . /lib/functions.sh * Run: yafut -d /dev/mtd$(find_mtd_index "YAFFS") -w -i /tmp/u-boot.elf -o kernel -T This will use yafut to copy the U-Boot as kernel in YAFFS so that RouterBoot boots it. 5. Wipe the NAND UBI partition: * Run: ubiformat /dev/mtd$(find_mtd_index "ubi") -y This will prepare the existing RouterOS rootfs partition for OpenWrt. 6. Flash OpenWrt: * Copy the bin/targets/mvebu/cortexa72/openwrt-mvebu-cortexa72-mikrotik_rb5009-squashfs-sysupgrade.bin to OpenWrt initramfs to /tmp. * Run: sysupgrade /tmp/openwrt-mvebu-cortexa72-mikrotik_rb5009-squashfs-sysupgrade.bin Device will reboot, boot U-Boot and then OpenWrt. Recovery: In case you need to reinstall OpenWrt if it crashes after U-Boot, there is a recovery mechanism in OpenWrt to boot the OpenWrt initramfs. You need to hold the reset button while U-Boot is booting and then it will boot the OpenWrt initramfs from: 1. USB 2. Networking In recovery mode U-Boot will light all of the LED-s except for the switch ones. In case you want to return to RouterOS, you can simply do that via Netinstall like on any other MikroTik board. Credits also go to Serhii Serhieiev <adron@mstnt.com> who origininally figured out the RouterBoot modification for UART, the missing 10G MVPP2 support in U-Boot as well as the custom aux loader to boot directly via RouterBoot. Link: https://github.com/openwrt/openwrt/pull/15765 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: cortex-a72: enable MikroTik NVMEM layout driverRobert Marko2024-06-24
| | | | | | | RB5009 will take advantage of the driver to get MAC adress. Link: https://github.com/openwrt/openwrt/pull/15765 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: cortex-a72: enable U-Boot NVMEM driverRobert Marko2024-06-24
| | | | | | | | | | | | In order to not have to ship envtools configuration per board, we can instead rely on the kernel U-Boot environment NVMEM driver through which envtools can read/write the environement. Since size difference is negligeble and this subtarget has rather large storage regardless, enable it by default. Link: https://github.com/openwrt/openwrt/pull/15765 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: cortex-a72: enable MikroTik platform drivers and NOR variable eraseRobert Marko2024-06-24
| | | | | | | | MikroTik RB5009 will be using advantage of the MikroTik platform drivers, RouterBoot partition parser and SPI NOR variable erase support. Link: https://github.com/openwrt/openwrt/pull/15765 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: cortex-a72: enable ARM SBSA Generic WatchdogRobert Marko2024-06-24
| | | | | | | | Marvell 70x0 and 80x0 both have ARM SBSA Generic Watchdog built-in, so lets enable the required driver for them. Link: https://github.com/openwrt/openwrt/pull/15765 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: cortex-a72: enable QCA8081 PHY supportRobert Marko2024-06-24
| | | | | | | | MikroTik RB5009 uses Qualcomm QCA8081 PHY for the 2.5G RJ45 port, so we need to enable the driver for it. Link: https://github.com/openwrt/openwrt/pull/15765 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: switch to kernel 6.6Stefan Kalscheuer2024-05-12
| | | | | | | | | Update default kernel version to 6.6 and drop configs and patches for kernel 6.1. We can also omit the conditional to include DTS dir. Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de> Link: https://github.com/openwrt/openwrt/pull/15449 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mvebu: puzzle-m90x: wipe rootfs_data on sysupgradeDaniel Golle2024-04-09
| | | | | | | | | | | | | | | | | | | The sysupgrade formware of the Puzzle series is a slightly strange dual-boot approach while remaining compatible with Marvell's SDK firmware upgrade binary format -- which happens to be a full-disk image with GPT partition table. Hence that /lib/upgrade/emmc-puzzle.sh script is like an exotic disease which results from those decisions, and as we also want to somehow stay compatible with the IEI-World stock firmware we got to use it in that same way (we are not compatible with the QNAP-branded identical hardware device anyway). Currently, on sysupgrade the result is that one ends up with the old content of rootfs_data (a GPT partition on those devices) as nothing ever wipes or in any way re-creates the filesystem there. As a simple work-around, let's kill the filesystem on rootfs_data so fstools re-formats it on the next boot. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mvebu: 6.6: copy files, patches & configs from 6.1Stijn Segers2024-04-03
| | | | | | Copy all mvebu 6.1 specific files, patches and configs to 6.1. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* mvebu: add support for SolidRun ClearFog ProTobias Schramm2024-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SolidRun ClearFog Pro is a router based on the SolidRun CN9130 SOM. Specs: - SoC: Quad-Core Cortex-A72 CN9130 SoC - RAM: 4GiB DDR4 - Serial: Micro-USB port on front (FT232R, 115200 8n1) - Storage: 8GiB eMMC, microSD card slot, 8MiB SPI NOR flash - Ethernet: 7x GbE (1 port dedicated on SoC, 6 port switch with single GbE CPU port) - SFP: 1x SFP+ - USB: 1x USB-A 3.1 Gen 1 - PCIe: 2x mini PCIe (one slot with USB and SIM card socket) - SATA: 1x M.2 Key-B In addition to the usual connectivity options this device also features an internal mikroBUS expansion connector. SATA is currently untested due to lack of a suitable M.2 SSD. Installation ============ 1. Write sdcard sysupgrade image to microSD card using dd or similar 2. Insert microSD card into router and apply power 3. Device boots into OpenWRT 4. (optional) dd sysupgrade image to /dev/mmcblk0 to install to eMMC Signed-off-by: Tobias Schramm <tobias@t-sys.eu>
* mvebu: drop kernel 5.15 config and patchesStefan Kalscheuer2024-02-18
| | | | | | With default now being at 6.1 we can remove all 5.15 components. Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
* mvebu: cortexa72: enable USB PHYTomasz Maciej Nowak2023-09-08
| | | | | | | | | Since kernel 5.13 this is needed to enable USB ports on all devices in subtarget. Previously TF-A and COMPHY driver might have set up this PHY, but not anymore. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> Tested-by: Robert Marko <robimarko@gmail.com>
* mvebu: refresh 6.1 configsTomasz Maciej Nowak2023-09-08
| | | | | | | This should be a part of kernel major bump. Fortunately it didn't stall compilation, so no fixes tag. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* mvebu: copy 5.15 kconfigs to 6.1Stefan Kalscheuer2023-08-02
| | | | | | Start 6.1 migration with a full copy of the current stable config. Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de>
* treewide: remove files for building 5.10 kernelNick Hainke2023-05-12
| | | | | | | | | | | All targets are bumped to 5.15. Remove the old 5.10 patches, configs and files using: find target/linux -iname '*-5.10' -exec rm -r {} \; Further, remove the 5.10 include. Signed-off-by: Nick Hainke <vincent@systemli.org>
* mvebu: cortexa72: add CONFIG_ARM64_ERRATUM_1742098John Audia2022-10-30
| | | | | | | | 5.15.76 introduces a new symbol that applies Cortex-A72 SoCs so enable it[1]. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/diff/arch/arm64/Kconfig?id=v5.15.76&id2=v5.15.75 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic configAleksander Jan Bajkowski2022-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | Endianness depends on CPU architecture. CONFIG_CPU_(BIG/LITTLE)_ENDIAN should be enabled on target or subtarget based on SoC architecture. Fixes warning: $ make kernel_oldconfig CONFIG_TARGET=subtarget ... .config:1008:warning: override: CPU_LITTLE_ENDIAN changes choice state .... Summary: - ARC - only the CONFIG_CPU_BIG_ENDIAN symbol is defined for this architeture. If it is disabled then the processor operates in LITTLE_ENDIAN mode (default), - ARM32 - CONFIG_CPU_LITTLE_ENDIAN symbol available since kernel 5.19. This option should be enabled after OpenWRT moves to kernel 6.x. After refreshing the kernel, the symbol disappears, - ARM64 - enabled CONFIG_CPU_LITTLE_ENDIAN, - MIPS - enabled relevant symbols, - POWERPC - enabled CONFIG_CPU_BIG_ENDIAN, - UML - Symbols are not defined for this architecture, - X86 - always little endian. Symbols are not defined for this architecture. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* mvebu: refresh the 5.15 kconfigsRui Salvaterra2022-08-16
| | | | | | Clean them up. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* mvebu: update the kconfigs for 5.15Rui Salvaterra2022-08-16
| | | | | | And remove irrelevant stuff while at it. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* mvebu: copy 5.10 kconfigs to 5.15Rui Salvaterra2022-08-16
| | | | | | Will be refreshed/updated later. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]Tomasz Maciej Nowak2022-06-24
| | | | | | | | | | | | This is now built-in, enable so it won't propagate on target configs. Link: https://lkml.org/lkml/2022/1/3/168 Fixes: 79e7a2552e89 ("kernel: bump 5.15 to 5.15.44") Fixes: 0ca93670693b ("kernel: bump 5.10 to 5.10.119") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> (Link to Kernel's commit taht made it built-in, CRYPTO_LIB_BLAKE2S[_ARM|_X86] as it's selectable, 5.10 backport) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mvebu: add SolidRun ClearFog GT 8KLogan Blyth2022-06-19
| | | | | | | | ClearFog GT 8K is device sold by SolidRun. It is marketed as a development board, not a consumer product. The device tree file for this board is upstream in kernel.org. Signed-off-by: Logan Blyth <mrbojangles3@gmail.com>
* mvebu/cortexa72: enable armv8-CE crypto algosEneas U de Queiroz2022-06-04
| | | | | | | | | | | This enables armv8 crypto extensions version of AES, GHASH, SHA1, SHA256, and SHA512 algorithms in the kernel. The choice of algorithms match the 32-bit versions that are enabled in the target config-5.10 file, but were only used by the cortexa9 subtarget. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* mvebu/cortexa72: refresh kernel 5.10 configEneas U de Queiroz2022-06-04
| | | | | | This is result of a plain make kernel_oldconfig CONFIG_TARGET=subtarget. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* mvebu: cortexa72: enable ARM_ARMADA_8K_CPUFREQMatthew Hagan2022-02-20
| | | | | | | | Enable the AP806's cpufreq driver. This driver is compatible with the Armada 7K and 8K platforms. Tested-by: Stijn Segers <foss@volatilesystems.org> (RB5009UG+S+IN) Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
* mvebu: remove duplicate CONFIG_POWER_RESET entriesSungbo Eo2022-01-29
| | | | | | | The option is already enabled in the target config since 9149ed4f05f8 ("mvebu: cortexa9: Add support for Ctera C200-V2"). Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mvebu: puzzle: wan LED and fix default networkDaniel Golle2021-12-23
| | | | | | | | | Fix default network configuration of the Puzzle-M902 so all LAN ports are included in the LAN bridge. Setup network LED to indicate WAN port link status, like vendor firmware does as well. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mvebu: enable Aquantia phy driver for Puzzle devicesDaniel Golle2021-12-23
| | | | | | | Fixes Ethernet link status on all ports and makes 2.5G ports usable in 2.5G and 1G full-duplex mode. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mvebu: puzzle-m902: add driver for MCU driving LEDs, fan and buzzerDaniel Golle2021-12-21
| | | | | | | | | | Backport MFD driver for communicating with the on-board MCU found on IEI World Puzzle appliances. Improve the driver to support multiple LEDs, apply a default state and let MCU take care of blinking if timing is within supported range. Wire up LEDs and fan for Puzzle M902 in device tree. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: 5.10: consolidate mac80211 crypto optionsSergey Ryazanov2021-12-17
| | | | | | | | | | | | | | | | | | | | | | Each of - CRYPTO_AEAD2 - CRYPTO_AEAD - CRYPTO_GF128MUL - CRYPTO_GHASH - CRYPTO_HASH2 - CRYPTO_HASH - CRYPTO_MANAGER2 - CRYPTO_MANAGER - CRYPTO_NULL2 either directly required for mac80211 crypto support, or directly selected by such options. Support for the mac80211 crypto was enabled in the generic config since c7182123b9 ("kernel: make cryptoapi support needed by mac80211 built-in"). So move the above options from the target configs to the generic config to make it clear why do we need them. CC: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: Deactivate some ARM64 errata workaroundsHauke Mehrtens2021-10-03
| | | | | | | | | | | This deactivates the following workarounds for erratas in ARM64 CPUS: CONFIG_ARM64_ERRATUM_1165522: Cortex-A76 cores (r0p0, r1p0, r2p0) CONFIG_ARM64_ERRATUM_1286807: Cortex-A76 cores (r0p0 to r3p0) CONFIG_ARM64_ERRATUM_1418040: Cortex-A76/Neoverse-N1 cores (r0p0 to r3p1) CONFIG_CAVIUM_TX2_ERRATUM_219: Cavium ThunderX2 CONFIG_FUJITSU_ERRATUM_010001: Fujitsu-A64FX Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mvebu: remove obsolete Kernel 5.4Paul Spooren2021-10-02
| | | | | | | With the upgrade to Kernel 5.10 per default the old version is no longer required to be in tree. Signed-off-by: Paul Spooren <mail@aparcar.org>
* mvebu: add Globalscale MOCHAbinRobert Marko2021-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Globalscale MOCHAbin is a Armada 7040 based development board. Specifications: * Armada 7040 Quad core ARMv8 Cortex A-72 @ 1.4GHz * 2 / 4 / 8 GB of DDR4 DRAM * 16 GB eMMC * 4MB SPI-NOR (Bootloader) * 1x M.2-2280 B-key socket (for SSD expansion, SATA3 only) * 1x M.2-2250 B-key socket (for modems, USB2.0 and I2C only) * 1x Mini-PCIe 3.0 (x1, USB2.0 and I2C) * 1x SATA 7+15 socket (SATA3) * 1x 16-pin (2×8) MikroBus Connector * 1x SIM card slot (Connected to the mini-PCIe and both M.2 slots) * 2x USB3.0 Type-A ports via SMSC USB5434B hub * Cortex 2x5 JTAG * microUSB port for UART (PL2303GL/PL2303SA onboard) * 1x 10G SFP+ * 1x 1G SFP (Connected to 88E1512 PHY) * 1x 1G RJ45 with PoE PD (Connected to 88E1512 PHY) * 4x 1G RJ45 ports via Topaz 88E6141 switch * RTC with battery holder (SoC provided, requires CR2032 battery) * 1x 12V DC IN * 1x Power switch * 1x 12V fan header (3-pin, power only) * 1x mini-PCIe LED header (2x0.1" pins) * 1x M.2-2280 LED header (2x0.1" pins) * 6x Bootstrap jumpers * 1x Power LED (Green) * 3x Tri-color RGB LEDs (Controllable) * 1x Microchip ATECC608B secure element Note that 1G SFP and 1G WAN cannot be used at the same time as they are in parallel connected to the same PHY. Installation: Copy dtb from build_dir to bin/ and run tftpserver there: $ cp ./build_dir/target-aarch64_cortex-a72_musl/linux-mvebu_cortexa72/image-armada-7040-mochabin.dtb bin/targets/mvebu/cortexa72/ $ in.tftpd -L -s bin/targets/mvebu/cortexa72/ Connect to the device UART via microUSB port and power on the device. Power on the device and hit any key to stop the autoboot. Set serverip (host IP) and ipaddr (any free IP address on the same subnet), e.g: $ setenv serverip 192.168.1.10 # Host $ setenv ipaddr 192.168.1.15 # Device Set the ethernet device (Example for the 1G WAN): $ setenv ethact mvpp2-2 Ping server to confirm network is working: $ ping $serverip Using mvpp2-2 device host 192.168.1.15 is alive Tftpboot the firmware: $ tftpboot $kernel_addr_r openwrt-mvebu-cortexa72-globalscale_mochabin-initramfs-kernel.bin $ tftpboot $fdt_addr_r image-armada-7040-mochabin.dtb Boot the image: $ booti $kernel_addr_r - $fdt_addr_r Once the initramfs is booted, transfer openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img.gz to /tmp dir on the device. Gunzip and dd the image: $ gunzip /tmp/openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img.gz $ dd if=/tmp/openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img of=/dev/mmcblk0 && sync Reboot the device. Hit any key to stop the autoboot. Reset U-boot env and set the bootcmd: $ env default -a $ setenv bootcmd 'load mmc 0 ${loadaddr} boot.scr && source ${loadaddr}' Optionally I would advise to edit the console env variable to remove earlycon as that causes the kernel to never use the driver for the serial console. Earlycon should be used only for debugging before the kernel can configure the console and will otherwise cause various issues with the console. $ setenv console 'console=ttyS0,115200' Save and reset $ saveenv $ reset OpenWrt should boot from eMMC now. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* mvebu: add support for iEi Puzzle-M901/Puzzle-M902Ian Chang2021-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification ---------------------- * CN9130 SoC, Quad-core ARMv8 Cortex-72 @ 2200 MHz * 4 GB DDR * 4 GB eMMC * mmcblk0 - mmcblk0p1 64M kernel_1 - mmcblk0p2 64M kernel_2 - mmcblk0p3 512M rootfs_1 - mmcblk0p4 512M rootfs_2 - mmcblk0p5 512M Reserved - mmcblk0p6 64M Reserved - mmcblk0p7 1.8G rootfs_data * 4 MB (SPI Flash) * 6 x 2.5 Gigabit ports (Puzzle-M901) - External PHY with 6 ports (AQR112R) * 6 x 2.5 Gigabit ports (Puzzle-M902) - External PHY with 6 ports (AQR112R) 3 x 10 Gigabit ports (Puzzle-M902) - External PHY with 3 ports (AQR113R) * 4 x Front panel LED * 1 x USB 3.0 * Reset button on Rear panel * UART (115200 8N1,header on PCB) Flash instructions: The original firmware is based on OpenWrt. Flash firmware using LuCI and CLI Signed-off-by: Ian Chang <ianchang@ieiworld.com>
* base-files: rename 'sdcard' to 'legacy-sdcard'Daniel Golle2021-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While an image layout based on MBR and 'bootfs' partition may be easy to understand for users who are very used to the IBM PC and always have the option to access the SD card outside of the device (and hence don't really depend on other recovery methods or dual-boot), in my opinion it's a dead end for many desirable features on embedded systems, especially when managed remotely (and hence without an easy option to access the SD card using another device in case things go wrong, for example). Let me explain: * using a MSDOS/VFAT filesystem to store kernel(s) is problematic, as a single corruption of the bootfs can render the system into a state that it no longer boots at all. This makes dual-boot useless, or at least very tedious to setup with then 2 independent boot partitions to avoid the single point of failure on a "hot" block (the FAT index of the boot partition, written every time a file is changed in bootfs). And well: most targets even store the bootloader environment in a file in that very same FAT filesystem, hence it cannot be used to script a reliable dual-boot method (as loading the environment itself will already fail if the filesystem is corrupted). * loading the kernel uImage from bootfs and using rootfs inside an additional partition means the bootloader can only validate the kernel -- if rootfs is broken or corrupted, this can lead to a reboot loop, which is often a quite costly thing to happen in terms of hardware lifetime. * imitating MBR-boot behavior with a FAT-formatted bootfs partition (like IBM PC in the 80s and 90s) is just one of many choices on embedded targets. There are much better options with modern U-Boot (which is what we use and build from source for all targets booting off SD cards), see examples in mediatek/mt7622 and mediatek/mt7623. Hence rename the 'sdcard' feature to 'legacy-sdcard', and prefix functions with 'legacy_sdcard_' instead of 'sdcard_'. Tested-by: Stijn Tintel <stijn@linux-ipv6.be> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mvebu: switch to generic sdcard upgrade methodStijn Tintel2021-08-07
| | | | | | | Now that we have a generic sdcard upgrade method, which was copied from the mvebu platform method, we can switch mvebu to the generic method. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: move some disabled symbols to genericAleksander Jan Bajkowski2021-03-19
| | | | | | Move some disabled symbols found in armvirt target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-06
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>