mvebu: add support for MACCHIATObin Single Shot
authorTomasz Maciej Nowak <tomek_n@o2.pl>
Fri, 10 Jul 2020 17:35:22 +0000 (19:35 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 12 Jul 2020 00:06:02 +0000 (02:06 +0200)
Add support for Marvell MACCHIATObin Single Shot, cortex-a72 based
Marvell ARMADA 8040 Community board. Single Shot was broken as the
device tree is different on the Double Shot Board.

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) 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

Installation:

Write the Image to your Micro SD Card and insert it in the
MACCHIATObin Single Shot SD Card Slot.

In the U-Boot Environment:
   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 (hanging lines indicate wrapped one-line command):
      setenv fdt_name armada-8040-mcbin-singleshot.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

   On newer Bootloaders (18.12) the Variables have been changed, use:
      setenv fdt_name armada-8040-mcbin-singleshot.dtb
      setenv image_name Image
      setenv bootcmd 'mmc dev 1; ext4load mmc 1:1 $kernel_addr_r
         $image_name;ext4load mmc 1:1 $fdt_addr_r $fdt_name;setenv
         bootargs $console root=/dev/mmcblk1p2 rw rootwait; booti
         $kernel_addr_r - $fdt_addr_r'

Reported-by: Alexandra Alth <alexandra@alth.de>
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
Tested-by: Alexandra Alth <alexandra@alth.de>
[add specs and installation as provided by Alexandra Alth]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
package/boot/uboot-envtools/files/mvebu
target/linux/mvebu/cortexa72/base-files/etc/board.d/02_network
target/linux/mvebu/cortexa72/base-files/lib/upgrade/platform.sh
target/linux/mvebu/image/cortexa72.mk

index 590000aae75e8bcf3ff7b98d5f15a5b781f383fb..8ed1f87ead4660438389858b1427cb5c250f9463 100644 (file)
@@ -24,7 +24,8 @@ globalscale,espressobin|\
 globalscale,espressobin-emmc|\
 globalscale,espressobin-v7|\
 globalscale,espressobin-v7-emmc|\
-marvell,armada8040-mcbin-doubleshot)
+marvell,armada8040-mcbin-doubleshot|\
+marvell,armada8040-mcbin-singleshot)
        ubootenv_add_uci_config "/dev/mtd0" "0x3f0000" "0x10000" "0x10000" "1"
        ;;
 linksys,wrt1200ac|\
index 32053d74e85fa680f498eb4bc05c266bfac050a3..9ab3c8174d9627d3bdfe651e1a36fb9af20059e8 100755 (executable)
@@ -11,7 +11,8 @@ board_config_update
 board=$(board_name)
 
 case "$board" in
-marvell,armada8040-mcbin-doubleshot)
+marvell,armada8040-mcbin-doubleshot|\
+marvell,armada8040-mcbin-singleshot)
        ucidef_set_interfaces_lan_wan "eth0 eth1 eth3" "eth2"
        ;;
 marvell,armada8040-db)
index 75d2933f058f4a11a3ec8557ab85aaeaa246ebc1..04ea634097a12cf8606d19b6d7efeefd10a873fe 100755 (executable)
@@ -9,7 +9,8 @@ REQUIRE_IMAGE_METADATA=1
 
 platform_check_image() {
        case "$(board_name)" in
-       marvell,armada8040-mcbin-doubleshot)
+       marvell,armada8040-mcbin-doubleshot|\
+       marvell,armada8040-mcbin-singleshot)
                platform_check_image_sdcard "$1"
                ;;
        *)
@@ -20,7 +21,8 @@ platform_check_image() {
 
 platform_do_upgrade() {
        case "$(board_name)" in
-       marvell,armada8040-mcbin-doubleshot)
+       marvell,armada8040-mcbin-doubleshot|\
+       marvell,armada8040-mcbin-singleshot)
                platform_do_upgrade_sdcard "$1"
                ;;
        *)
@@ -30,7 +32,8 @@ platform_do_upgrade() {
 }
 platform_copy_config() {
        case "$(board_name)" in
-       marvell,armada8040-mcbin-doubleshot)
+       marvell,armada8040-mcbin-doubleshot|\
+       marvell,armada8040-mcbin-singleshot)
                platform_copy_config_sdcard
                ;;
        esac
index 6e52109237cfb2ca9e3304cbaeb0cf44502389f4..1440c07a0b5f00c71aa53ca76e93ad9dfbbfab1f 100644 (file)
@@ -16,14 +16,30 @@ define Device/marvell_armada8040-db
 endef
 TARGET_DEVICES += marvell_armada8040-db
 
-define Device/marvell_macchiatobin
+define Device/marvell_macchiatobin-doubleshot
   $(call Device/Default-arm64)
   DEVICE_VENDOR := SolidRun
   DEVICE_MODEL := MACCHIATObin
+  DEVICE_VARIANT := Double Shot
   DEVICE_ALT0_VENDOR := SolidRun
   DEVICE_ALT0_MODEL := Armada 8040 Community Board
+  DEVICE_ALT0_VARIANT := Double Shot
   DEVICE_PACKAGES += kmod-i2c-mux-pca954x
   DEVICE_DTS := armada-8040-mcbin
   SUPPORTED_DEVICES := marvell,armada8040-mcbin-doubleshot marvell,armada8040-mcbin
 endef
-TARGET_DEVICES += marvell_macchiatobin
+TARGET_DEVICES += marvell_macchiatobin-doubleshot
+
+define Device/marvell_macchiatobin-singleshot
+  $(call Device/Default-arm64)
+  DEVICE_VENDOR := SolidRun
+  DEVICE_MODEL := MACCHIATObin
+  DEVICE_VARIANT := Single Shot
+  DEVICE_ALT0_VENDOR := SolidRun
+  DEVICE_ALT0_MODEL := Armada 8040 Community Board
+  DEVICE_ALT0_VARIANT := Single Shot
+  DEVICE_PACKAGES += kmod-i2c-mux-pca954x
+  DEVICE_DTS := armada-8040-mcbin-singleshot
+  SUPPORTED_DEVICES := marvell,armada8040-mcbin-singleshot
+endef
+TARGET_DEVICES += marvell_macchiatobin-singleshot