Commit Graph

21 Commits

Author SHA1 Message Date
Damir Samardzic
5b7b0c68c7 mvebu: initial support for Marvell Armada 7k and 8k DB boards
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>
2018-05-21 18:07:47 +02:00
Damir Samardzic
322a02f666 mvebu: initial support for Marvell Armada 3720 DB board
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>
2018-05-21 18:07:47 +02:00
Michael Gray
bfbdeeb3de mvebu: add support for WRT32X (venom)
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>
2018-05-14 17:20:10 +02:00
Damir Samardzic
2534141322 mvebu: add support for MACCHIATObin (cortex-a72)
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>
2018-03-31 16:13:19 +02:00
Tomasz Maciej Nowak
584d7c53bd mvebu: new subtarget cortex A53
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>
2018-03-10 01:15:22 +01:00
Ryan Mounce
9f3f61a0d9 mvebu: add support for Turris Omnia
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>
2018-03-10 01:15:21 +01:00
Mathias Kresin
e0b9ec8e96 treewide: drop target board_name functions
They are not used any longer.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Mathias Kresin
78cf5eed6e treewide: do board detection during preinit
Do the board detection during preinit to unify it across all targets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-07-15 23:13:34 +02:00
Marko Ratkaj
ee1cee2cac mvebu: add ClearFog Base support
Add support for SolidRun ClearFog Base board.

The base model is a smaller version of ClearFog Pro without
the DSA switch, replacing it with a second copper gigabit
port, and only one PCIe socket.

Signed-off-by: Marko Ratkaj <marko.ratkaj@sartura.hr>
2017-05-14 00:34:03 +02:00
Marko Ratkaj
ec4a8c6dee mvebu: ClearFog renamed upstream to ClearFog Pro
The conventional model is now known as the "Clearfog Pro"

Signed-off-by: Marko Ratkaj <marko.ratkaj@sartura.hr>
2017-05-14 00:34:03 +02:00
Imre Kaloz
3764caa934 mvebu: add support for the Linksys WRT3200ACM (Rango)
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-10-24 08:45:06 +02:00
Luka Perkov
4d966e4dde mvebu: add SolidRun ClearFog A1 support
Signed-off-by: Andrej Vlasic <andrej.vlasic@sartura.hr>

SVN-Revision: 48736
2016-02-17 17:49:26 +00:00
Imre Kaloz
8bb23cfb66 mvebu: add support for the Linksys WRT1900ACS (Shelby)
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 47164
2015-10-08 10:01:30 +00:00
Luka Perkov
76330e9b57 mvebu: better integrate xp-gp
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 45459
2015-04-16 13:53:57 +00:00
Imre Kaloz
2705cda813 mvebu: add support for the Linksys Caiman and Cobra
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 45456
2015-04-16 09:54:39 +00:00
Luka Perkov
a046ce235f mvebu: better integrate 385-ap-db
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 45452
2015-04-15 16:23:10 +00:00
Imre Kaloz
b0ad24f0d5 mvebu: migrate mamba support to the upstreamed code
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 45400
2015-04-12 17:29:50 +00:00
Luka Perkov
cb3d5242ca mvebu: drop preinit script
The /lib/mvebu.sh script can now handle this task.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 41341
2014-06-26 10:21:32 +00:00
Imre Kaloz
f11de38d44 make script executable, add WRT1900AC detection
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 41291
2014-06-20 22:35:09 +00:00
Luka Perkov
26e8e630ef mvebu: add support for the Armada XP GP board (DB-MV784MP-GP)
This Armada XP GP board from Marvell comes with:

* 2GB DDR3 DIMM
* 1GB NAND flash (8-bit interface)
* 16MB NOR flash (16-bot interrface)
* 16MB SPI flash
* SDIO module
* 3 PCIe
* 1 SATA link
* 2 USB EHCI
* 1 internal SSD
* 4 Ethernet Gigabit
* 1 RS232 port over USB

Signed-off-by: Seif Mazareeb <seif.mazareeb@gmail.com>

SVN-Revision: 39568
2014-02-11 02:07:47 +00:00
Florian Fainelli
a286a55c6f mvebu: add board detection scripts
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35208
2013-01-17 22:28:48 +00:00