aboutsummaryrefslogtreecommitdiff
path: root/target/linux/mvebu/image/cortexa9.mk
Commit message (Collapse)AuthorAge
* mvebu: cortexa9: set DTS dir for 6.6Stijn Segers2024-04-03
| | | | | | | | | | With 6.6, all DTSes were moved to their vendor subdirectories. ARM64 DTSes already used this scheme, but 32 bit Cortex A9 did not, prior to 6.6. Introduce a kernel version check to keep backward compatibility with 6.1. Suggested-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* mvebu: add kernel module for Turris Omnia Wi-Fi 6Jan Jasper de Kroon2024-02-26
| | | | | | | | | | | | The following kernel module package was added to the build recipe for the Turris Omnia: kmod-mt7915-firmware This module enables support for the official Wi-Fi 6 upgrade kit sold by CZ.NIC, which includes the AW7915-NP1 miniPCIE board based on Mediatek MT7915AN, providing 5 GHz Wi-Fi 6 connectivity. With this commit we now support the latest Turris Omnia Wi-Fi 6 Edition Signed-off-by: Jan Jasper de Kroon <jajadekroon@gmail.com>
* mvebu: add support for Synology DS213jDaniel Golle2023-11-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Synology DS213j is a rather dated dual-bay SATA NAS based on on the Marvell Armada-370 SoC. It has long been supported in vanilla Linux, however, flash partitioning there didn't match with reality (ie. the bootloaders expectations) and nobody cared to wrap up OpenWrt support for the device. CPU: Marvell Armada-370 ARMv7 SoC @ 1200 MHz RAM: 512 MB DDR3 Flash: 8 MB (Micron Technology N25Q064) Network: 1x 1000M/100M/10M Ethernet (Marvell 88E1510) SATA: 2x 3.0Gbps USB: 2x USB 2.0 As OS options are becoming limited on that still quite useful hardware, patch the flash partitions to be able to get the most out of it when using OpenWrt. The vendor firmware loads kernel and initrd from fixed addresses in the flash, not making use of a modifyable environment stored in flash which is stored at a location right in the middle of the vendor's zImage partition (at 0x100000). Stock firmware flash layout: 0x000000 ~ 0x0c0000 : "RedBoot" (actually U-Boot) 0x0c0000 ~ 0x390000 : "zImage" 0x390000 ~ 0x7d0000 : "rd.gz" 0x7d0000 ~ 0x7e0000 : "vendor" (contains MAC address, serial no) 0x7e0000 ~ 0x7f0000 : "RedBoot Config" (unused? legacy left-over) 0x7f0000 ~ 0x800000 : "FIS directory" (unused? legacy left-over) OpenWrt flash layout: 0x000000 ~ 0x0c0000 : "u-boot" 0x0c0000 ~ 0x100000 : "gap" 0x100000 ~ 0x110000 : "u-boot-env" 0x110000 ~ 0x7d0000 : "kernel" 0x7d0000 ~ 0x7e0000 : "vendor" (contains MAC address, serial no) 0x7e0000 ~ 0x800000 : "gap2" "kernel", "gap" and "gap2" are concatenated using the mtd-concat virtual MTD driver, resulting in a partition "firmware" used by OpenWrt for kernel, rootfs and rootfs-overlay, 0x720000 (7296kiB) in total. Installation: 1. Connect to internal serial console port and Ethernet port, providing a TFTP server at a static IPv4 address, e.g. 192.168.1.254/24. 2. Interrupt bootloader using CTRL+C 3. Configure bootloader to load OpenWrt on future boot: setenv bootcmd "bootm f4110000" saveenv 4. Load and boot initramfs image via TFTP: setenv ipaddr 192.168.1.1 setenv serverip 192.168.1.254 tftpboot openwrt-mvebu-cortexa9-synology_ds213j-initramfs-kernel.bin bootm 5. Use sysupgrade to load final image. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mvebu: add support for IIJ SA-W2INAGAKI Hiroshi2023-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Internet Initiative Japan Inc. (IIJ) SA-W2 is a network appliance with 11ac (Wi-Fi 5) wlan, based on 88F6810. Specification: - SoC : Marvell Armada 380 88F6810 - RAM : DDR3 256 MiB (Micron MT41K64M16TW-107:J x2) - Flash : SPI-NOR 32 MiB (Winbond W25Q256JVFIQ) - WLAN : 2.4/5 GHz, Mini PCI-E - 2.4 GHz : Silex SX-PCEGN (Atheros AR9287 (2T2R)) - 5 GHz : Silex SX-PCEAC (Qualcomm Atheros QCA9880 (3T3R)) - Ethernet : 10/100/1000 Mbps x5 - Switch : Marvell 88E6172 - LEDs/Keys : 12x/1x - UART : "CONSOLE" port (RJ-45, RS-232C) - settings : 115200n8 - assignment: 1:NC, 2:NC, 3:TXD, 4:GND, 5:GND, 6:RXD, 7:NC, 8:NC - note : compatible with Cisco console cable - Power : DC Input or PoE - DC Input : 12 VDC, 3 A - PoE : 802.3af - module : Silvertel Ag9712-2BR - note : USB ports shouldn't be used when powered by PoE - Bootloader : PMON2000 based - Stock : NetBSD based Flash instruction using sysupgrade image: 1. Prepare TFTP server with IP address 192.168.0.10 and put sysupgrade image to TFTP directory 2. Connect PC to "GE0/PoE" port on SA-W2 3. Power on SA-W2, interrupt count-down by Esc and enter to bootloader CLI 4. Set IP address of the device address 192.168.0.1 5. Download sysupgrade image and flash to storage tftpload 192.168.0.10 <image name> firmwrite example: #tftpload 192.168.0.10 openwrt-mvebu-cortexa9-iij_sa-w2-squashfs-sysupgrade.bin Loading openwrt-mvebu-cortexa9-iij_sa-w2-squashfs-sysupgrade.bin loaded 8127268 byte(s) #firmwrite Erasing FLASH block 32 Done 0x00200000. Erasing FLASH block 33 Done 0x00210000. ... Erasing FLASH block 155 Done 0x009b0000. Erasing FLASH block 156 Done 0x009c0000. Programming FLASH. Done. Verifying FLASH. No Errors found. 6. Check the flashed firmware firmcheck example: #firmcheck [Normal firmware] ident: 'SEIL2015' copyright: 'ARM OpenWrt Linux-5.15.93' version format: 1 version major: 9 version minor: 99 version release: 'r22060+36-5163bb5e54' body size: 3578524 checksum: 0x8a083cb8 [Rescue firmware] ident: 'SEIL2015' copyright: 'Copyright (c) 2017 Internet Initiative Japan Inc. All rights reserved.' version format: 1 version major: 3 version minor: 70 version release: 'Release' body size: 10152458 checksum: 0x8f9518c2 7. Boot with the flashed firmware boot Note: - The bootloader on this device is not U-Boot and it's environment space ("bootloader-env") has no compatibility with U-Boot tools. - eth1 is connected to port6 of 88E6172 switch, but multi-cpu port can't be handled on Linux Kernel and not defined. - Powering by PoE hasn't been tested yet. - This device has 2x OS images on flash and they can be switched by setting "BOOTDEV" variable on bootloader CLI. That variable supports the following values: - "flash" : primary image on flash ("firmware") - "rescue": secondary image on flash ("rescue") - "usb" : usb storage (broken?) - "lan0/1": network command to set: set BOOTDEV=<dev> example: set BOOTDEV=rescue This commit also supports booting from secondary partition. - To execute initramfs image on bootloader CLI, use "go" command. ("go" command is not listed on the output of "help", but available) example (download and execute): address 192.168.0.1 tftpload 192.168.0.10 openwrt-mvebu-cortexa9-iij_sa-w2-initramfs-kernel.bin go MAC addresses: LAN : 00:E0:4D:xx:xx:19 (none) WAN : 00:E0:4D:xx:xx:18 (board_info, 0x6 (hex)) 2.4 GHz: 84:25:3F:xx:xx:xx (Mini PCI-E card) 5 GHz : 84:25:3F:xx:xx:xx (Mini PCI-E card) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* mvebu: add support for Fortinet FortiGate 30EINAGAKI Hiroshi2023-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fortinet FortiGate 30E (FG-30E) is a UTM, based on Armada 385 (88F6820). Specification: - SoC : Marvell Armada 385 88F6820 - RAM : DDR3 1 GiB (4x Micron MT41K256M8DA-125, "D9PSH") - Flash : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G) - Ethernet : 5x 10/100/1000 Mbps - Switch : Marvell 88E6176 - LEDs/Keys : 16x/1x - UART : "CONSOLE" port (RJ-45, RS-232C level) - port : ttyS0 - settings : 9600bps 8n1 - assignment : 1:NC , 2:NC , 3:TXD, 4:GND, 5:GND, 6:RXD, 7:NC , 8:NC - note : compatible with Cisco console cable - HW Monitoring: nuvoTon NCT7802Y - Power : 12 VDC, 2 A - plug : Modex 5557-02R Flash instruction using initramfs image: 1. Power on FG-30E and interrupt to show bootmenu 2. Call "[I]: System information." -> "[S]: Set serial port baudrate." and set baudrate to 9600 bps 3. Call "[R]: Review TFTP parameters.", check TFTP parameters and connect computer to "Image download port" in the parameters 4. Prepare TFTP server with the parameters obtained above 5. Rename OpenWrt initramfs image to "image.out" and put to TFTP directory 6. Call "[T]: Initiate TFTP firmware transfer." to download initramfs image from TFTP server 7. Type "r" key when the following message is showed, to boot initramfs image without flashing to spi-nor flash "Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?" 8. On initramfs image, backup mtd if needed minimum: - "firmware-info" - "kernel" - "rootfs" 9. On initramfs image, upload sysupgrade image to the device and perform sysupgrade 10. Wait ~200 seconds to complete flashing and rebooting. If the device is booted with stock firmware, login to bootmenu and call "[B]: Boot with backup firmware and set as default." to set the first OS image as default and boot it. Notes: - Both colors of Bi-color LEDs on the front panel cannot be turned on at the same time. - "PWR" and "Logo" LEDs are connected to power source directly. - The following partitions are added for OpenWrt. These partitions are contained in "uboot" partition (0x0-0x1fffff) on stock firmware. - "firmware-info" - "dtb" - "u-boot-env" - "board-info" Image header for bootmenu tftp: 0x0 - 0xf : ? 0x10 - 0x2f : Image Name 0x30 - 0x17f: ? 0x180 - 0x183: Kernel Offset* 0x184 - 0x187: Kernel Length* 0x188 - 0x18b: RootFS Offset (ext2)* 0x18c - 0x18f: RootFS Length (ext2)* 0x190 - 0x193: DTB Offset 0x194 - 0x197: DTB Length 0x198 - 0x19b: Data Offset (jffs2) 0x19c - 0x19f: Data Length (jffs2) 0x1a0 - 0x1ff: ? *: required for initramfs image MAC addresses: (eth0): 70:4C:A5:xx:xx:CE (board-info, 0xd880 (hex)) WAN : 70:4C:A5:xx:xx:CF LAN 1 : 70:4C:A5:xx:xx:D0 LAN 2 : 70:4C:A5:xx:xx:D1 LAN 3 : 70:4C:A5:xx:xx:D2 LAN 4 : 70:4C:A5:xx:xx:D3 Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* mvebu: stop building omnia-medkitKlaus Kudielka2023-06-01
| | | | | | | | | | | Since August 2022, users of very old Turris Omnias have been encouraged to update U-Boot before OpenWrt installation [1]. The omnia-medkit (only useful for installation with U-Boot 2015.10-rc2) is not needed anymore. [1] https://openwrt.org/toh/turris/turris_omnia#installation Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
* mvebu: add support for Fortinet FortiGate 50EINAGAKI Hiroshi2023-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fortinet FortiGate 50E (FG-50E) is a UTM, based on Armada 385 (88F6820). Specification: - SoC : Marvell Armada 385 88F6820 - RAM : DDR3 2 GiB (4x Micron MT41K512M8DA-107, "D9SGQ") - Flash : SPI-NOR 128 MiB (Macronix MX66L1G45GMI-10G) - Ethernet : 7x 10/100/1000 Mbps - LAN 1-5 : Marvell 88E6176 - WAN 1, 2 : Marvell 88E1512 (2x) - LEDs/Keys : 18x/1x - UART : "CONSOLE" port (RJ-45, RS-232C level) - port : ttyS0 - settings : 9600bps 8n1 - assignment : 1:NC , 2:NC , 3:TXD, 4:GND, 5:GND, 6:RXD, 7:NC , 8:NC - note : compatible with Cisco console cable - HW Monitoring: nuvoTon NCT7802Y - Power : 12 VDC, 2 A - plug : Molex 5557-02R Flash instruction using initramfs image: 1. Power on FG-50E and interrupt to show bootmenu 2. Call "[R]: Review TFTP parameters.", check TFTP parameters and connect computer to "Image download port" in the parameters 3. Prepare TFTP server with the parameters obtained above 4. Rename OpenWrt initramfs image to "image.out" and put to TFTP directory 5. Call "[T]: Initiate TFTP firmware transfer." to download initramfs image from TFTP server 6. Type "r" key when the following message is showed, to boot initramfs image without flashing to spi-nor flash "Save as Default firmware/Backup firmware/Run image without saving:[D/B/R]?" 7. On initramfs image, backup mtd if needed minimum: - "firmware-info" - "kernel" - "rootfs" 7. On initramfs image, upload sysupgrade image to the device and perform sysupgrade 8. Wait ~200 seconds to complete flashing and rebooting. If the device is booted with stock firmware, login to bootmenu and call "[B]: Boot with backup firmware and set as default." to set the first OS image as default and boot it. Notes: - All "SPEED" LEDs(Green/Amber) of LAN and 1000M "SPEED" LEDs(Green) of WAN1/2 are connected to GPIO expander. There is no way to indicate link speed of networking device on Linux Kernel/OpenWrt, so those LEDs cannot be handled like stock firmware. On OpenWrt, use netdev(link) trigger instead. - Both colors of Bi-color LEDs on the front panel cannot be turned on at the same time. - "PWR" and "Logo" LEDs are connected to power source directly. - The following partitions are added for OpenWrt. These partitions are contained in "uboot" partition (0x0-0x1fffff) on stock firmware. - "firmware-info" - "dtb" - "u-boot-env" - "board-info" Image header for bootmenu tftp: 0x0 - 0xf : ? 0x10 - 0x2f : Image Name 0x30 - 0x17f: ? 0x180 - 0x183: Kernel Offset* 0x184 - 0x187: Kernel Length* 0x188 - 0x18b: RootFS Offset (ext2)* 0x18c - 0x18f: RootFS Length (ext2)* 0x190 - 0x193: DTB Offset 0x194 - 0x197: DTB Length 0x198 - 0x19b: Data Offset (jffs2) 0x19c - 0x19f: Data Length (jffs2) 0x1a0 - 0x1ff: ? *: required for initramfs image MAC addresses: (eth0): 70:4C:A5:xx:xx:7C (board-info, 0xd880 (hex)) WAN 1 : 70:4C:A5:xx:xx:7D WAN 2 : 70:4C:A5:xx:xx:7E LAN 1 : 70:4C:A5:xx:xx:7F LAN 2 : 70:4C:A5:xx:xx:80 LAN 3 : 70:4C:A5:xx:xx:81 LAN 4 : 70:4C:A5:xx:xx:82 LAN 5 : 70:4C:A5:xx:xx:83 Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* mvebu: add support for Buffalo LinkStation LS220DEDaniel González Cabanelas2023-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Buffalo LinkStation LS220DE is a dual bay NAS, based on Marvell Armada 370 Hardware: SoC: Marvell Armada 88F6707 CPU: Cortex-A9 800 MHz, 1 core Flash 1: SPI-NOR 1 MiB (U-Boot) Flash 2: NAND 512 MiB (OS) RAM: DDR3 256 MiB Ethernet: 1x 1GbE USB: 1x 2.0 SATA: 2x 3Gb/s LEDs/Input: 5x / 2x (1x button, 1x slide-switch) Fan: 1x casing Flash instructions, from hard drive: 1. Get access to the "boot" partition at the hard drive where the stock firmware is installed. It can be done with acp-commander or by plugging the hard drive to a computer. 2. Backup the stock uImage: mv /boot/uImage.buffalo /boot/uImage.buffalo.bak 3. Move and rename the Openwrt initramfs image to the boot partition: mv openwrt-initramfs-kernel.bin /boot/uImage.buffalo 4. Power on the Linkstation with the hardrive inside. Now Openwrt will boot, but still not installed. 5. Connect via ssh to OpenWrt: ssh root@192.168.1.1 6. Rename boot files inside boot partition mount -t ext3 /dev/sda1 /mnt mv /mnt/uImage.buffalo /mnt/uImage.buffalo.openwrt.bak mv /mnt/initrd.buffalo /mnt/initrd.buffalo.bak 7. Format ubi partitions at the NAND flash ("kernel_ubi" and "ubi"): ubiformat /dev/mtd0 -y ubidetach -p /dev/mtd1 ubiformat /dev/mtd1 -y 8. Flash the sysupgrade image: sysupgrade -n openwrt-squashfs-sysupgrade.bin 9. Wait until it finish, the device will reboot with OpenWrt installed on the NAND flash. Restore the stock firmware: 1. Take the hard drive used for the installation and restore boot backup files to their original names: mount -t ext3 /dev/sda1 /mnt mv /mnt/uImage.buffalo.bak /mnt/uImage.buffalo mv /mnt/initrd.buffalo.bak /mnt/initrd.buffalo 2. Boot from the hard drive and perform a stock firmware update using the Buffalo utility. The NAND will be restored to the original state. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* treewide: replace wpad-basic-wolfssl defaultRosen Penev2023-02-04
| | | | | | | The newly merged mbedtls backend is smaller and has fewer ABI related issues than the wolfSSL one. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* mvebu: cortexa9: use renamed U-boot binariesJosef Schlehofer2023-01-20
| | | | | | | | | Due to upstream change in U-boot the binaries were renamed [1]. [1] https://source.denx.de/u-boot/u-boot/-/commit/87ac4b4b4ca5f00e2ddcdac41c9dc691ab2aecf1 Fixes: 2f83369e3e97 ("uboot-mvebu: update to version 2023.01") Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
* kernel: add kmod-leds-turris-omniaStefan Kalscheuer2022-06-24
| | | | | | | | | | | | | | Add support for LEDs of the CZ.NIC Turris Omnia using the upstream driver. There is no generic way to control the LEDs in UCI manner, however the kernel module is the first step to actually use the RGB LEDs in custom logic. Signed-off-by: Stefan Kalscheuer <stefan@stklcode.de> (removed DMARC notice, added driver to Turris Omnia, moved module recipe to target/linux/mvebu/modules.mk) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mvebu: add support for ipTIME NAS1dualSungbo Eo2022-01-29
| | | | | | | | | | | | | | | | | | | | | | | | ipTIME NAS1dual is a 1-bay NAS, based on Marvell Armada 385 SoC. Specifications: * SoC: 88F6820 * RAM: 2 GiB * Flash: SPI NOR 64 MiB * SATA: 1x 3Gb/s * Ethernet: 2x 1GbE * USB: 1x 3.0 * Fan: 2 speed level * UART: J11 (115200 8N1) * Pinout: [3V3] (TXD) (RXD) (GND) Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware: 1. Perform sysupgrade with stock image. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mvebu: cortexa9: Add support for Ctera C200-V2Pawel Dembicki2022-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2-Bay NAS - maximum two 3.5" Harddisks Hardware: - SoC: Marvell 88F6707-A1 ARMv7 Processor 1,2GHz (ARMADA 370 SoC) - Ram: 1GB (2x Nanya NT5CC512M8DN-D1) - NAND Flash: 256MB (ESMT F59L2G81A-25T) - Lan: 1x GBE (Marvell 88E1318-NNB2) - Storage: 2x SATA HDD 3.5" Slot - USB: 2x USB 3.0 port (Renesas uPD720202) - Console: Internal J3 connector (1: Vcc, 2: Rx, 3: Tx, 4: GND) - LEDs: 13x GPIO controlled - Buttons: 2x GPIO controlled Known issues: - Buzzer is unused due lack of proper driver - USB1/2 usbport ledtrigger won't work (through DT) - Renesas uPD720202 requires firmware file. It's possible to find non-free binary. Please look for 'UPDATE.mem' file and put in into '/lib/firmware/renesas_usb_fw.mem' file. Installation: - Apply factory initramfs image via stock web-gui. - Do sysupgrade to make installation complete. Back to stock: - OpenWrt rootfs partition use unused space after stock firmware. - Full revert is possible. - Login via ssh and run: ## ctera_c200-v2_back_to_factory start ## . /lib/functions.sh part=$(find_mtd_part "active_bank") active_bank=$(strings "$part" | grep bank) if [ "$active_bank" = "bank1" ]; then echo "bank2" > /tmp/change_bank else echo "bank1" > /tmp/change_bank fi mtd write /tmp/change_bank active_bank reboot ## ctera_c200-v2_back_to_factory end ## Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> (put back-to-stock script into commit message, removed dup. SUBPAGESIZE var, added 01_leds for non-working dt-usb-port trigger) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mvebu: enable WRT1900AC v1 and WRT32X for buildbotsTad Davanzo2021-03-19
| | | | | | | Kernel size limits have been dealt with. Effective revert of a1eb2c46 and ac9730c4. Signed-off-by: Tad Davanzo <tad@spotco.us>
* mvebu: venom resize kernel to 6MBTad Davanzo2021-03-19
| | | | | | | | | | | | | | | | | | | | | | | venom has a 3MB kernel partition as specified by the DTS. 3MB is not sufficient for building with many kernel modules or newer kernel versions. venom uboot however as set from factory will load up to 6MB. This can be observed by looking a uboot log: NAND read: device 0 offset 0x900000, size 0x600000 6291456 bytes read: OK and from uboot environment variables: $ fw_printenv | grep "priKernSize"; priKernSize=0x0600000 Resize the root partitions from 120MB to 117MB to let kernel expand into it another 3MB. And set kernel target size to 6MB. Lastly set the kernel-size-migration compatibility version on venom to prevent sysupgrading without first reinstalling from a factory image. Signed-off-by: Tad Davanzo <tad@spotco.us>
* mvebu: mamba resize kernel to 4MBTad Davanzo2021-03-19
| | | | | | | | | | | | | | | | | | | | | | | | mamba has a 3MB kernel partition as specified by the DTS. 3MB is not sufficient for building with many kernel modules or newer kernel versions. mamba uboot however as set from factory will load up to 4MB. This can be observed by looking a uboot log: NAND read: device 0 offset 0xa00000, size 0x400000 4194304 bytes read: OK and from uboot environment variables: $ fw_printenv | grep "pri_kern_size"; pri_kern_size=0x400000 Resize the root partitions from 37MB to 36MB to let kernel expand into it another 1MB. And set kernel target size to 4MB. Lastly add a compatibility version message: kernel-size-migration. And set it on mamba to prevent sysupgrading without first reinstalling from a factory image. Signed-off-by: Tad Davanzo <tad@spotco.us>
* treewide: rename IMAGE_PREFIX/IMAGE_NAME to DEVICE_IMG_*Adrian Schmutzler2021-02-25
| | | | | | | | | | | | | | We so far had two variables IMG_PREFIX and IMAGE_PREFIX with different content. Since these names are obviously quite confusing, this patch renames the latter to DEVICE_IMG_PREFIX, as it's a device-dependent variable, while IMG_PREFIX is only (sub)target-dependent. For consistency, also rename IMAGE_NAME to DEVICE_IMG_NAME, as that's a device-dependent variable as well. Cc: Paul Spooren <mail@aparcar.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-10
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: omnia: make initramfs image usable out of the boxPetr Štetiar2021-01-31
| | | | | | | | | | | | | | | Currently it's not possible to boot the device with just initramfs image without additional effort as the initramfs image doesn't contain device tree. Fix it by producing FIT based image which could be booted with following commands: setenv bootargs earlyprintk console=ttyS0,115200 tftpboot ${kernel_addr_r} openwrt-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin bootm ${kernel_addr_r} Acked-by: Klaus Kudielka <klaus.kudielka@gmail.com> Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* Revert "mvebu: fix initramfs/kernel image for CZNIC Turris Omnia"Petr Štetiar2020-12-22
| | | | | | | | | | | This reverts commit e401a2a42e6d7c892e1cf7d765fa5ec9b2db3fb3 as at least two users had reported breakage on their devices. References: https://lists.infradead.org/pipermail/openwrt-devel/2020-December/032837.html References: https://github.com/openwrt/openwrt/commit/e401a2a42e6d7c892e1cf7d765fa5ec9b2db3fb3#commitcomment-45189788 Cc: Karel Kočí <karel.koci@nic.cz> Reported-by: Magnus Kroken <mkroken@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mvebu: fix initramfs/kernel image for CZNIC Turris OmniaKarel Kočí2020-12-11
| | | | | | | | | | | | | | | | | This adds DTB to kernel and that way makes it possible to easily boot initramfs image and also kernel. The sequence to boot initramfs on Omnia is then just: env set bootargs earlyprintk console=ttyS0,115200 dhcp 0x1000000 192.168.1.1:openwrt-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin bootz 0x1000000 Without this change kernel boot won't proceed and is stuck on "Starting kernel". Signed-off-by: Karel Kočí <karel.koci@nic.cz> [fixed From: to match with SoB:] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mvebu: Add turris-omnia.bootscriptKlaus Kudielka2020-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | In contrast to the U-Boot version shipped with older versions of Turris Omnia (CZ11NIC13, CZ11NIC20), the version shipped with Turris Omnia 2019 (CZ11NIC23) relies on the existence of /boot.scr. Consequently, add a suitable boot script to the sysupgrade image. Flash instructions for Turris Omnia 2019: - Download openwrt-...-sysupgrade.img.gz, gunzip it, and copy the resulting .img file to the root of a USB flash drive (FAT32 or ext2/3/4). - Enter a rescue shell: Either via 5-LED reset and ssh root@192.168.1.1 on LAN port 4, or via 7-LED reset and the serial console. - Insert the USB drive and mount it: mkdir /mnt; mount /dev/sda1 /mnt - Flash the OpenWrt image to eMMC: dd if=/mnt/openwrt-...-sysupgrade.img of=/dev/mmcblk0 bs=4096 conv=fsync - Reboot. Flash instructions using a temporary "medkit" installation were written for the older versions of Turris Omnia, and will *not* work on the Turris Omnia 2019. Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com> Reviewed-by: Tomasz Maciej Nowak <tomek_n@o2.pl> Tested-by: W. Michael Petullo <mike@flyn.org> (Turris Omnia "2020")
* Revert "treewide: add sysupgrade comment for early DSA-adopters"Adrian Schmutzler2020-09-08
| | | | | | | | | | This reverts commit e81e625ca375d6dc3c885ec870ec15757ac76d72. This was meant just for early DSA-adopters. Those should have updated by now, remove it so future updaters get the intended experience. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: LS421DE: add linkstation poweroff driverDaniel González Cabanelas2020-08-28
| | | | | | | | | | | Compile the Linkstation poweroff module for the Buffalo LS421DE. Without this driver the device remains forever halted if a power off command is executed. The driver will also allow to use the WoL feature, which wasn't availabe in the stock firmware. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* treewide: use wpad-basic-wolfssl as defaultPetr Štetiar2020-08-20
| | | | | | | | | | | | | | | In order to support SAE/WPA3-Personal in default images. Replace almost all occurencies of wpad-basic and wpad-mini with wpad-basic-wolfssl for consistency. Keep out ar71xx from the list as it won't be in the next release and would only make backports harder. Build-tested (build-bot settings): ath79: generic, ramips: mt7620/mt76x8/rt305x, lantiq: xrx200/xway, sunxi: a53 Signed-off-by: Petr Štetiar <ynezz@true.cz> [rebase, extend commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: add sysupgrade comment for early DSA-adoptersAdrian Schmutzler2020-08-08
| | | | | | | | | | Add a specific comment for early DSA-adopters that they can keep their config when prompted due to compat-version increase. This is a temporary solution, the patch should be simply reverted before any release. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: increase compat version for SolidRun ClearFog BaseAdrian Schmutzler2020-07-31
| | | | | | | | | | | | | When changing the Pro variant to DSA, the ethernet interface rename script was dropped by all devices to keep them in sync: be309bfd7445 ("mvebu: drop 06_set_iface_mac preinit script") Therefore, network config will be broken after upgrade for the Base variant as well. Increase the compat version and provide a message to signal that to the users. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: implement compatibility version for DSA migrationAdrian Schmutzler2020-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | This implements the newly introduced compat-version to prevent upgrade between swconfig and DSA for mvebu. Just define a compat version with minor increment and an appropriate message for both image (in Makefile) and device (in base-files). Having taken care of sysupgrade, we can put back the SUPPORTED_DEVICES that have been removed in previous patches to prevent broken config. Attention: All users that already updated to the DSA versions in master will receive the same incompatibility warning since their devices are still "1.0" as far as fwtool can tell. Those, and only those, can bypass the upgrade check by using force (-F) without having to reset config again. In addition, the new version string needs to be put into uci config manually, so the new fwtool knows that it actually deals with a "1.1": uci set "system.@system[-1].compat_version=1.1" uci commit system Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: only disable WRT1900AC v1 and WRT32X for buildbotsAdrian Schmutzler2020-07-27
| | | | | | | Use "DEFAULT := n" to only disable devices for buildbots, but keep them available for manual build. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: disable WRT1900AC v1 and WRT32X images for nowJo-Philipp Wich2020-07-26
| | | | | | | | | The kernel appears to have grown too large, breaking the build for the entire target. Disable the affected images for now until the situation is dealt with. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* mvebu: add Kobol Helios 4 deviceAlberto Bursi2020-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Helios 4 is a NAS from Kobol that is powered by an Armada 38x MicroSOM from Solidrun, similarly to Clearfog. This device has: -Armada 38x CPU (dual core ARMv7 1.6 Ghz) -2 GB of ECC RAM -Gigabit ethernet (Marvell) -2x USB 3.0 ports -4x Sata 3.0 ports -i2c header (J9 |>GND|SDA|SCL|VCC) -2x 3-pin fan headers with PWM -micro-usb port is a TTL/UART to USB converter connected to TTL -MicroSD card slot -System, 4xSata and 1xUSB LEDs NOT WORKING: fan control Fan Control requires a kernel patch that is available in the Armbian project (the "default firmware" of this device) and named mvebu-gpio-remove-hardcoded -timer-assignment This patch isn't acceptable by OpenWrt, it should be upstreamed. I also have that patch in my own local OpenWrt builds, in case you want a more clean and less confusing patch for upstreaming. To install, write the disk image on a micro SD card with dd or win32 disk imager, insert the card in the slot. Check that the dip switch battery for boot selection is as follows Switch 1 and 2 down/off, switches 3, 4, 5 up/on. Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
* mvebu: LS421DE: use automatic fan control with thermal zonesDaniel González Cabanelas2020-07-04
| | | | | | | | | | | | | | | | The Buffalo Linkstation LS421DE has a chassis fan for cooling two internal hard drives. Currently there is no control over this fan, running always at fixed medium speed. With the recent jump to the kernel 5.4, now we can monitor the hard drive temperature and control the fan with thermal zones. Install the kmod-hwmon-drivetemp module and wire up a thermal zone on the dts file to allow automatic fan control by the kernel. Tested succesfully using a single Crucial BX500 SSD drive. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* mvebu: move definition of factory.img out of Device/DefaultAdrian Schmutzler2020-06-28
| | | | | | | | | | The Device/Default definition in mvebu defines an IMAGE/factory.img which is not included in IMAGES, and only used twice in the individual definitions. Move it out of the default definition to keep it closer to the reassignment of IMAGES and make it more consistent with respect to other values of IMAGE/factory.img Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: remove ClearFog Pro SUPPORTED_DEVICESDENG Qingfang2020-06-05
| | | | | | | | | | A direct upgrade from previous swconfig version with incompatible settings to DSA will break the internet. Remove SUPPORTED_DEVICES so users cannot upgrade directly. Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn> [rebase after Linksys rename, adjust title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: rename Linksys devices based on their common namesPaul Spooren2020-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Linksys devices in mvebu target feature a mixed naming, where parts are based on the official product name (device node, image; e.g. WRT3200ACM) and parts are based on the internal code name (DTS file name, compatible, LED labels; e.g. rango). This inconsistent naming has been perceived as quite confusing. A recent attempt by Paul Spooren to harmonize this naming in kernel has been declined there. However, for us it still makes sense to apply at least a part of these changes locally. Primarily, this patch changes the compatible in DTS and thus the board name used in various scripts to have them in line with the device, model and image names. Due to the recent switch from swconfig to DSA, this allows us to drop SUPPORTED_DEVICES and thus prevent seamless upgrade between these incompatible setups. However, this does not include the LED label rename from Paul's initial patch: I don't think it's worth keeping the enormous diff locally for this case, as we can implement this much easier in 01_leds if we have to live with the inconsistency anyway. Signed-off-by: Paul Spooren <mail@aparcar.org> [rebase, extend to all devices, drop DT LED changes] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: remove swconfig packageDENG Qingfang2020-06-03
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: add support for Buffalo LinkStation LS421DEDaniel González Cabanelas2020-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffalo LinkStation LS421DE is a dual bay NAS, based on Marvell Armada 370 Hardware: SoC: Marvell Armada 88F6707-A1 CPU: Cortex-A9 1200 MHz, 1 core Flash: SPI-NOR 1 MiB, NAND 512 MiB RAM: DDR3 512 MiB Ethernet: 1x 10/100/1000 Mbps USB: 1x 2.0, 1x 3.0 SATA: 2x 3.0 Gbps LEDs/Input : 5x / 2x (1x button, 1x slide-switch) RTC: Ricoh RS5C372A, I2C, no battery Flash instruction (UART+TFTP): 1. Downgrade the OEM firmware to 1.34 version (BUFFALO_BOOTVER=0.13) 2. Remove any hard drive from inside the bays. 3. Boot the Openwrt initramfs image using the U-Boot serial console: tftpboot 0x1200000 buffalo_ls421de-initramfs-kernel.bin bootm 0x1200000 4. Flash the sysupgrade image using the Openwrt console: sysupgrade -n buffalo_ls421de-squashfs-sysupgrade.bin 5. Wait until it finish, the device will reboot with Openwrt installed on the NAND flash. Note: - Device shuting down doesn't work, even if the power slide switch is used. We must first, via MDIO, set the unused LED2 at the ethernet phy0 to off state. Reboot works ok. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> Reviewed-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* kernel: make kmod-i2c-mux selected by dependent modulesSungbo Eo2020-03-16
| | | | | | | | | | | | Currently kmod-i2c-mux-* will not get into images unless kmod-i2c-mux is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-i2c-mux-pca954x Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: make kmod-i2c-core selected by dependent modulesSungbo Eo2020-03-13
| | | | | | | | | | | | | | | | | | Currently kmod-i2c-* will not get into images unless kmod-i2c-core is added to DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to "select", we do not have the issue anymore. Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES and similar variables, as it is now pulled by dependent modules such as: - kmod-hwmon-lm75 - kmod-i2c-gpio - kmod-i2c-gpio-custom - kmod-i2c-mux - kmod-i2c-ralink Signed-off-by: Sungbo Eo <mans0n@gorani.run> [do not touch ar71xx] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: image: align subtargets makefile namesTomasz Maciej Nowak2020-02-01
Align subtargets makefiles names to actual subtargets. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>