aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/base-files
Commit message (Collapse)AuthorAgeFilesLines
* mvebu: sysupgrade: write additional information to log outputTomasz Maciej Nowak2020-12-011-4/+3
| | | | | | | | This will explain what is actually occuring on dd invocations. Additionally remove comments for steps which are described by printed statements anyway. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* mvebu: sysupgrade: use v function for writing logsTomasz Maciej Nowak2020-12-011-6/+6
| | | | | | Sync with x86 target changes. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* mvebu: base-files: Update Turris Omnia U-Boot environmentKlaus Kudielka2020-11-261-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the update procedure from sysupgrade to first boot, which is much more convenient in the sysupgrade case (otherwise the environment is always one generation behind). Check whether we have an old U-Boot release installed, and update the environment only if necessary. Some notes on the U-Boot environment: The first 9 lines are a copy of the default environment of the old U-Boot release - only modified, to run "distro_bootcmd", in case "mmcboot" fails to boot the factory OS. The remaining 16 lines are a backport of the default environment of the new U-Boot release (shipped with CZ11NIC23). The main entry point is "distro_bootcmd", which eventually sources boot.scr. This way, we have a unified boot protocol for all Turris Omnia revisions so far. This commit also fixes a shortcoming of previous Turris Omnia support: Users may install OpenWrt with the Turris Omnia in factory state (i.e. invalid environment store). In that case, neither fw_setenv, nor U-Boot itself, would import the default environment from the image - screwing up the rescue system, at least! 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") Tested-by: Klaus Kudielka <klaus.kudielka@gmail.com> (Turris Omnia)
* mvebu: sysupgrade: use get_image_dd wrapperTomasz Maciej Nowak2020-11-251-6/+6
| | | | | | This function eliminates false-positive errors emitted by dd. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* mvebu: sysupgrade: remove redundant MBR checkTomasz Maciej Nowak2020-11-251-13/+1
| | | | | | | | This is already done by get_partitions. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> [add "redundant" to title, remove declaration of magic variable] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: base-files: move additional files to subtargetsTomasz Maciej Nowak2020-11-252-69/+0
| | | | | | | Both of these scripts are only relevant to cortexa9, therefore move them there. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* treewide: drop shebang from non-executable target filesAdrian Schmutzler2020-06-161-1/+0
| | | | | | | | | | | | | | This drops the shebang from all target files for /lib and /etc/uci-defaults folders, as these are sourced and the shebang is useless. While at it, fix the executable flag on a few of these files. This does not touch ar71xx, as this target is just used for backporting now and applying cosmetic changes would just complicate things. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: use generic diag.shSungbo Eo2020-03-151-48/+0
| | | | | | | | | This commit removes the target-specific diag.sh script. This way, the generic one is used for the target, which uses DT-aliases to specify the LEDs used. Signed-off-by: Sungbo Eo <mans0n@gorani.run> Tested-by: Ansuel Smith <ansuelsmth@gmail.com> [wrt3200acm @ 5.4]
* mvebu: split base-files across subtargetsAdrian Schmutzler2020-01-2111-665/+0
| | | | | | | | | | | | | For the mvebu target in particular, there is a lot of files in base-files that are only relevant for one subtarget. Improve overview and reduce size per subtarget by moving/splitting base-files depending on the subtarget they belong to. While at it, consolidate 01_leds by using the model part of the board name as variable. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: split interface configuration for clearfog pro and baseJosua Mayer2019-12-311-6/+10
| | | | | | | Handle both variants separately. This removes the need for calling swconfig to detect the switch, and simplifies future changes. Signed-off-by: Josua Mayer <josua.mayer@jm0.eu>
* mvebu: replace backticks by $(...)Adrian Schmutzler2019-09-292-4/+4
| | | | | | | | This replaces deprecated backticks by more versatile $(...) syntax. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [decapitalized patch subject at submitter's request] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* treewide: use new procd sysupgrade $UPGRADE_BACKUP variableRafał Miłecki2019-09-053-4/+4
| | | | | | | | | | It's a variable set by procd that should replace hardcoded /tmp/sysupgrade.tgz. This change requires the most recent procd with the commit 0f3c136 ("sysupgrade: set UPGRADE_BACKUP env variable"). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: when copying a backup file always specify dest nameRafał Miłecki2019-09-053-3/+3
| | | | | | | $CONF_TAR shouldn't be assumed to always point to the sysupgrade.tgz. This change makes code more generic and allows refactoring $CONF_TAR. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: don't hardcode "sysupgrade.tgz" file nameRafał Miłecki2019-09-055-13/+13
| | | | | | | | 1) Add BACKUP_FILE and use it when copying an archive to be restored after sysupgrade (on the next preinit). 2) Use CONF_TAR for copying backup prepared by the /sbin/sysupgrade Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mvebu: fix Linksys WRT LAN/WAN MAC addressesDENG Qingfang2019-09-011-2/+2
| | | | | | | | | According to 02_network, eth0.1 is LAN and eth1.2 is WAN, but $mac_wan was assigned incorrectly to eth0 in preinit. Swap eth0 and eth1 to fix this. Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: sysupgrade: fix uDPU eMMC check regressionVladimir Vid2019-08-291-23/+27
| | | | | | Add udpu_ prefix in all other function names Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
* mvebu: uDPU: add sysupgrade supportVladimir Vid2019-08-244-1/+207
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds sysupgrade, uboot-env and networking support for Methode uDPU device. Device features 4 partitions: ----------------------------------------- | boot | recovery | rootfs | misc | | (ext4) | (ext4) | (fsf2) | (f2fs) | _________________________________________ Idea was to use f2fs only but the u-boot currently lacks support so first 2 partition are ext4 to be u-boot readable, and this was a reason why custom build and sysupgrade sections were required. On the sysupgrade, boot and rootfs partitions are updated, firmare image and user configuration is saved on the misc partition and if the upgrade was successfull, recovery partition will be updated on after the reboot from preinit script. If the sysupgrade fails for any reason, device will fallback to recovery initramfs image. Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
* treewide: sysupgrade: pass "save_partitions" option to the "sysupgrade" methodRafał Miłecki2019-08-221-1/+1
| | | | | | | This explicitly lets stage2 know if partitions should be preserved. No more "touch /tmp/sysupgrade.always.overwrite.bootdisk.partmap" hack. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: sync bootcount scripts across targetsChuanhong Guo2019-08-171-3/+1
| | | | | | | | | | | | | | | This commit made the following changes to sync all bootcount scripts: 1. use boot() instead of start() This script only needs to be executed once when boot is complete. use boot() to make this explicit. 2. drop sourcing of /lib/functions.sh This is aready done in /etc/rc.common. 3. ramips: replace board name checking with a case Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* mvebu: sysupgrade: sdcard: fix platform_do_upgrade_sdcardKlaus Kudielka2019-08-161-18/+16
| | | | | | | | | | | | Unconditionally execute the final case statement, even if the disk layout changed. This is necessary, to keep the original Turris Omnia flash instructions working: The disk layout WILL change, when switching from TurrisOS to OpenWRT. Without updating the uboot environment at the same time, the user would end up with an unbootable system. Fixes commit 2e5a0b81ec ("mvebu: sysupgrade: sdcard: keep user added ...") Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
* mvebu: sysupgrade: don't use $ARGV in platform_check_image()Rafał Miłecki2019-07-171-1/+1
| | | | | | | sysupgrade passes image path to platform_check_image() as an argument so it can be simply accessed using $1 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: sysupgrade: don't use $ARGV in platform_do_upgrade()Rafał Miłecki2019-07-171-3/+3
| | | | | | | stage2 passes image path to platform_do_upgrade() as an argument so it can be simply accessed using $1 Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mvebu: sysupgrade: drop platform_copy_config_sdcard() argumentRafał Miłecki2019-07-161-1/+1
| | | | | | | That function doesn't take any arguments so don't pass anything when calling it. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mvebu: add initial support for uDPU boardVladimir Vid2019-06-281-0/+3
| | | | | | | | | | | | | | | | | | | This adds initial support for micro-DPU (uDPU) board which is based on Armada-3720 SoC. micro-DPU is the single-port FTTdp distribution point unit made by Methode Electronics which offers complete modularity with replaceable SFP modules both for uplink and downlink (G.hn over twisted-pair, G.hn over coax, 1G and 2.5G Ethernet over Cat-5e cable). On-board features: - 512 MiB DDR3 - 2 x 2.5G SFP via HSGMII SERDES interface to the A3720 SoC - USB 2.0 Type-C connector - 4GB eMMC - ETSI TS 101548 reverse powering via twisted pair (RJ45) or coax (F Type) uDPU is intented to run on kernel 4.19 on newer due to the SFP and hardware support. Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
* mvebu: Fix platform.sh for non-generic espressobin versionsBrett Mastbergen2019-06-281-2/+4
| | | | | | | | When the non-generic espressobin targets were added these board checks were not updated. One side effect of this is that config is not saved during an upgrade of -emmc,-v7, or -v7-emmc devices. Signed-off-by: Brett Mastbergen <bmastbergen@untangle.com>
* mvebu: fix regression for non-generic ESPRESSObin versionsVladimir Vid2019-06-182-2/+6
| | | | | | | | | | | | | When targets for multiple ESPRESSObin devices were added, not all files were updated which means any ESPRESSObin version beside generic won't have proper networking, sysupgrade and uboot-env. This patch fixes the issue. * fixup network detection * fixup uboot-env * fixup platform.sh for sysupgrade Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
* mtd: base-files: Unify dual-firmware devices (Linksys)Jeff Kletsky2019-05-183-37/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consistently handle boot-count reset and upgrade across ipq40xx, ipq806x, kirkwood, mvebu Dual-firmware devices often utilize a specific MTD partition to record the number of times the boot loader has initiated boot. Most of these devices are NAND, typically with a 2k erase size. When this code was ported to the ipq40xx platform, the device in hand used NOR for this partition, with a 16-byte "record" size. As the implementation of `mtd resetbc` is by-platform, the hard-coded nature of this change prevented proper operation of a NAND-based device. * Unified the "NOR" variant with the rest of the Linksys variants * Added logging to indicate success and failure * Provided a meaningful return value for scripting * "Protected" the use of `mtd resetbc` in start-up scripts so that failure does not end the boot sequence * Moved Linksys-specific actions into common `/etc/init.d/bootcount` For upgrade, these devices need to determine which partition to flash, as well as set certain U-Boot envirnment variables to change the next boot to the newly flashed version. * Moved upgrade-related environment changes out of bootcount * Combined multiple flashes of environment into single one * Current-partition detection now handles absence of `boot_part` Runtime-tested: Linksys EA8300 Signed-off-by: Jeff Kletsky <git-commits@allycomm.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [checkpatch.pl fixes, traded split strings for 80+ chars per line]
* mvebu: use device-tree board detectionTomasz Maciej Nowak2019-05-1113-171/+68
| | | | | | | | Convert whole target to Device Tree based board detection instead of identifying devices by dts file name. With this we can drop mvebu.sh translation script and rely on common method for model detection. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: fix board_name condition in 79_move_configKlaus Kudielka2019-05-111-1/+1
| | | | | | | The correct board_name for the Turris Omnia is armada-385-turris-omnia. Fixes: 4e8345ff68 ("mvebu: base-files: autodetect upgrade device") Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
* mvebu: sysupgrade: sdcard: keep user added partitonsTomasz Maciej Nowak2019-04-062-6/+77
| | | | | | | | Currently sysupgrade overwrites whole disk and destroys partitions added by user. Sync the sysupgrade code with the one present in x86 target to remedy this behaviour. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: base-files: autodetect upgrade deviceTomasz Maciej Nowak2019-04-062-10/+18
| | | | | | | Since some boards could be also booted from other mediums than SD card, lets make the upgrade block device autodetected. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: shrink amount of packages and reorganize themTomasz Maciej Nowak2019-04-061-4/+10
| | | | | | | | | Since most of devices using SD card image to boot, use ext4 as boot files system we can drop fat fs related packages. Also move packages which are added repeatedly across subtargets to their default packages, with droping the ones that are enabled in target kernel configugation. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: Fix typo in MACCHIATOBin detectionHauke Mehrtens2019-03-251-1/+1
| | | | | | The name in the device tree file is written with two C. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
* mvebu: initial support for Marvell Armada 7k and 8k DB boardsDamir Samardzic2018-05-212-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add initial support for cortex-a72 based Armada DB-88F8040-Modular and DB-88F7040-Modular development boards. DB-88F8040-Modular specifications: - Quad-core ARMv8 Cortex A72 CPU (up to 2 GHz) - DDR4 DIMM - 64 bits + ECC - 2 x 128 Mb SPI NOR flash memory - 2 x 1G Ethernet port via RGMII (RJ45) - 2 x SD card ports (4 bit port on CP, 8 bit port on AP) - 2 SERDES modules with the following interfaces each: - 2 x SATA Rev 3.0 port (Port1 via SERDES module CON4 (active port), Port0 via SERDES Module CON2 or CON1 (optional port)) - 3 x PCI Express (PCIe) Gen 3.0 (Port2 via SERDES module CON5 (active port), Port1 via SERDES module CON7 (optional port), Port0 via SERDES module CON6 (optional port)) - 2 x USB3 (USB 2.0 backward compatible) host (via SERDES module CON9 and CON10) - 1 x 10G port over SFP+ connector (via SERDES module CON8) - 1 x MCI interface by two over USB Type C connector - 4 x serial COM port driven by the 88F8040 UART interface and converted to USB via FTDI IC - I2C Master Interface - CP I2C 2x EEPROM @ Address 0x50 and 0x57 - 1 x I/O Expander @ Address 0x21 - Sample at Reset (SatR) memory device @ Address 0x4C and 0x4E - I2C Slave Interface (via SERDES module) - Connection to each device on the board via an I2C multiplexer - JTAG interface for CPU emulator - Board dimensions: 270 mm x 240 mm (main + SERDES module) - SERDES Module Dimensions: 70 mm x 105 mm DB-88F7040-Modular specifications: - Quad-core ARMv8 Cortex A72 CPU - CPU core operating speed of up to 1.6 GHz for Dual Core, 1.4 GHz for Quad Core - DDR4 - 32 bit + ECC on Module - SLM1366-V1 (DB-DDR4-40B-MODULE) 4 GByte 32-bit - 1 x 128Mb SPI NOR flash memory - 2 x 1G Ethernet port: 1 over RGMII (RJ45) and 1 over SGMII - SD card 4 bits port on AP - eMMc Module on CP - 1 SERDES Modules with the following interfaces each: - 1 x SATA Rev 3.0 port (via SERDES module CON4) - 1 x PCI Express (PCIe) Gen 3.0 (via SERDES module CON5) - 2 x USB 3.0 (USB 2.0 backward compatible) host (via SERDES module CON9 and CON10) - 1 x 10G port over SFP+ connector (via SERDES module CON8) - 2 x MCi interface by one over USB Type C connector - 4 x Serial COM port driven by the 88F7040 UA - RT interface and converted to USB via FTDI IC - I2C Master Interface - 2 x EEPROM at address 0x57 and 0x50 in AP and 2 x EEPROM at address 0x57 and 0x50 in CP - 1 x I/O Expander at address 0x21 - Sample at Reset (SatR) memory device at address 0x4C and 0x4E - I2C Slave Interface (via SERDES module) - Connection to each device on the board via an I2C multiplexer - JTAG interface for CPU emulator - Board dimensions - 270 mm x 240 mm (main + SERDES module) - SERDES Module Dimensions - 70 mm x 105 mm Booting from USB flash drive (dd sdcard image to the flash drive): 1. reset U-Boot environment: env default -a saveenv 2. prepare U-Boot manually (make sure to set correct dtb file name): setenv bootargs_root 'root=/dev/sda2 rw rootdelay=2 ip=dhcp' setenv fdtfile armada-7040-db.dtb setenv image_name Image setenv bootcmd 'usb start; ext4load usb 0:1 $kernel_addr $image_name; ext4load usb 0:1 $fdt_addr $fdtfile; setenv bootargs $console $mtdparts $bootargs_root; booti $kernel_addr - $fdt_addr' saveenv boot Signed-off-by: Damir Samardzic <damir.samardzic@sartura.hr>
* mvebu: initial support for Marvell Armada 3720 DB boardDamir Samardzic2018-05-212-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add initial support for Marvell Armada cortex-a53 based DB-88F3720-DDR3-Modular development board. Specifications: - Dual core ARMv8 Cortex-A53 CPU (up to 1.0 GHz) - 4Gb 16-bit DDR3/3L DRAM memory - 128Mb SPI NOR flash memory - 8Gb eMMC NAND flash memory - 1 x SATA Rev 3.0 port - 1 x PCI Express (PCIe) Gen 2.0 or 1 x mini PCI Express (PCIe) Gen 2.0 - 1 x 1G Ethernet port via RGMII (RJ45) - 1 x SD card port - 1 x USB3 (USB2 backward) host\device port via type C connector - 1 x USB2 host port via type A connector - 1 x serial COM port driven by the 88F3720 UART interface and converted to USB via FTDI IC (option to connect the UART DB9 adapter) - I2C Master Interface: - 1 x EEPROM @ address 0x57 - 1 x I/O Expanders @ address 0x22 - Sample at Reset (SatR) memory device @ address 0x4C - RTC clock generator PT7C4337AWE @ address 0x68 - USB3 switch PI5USB30213XEA @ address 0x0D - ID component of PHY module @ address 0x24 - 1 x JTAG interface for CPU emulator - 1 x SETM and JTAG debug interface - 1 x power connector for HDD supply - 1 x 12V DC jack power connector - Board dimensions: 150 mm x 179 mm - LED interface for system status Booting from SD card: 1. reset U-Boot environment: env default -a saveenv 2. prepare U-Boot with boot script: setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000" saveenv or manually: setenv fdt_name armada-3720-db.dtb setenv image_name Image setenv bootcmd 'mmc dev 0; ext4load mmc 0:1 $kernel_addr $image_name;ext4load mmc 0:1 $fdt_addr $fdt_name;setenv bootargs $console root=/dev/mmcblk1p2 rw rootwait; booti $kernel_addr - $fdt_addr' saveenv Signed-off-by: Damir Samardzic <damir.samardzic@sartura.hr>
* mvebu: add support for WRT32X (venom)Michael Gray2018-05-1410-7/+20
| | | | | | | | | | | | | | | | | | Linksys WRT32X (Venom) is identical in hardware to the WRT3200ACM with a different flash layout and boots zImage rather than uImage. Specification: - Marvell Armada 385 88F6820 (2x 1.8GHz) - 256MB of Flash - 512MB of RAM - 2.4GHz (bgn) and 5GHz (an+ac wave 2) - 4x 1Gbps LAN + 1x 1Gbps WAN - 1x USB 3.0 and 1x USB 2.0/eSATA (combo port) Flash instruction: Apply factory image via web-gui. Signed-off-by: Michael Gray <michael.gray@lantisproject.com>
* mvebu: add support for MACCHIATObin (cortex-a72)Damir Samardzic2018-03-313-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add initial support for Marvell MACCHIATObin, cortex-a72 based Marvell ARMADA 8040 Community board. Comes in two forms: Single Shot and Double Shot. Specifications: - Quad core Cortex-A72 (up to 2GHz) - DDR4 DIMM slot with optional ECC and single/dual chip select support - Dual 10GbE (1/2.5/10GbE) via copper or SFP 2.5GbE (1/2.5GbE) via SFP 1GbE via copper - SPI Flash - 3 X SATA 3.0 connectors - MicroSD connector - eMMC - PCI x4 3.0 slot - USB 2.0 Headers (Internal) - USB 3.0 connector - Console port (UART) over microUSB connector - 20-pin Connector for CPU JTAG debugger - 2 X UART Headers - 12V input via DC Jack - ATX type power connector - Form Factor: Mini-ITX (170 mm x 170 mm) More details at http://macchiatobin.net Booting from micro SD card: 1. reset U-Boot environment: env default -a saveenv 2. prepare U-Boot with boot script: setenv bootcmd "load mmc 1:1 0x4d00000 boot.scr; source 0x4d00000" saveenv or manually: setenv fdt_name armada-8040-mcbin.dtb setenv image_name Image setenv bootcmd 'mmc dev 1; ext4load mmc 1:1 $kernel_addr $image_name;ext4load mmc 1:1 $fdt_addr $fdt_name;setenv bootargs $console root=/dev/mmcblk1p2 rw rootwait; booti $kernel_addr - $fdt_addr' saveenv Signed-off-by: Damir Samardzic <damir.samardzic@sartura.hr>
* mvebu: Get rid of RTC hack for Turris Omnia.Rosen Penev2018-03-311-1/+1
| | | | | | As Solidrun's RTC patch got merged, this hack is no longer needed. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* mvebu: new subtarget cortex A53Tomasz Maciej Nowak2018-03-103-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces new subtarget for Marvell EBU Armada Cortex A53 processor based devices. The first device is Globalscale ESPRESSObin. Some hardware specs: SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53 processor up to 1.2GHz RAM: 512MB, 1GB or 2GB DDR3 Storage: SATA interface µSD card slot with footprint for an optional 4GB EMMC 4MB SPI NOR flash for bootloader Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports Connectors: USB 3.0 USB 2.0 µUSB port connected to PL2303SA (USB to serial bridge controller) for UART access Expansion: 2x 46-pin GPIO headers for accessories and shields with I2C, GPIOs, PWM, UART, SPI, MMC, etc MiniPCIe slot Misc: Reset button, JTAG interface Currently booting only from µSD card is supported. The boards depending on date of dispatch can come with various U-Boot versions. For the newest version 2017.03-armada-17.10 no manual intervention should be needed to boot OpenWrt image. For the older ones it's necessary to modify default U-Boot environment: 1. Interrupt boot process to run U-Boot command line, 2. Run following commands: (for version 2017.03-armada-17.06 and 2017.03-armada-17.08) setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000" saveenv (for version 2015.01-armada-17.02 and 2015.01-armada-17.04) setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait" setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}" saveenv 3. Poweroff, insert SD card with OpenWrt image, boot and enjoy. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: add support for Turris OmniaRyan Mounce2018-03-104-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for the Turris Omnia and builds an eMMC sysupgrade image in the same format as the SolidRun ClearFog. An initramfs image in the simple yet Omnia-specific 'medkit' image format is also built in order to ease the initial flashing process. Notable hardware support omissions are support for switching between SFP cage and copper PHY, and RGB LED control. Due to a current limitation of DSA, only 1/2 CPU switch uplinks are used. Specifications: - Marvell Armada 385 1.6GHz dual-core ARMv7 CPU - 1GB DDR3 RAM - 8GB eMMC Flash - 5x Gigabit LAN via Marvell 88E6176 Switch (2x RGMII CPU ports) - 1x switchable RJ45 (88E1514 PHY) / SFP SGMII WAN - 2x USB 3.0 - 12x dimmable RGB LEDs controlled by independent MCU - 3x Mini PCIe slots - Optional Compex WLE200N2 Mini PCIe AR9287 2x2 802.11b/g/n (2.4GHz) - Optional Compex WLE900VX Mini PCIe QCA9880 3x3 802.11ac (2.4 / 5GHz) - Optional Quectel EC20 Mini PCIe LTE modem Flash instructions: If the U-Boot environment has been modified previously (likely manually via serial console), first use serial to reset the default environment. => env default -a => saveenv Method 1 - USB 'medkit' image w/o serial - Copy openwrt-mvebu-turris-omnia-sysupgrade.img.gz and omnia-medkit-openwrt-mvebu-turris-omnia-initramfs.tar.gz to the root of a USB flash drive formatted with FAT32 / ext2/3/4 / btrfs / XFS. Note that the medkit MUST be named omnia-medkit*.tar.gz - Disconnect other USB devices from the Omnia and connect the flash drive to either USB port. - Power on the Omnia and hold down the rear reset button until 4 LEDs are illuminated, then release. - Wait approximately 2 minutes for the Turris Omnia to flash itself with the temporary image, during which LEDs will change multiple times. - Connect a computer to a LAN port of the Turris Omnia with a DHCP client - (if necessary) ssh-keygen -R 192.168.1.1 - ssh root@192.168.1.1 $ mount /dev/sda1 /mnt $ sysupgrade /mnt/openwrt-mvebu-turris-omnia-sysupgrade.img.gz - Wait another minute for the final OpenWrt image to be flashed. The Turris Omnia will reboot itself and you can remove the flash drive. Method 2 - TFTP w/ serial - Extract omnia-medkit-openwrt-mvebu-turris-omnia-initramfs.tar.gz and copy dtb + zImage to your TFTP server (rename if desired) - Connect Turris Omnia WAN port to DHCP-enabled network with TFTP server - Connect serial console and interrupt U-Boot => dhcp => setenv serverip <tftp_server_ip_here> => tftpboot 0x01000000 zImage => tftpboot 0x02000000 dtb => bootz 0x01000000 - 0x02000000 - OpenWrt will now boot from ramdisk - Download openwrt-mvebu-turris-omnia-sysupgrade.img.gz to /tmp/ $ sysupgrade /tmp/openwrt-mvebu-turris-omnia-sysupgrade.img.gz - Wait another minute for the final OpenWrt image to be flashed. The Turris Omnia will reboot itself. Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
* mvebu: base-files: moving on from net-toolsTomasz Maciej Nowak2018-03-021-4/+4
| | | | | | | Remove dependency on net-tools, replacing calls to ifconfig with iproute equivalent, in functions changing interface MAC addresses. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: rename clearfog sysupgrade script and functionsTomasz Maciej Nowak2018-03-022-5/+5
| | | | | | | | Cosmetic name change of ClearFog sysupgrade script and its functions to more generic sdcard. This way it won't be confusing for other future device additions. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: remove fs declaration in mount commandsTomasz Maciej Nowak2018-03-022-2/+3
| | | | | | | Allows to have other file system for boot partition without breaking sysupgrade. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* treewide: remove obsolete sysupgrade watchdog killMathias Kresin2018-02-161-10/+0
| | | | | | | | | The watchdog kill command was meant for busybox watchdog. Busybox watchdog was replaced by the procd watchdog mid 2013 with commit df7ce9301a25 ("busybox: disable the watchdog utility by default"), which makes the kill command obsolete since quite some time. Signed-off-by: Mathias Kresin <dev@kresin.me>
* mvebu: Migrate uci config to new PCIe pathHauke Mehrtens2018-02-131-0/+41
| | | | | | | | | | | | | | | | | | | | The name of the PCIe controller node in device tree changed between kernel 4.9 and kernel 4.14. Migrate the configuration when an update from kernel 4.9 to 4.14 or back is done to the new name to make the existing wifi configuration compatible with the new names. This replaces the "pcie-controller" part with "pcie" on all nodes if the file exists in sys fs. This is not done in the uci-defualts, because they are getting executed to late in the boot process. The kernel module gets loaded before the uci-defaults scripts are executed. When the mwlwifi driver gets loaded it will trigger an event via hotplug to detect new devices and as the paths are not in the uci configuration they will be added again. When the migration is done before the script will detect that they are already there. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mvebu: Fix ClearFog sysupgrade board definitionsRyan Mounce2017-10-151-5/+2
| | | | | | | Remove redundancy for platform_do_upgrade_clearfog Fix platform_copy_config_clearfog to reflect -base/-pro split Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
* mvebu: Sort 02_network alphabeticallyRyan Mounce2017-10-151-6/+6
| | | | Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
* treewide: drop target board_name functionsMathias Kresin2017-07-151-9/+0
| | | | | | They are not used any longer. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: use the generic board_name functionMathias Kresin2017-07-159-25/+14
| | | | | | Use the generic function instead ot the target specific ones. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: do board detection during preinitMathias Kresin2017-07-152-1/+9
| | | | | | Do the board detection during preinit to unify it across all targets. Signed-off-by: Mathias Kresin <dev@kresin.me>