mvebu: add support for MACCHIATObin Single Shot

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>
This commit is contained in:
Tomasz Maciej Nowak 2020-07-10 19:35:22 +02:00 committed by Adrian Schmutzler
parent 52cdd6185e
commit 2dc5ce622a
4 changed files with 28 additions and 7 deletions

View File

@ -24,7 +24,8 @@ globalscale,espressobin|\
globalscale,espressobin-emmc|\ globalscale,espressobin-emmc|\
globalscale,espressobin-v7|\ globalscale,espressobin-v7|\
globalscale,espressobin-v7-emmc|\ 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" ubootenv_add_uci_config "/dev/mtd0" "0x3f0000" "0x10000" "0x10000" "1"
;; ;;
linksys,wrt1200ac|\ linksys,wrt1200ac|\

View File

@ -11,7 +11,8 @@ board_config_update
board=$(board_name) board=$(board_name)
case "$board" in case "$board" in
marvell,armada8040-mcbin-doubleshot) marvell,armada8040-mcbin-doubleshot|\
marvell,armada8040-mcbin-singleshot)
ucidef_set_interfaces_lan_wan "eth0 eth1 eth3" "eth2" ucidef_set_interfaces_lan_wan "eth0 eth1 eth3" "eth2"
;; ;;
marvell,armada8040-db) marvell,armada8040-db)

View File

@ -9,7 +9,8 @@ REQUIRE_IMAGE_METADATA=1
platform_check_image() { platform_check_image() {
case "$(board_name)" in case "$(board_name)" in
marvell,armada8040-mcbin-doubleshot) marvell,armada8040-mcbin-doubleshot|\
marvell,armada8040-mcbin-singleshot)
platform_check_image_sdcard "$1" platform_check_image_sdcard "$1"
;; ;;
*) *)
@ -20,7 +21,8 @@ platform_check_image() {
platform_do_upgrade() { platform_do_upgrade() {
case "$(board_name)" in case "$(board_name)" in
marvell,armada8040-mcbin-doubleshot) marvell,armada8040-mcbin-doubleshot|\
marvell,armada8040-mcbin-singleshot)
platform_do_upgrade_sdcard "$1" platform_do_upgrade_sdcard "$1"
;; ;;
*) *)
@ -30,7 +32,8 @@ platform_do_upgrade() {
} }
platform_copy_config() { platform_copy_config() {
case "$(board_name)" in case "$(board_name)" in
marvell,armada8040-mcbin-doubleshot) marvell,armada8040-mcbin-doubleshot|\
marvell,armada8040-mcbin-singleshot)
platform_copy_config_sdcard platform_copy_config_sdcard
;; ;;
esac esac

View File

@ -16,14 +16,30 @@ define Device/marvell_armada8040-db
endef endef
TARGET_DEVICES += marvell_armada8040-db TARGET_DEVICES += marvell_armada8040-db
define Device/marvell_macchiatobin define Device/marvell_macchiatobin-doubleshot
$(call Device/Default-arm64) $(call Device/Default-arm64)
DEVICE_VENDOR := SolidRun DEVICE_VENDOR := SolidRun
DEVICE_MODEL := MACCHIATObin DEVICE_MODEL := MACCHIATObin
DEVICE_VARIANT := Double Shot
DEVICE_ALT0_VENDOR := SolidRun DEVICE_ALT0_VENDOR := SolidRun
DEVICE_ALT0_MODEL := Armada 8040 Community Board DEVICE_ALT0_MODEL := Armada 8040 Community Board
DEVICE_ALT0_VARIANT := Double Shot
DEVICE_PACKAGES += kmod-i2c-mux-pca954x DEVICE_PACKAGES += kmod-i2c-mux-pca954x
DEVICE_DTS := armada-8040-mcbin DEVICE_DTS := armada-8040-mcbin
SUPPORTED_DEVICES := marvell,armada8040-mcbin-doubleshot marvell,armada8040-mcbin SUPPORTED_DEVICES := marvell,armada8040-mcbin-doubleshot marvell,armada8040-mcbin
endef 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