From 322a02f66607be5fa774f9187003631494bc2809 Mon Sep 17 00:00:00 2001 From: Damir Samardzic Date: Tue, 8 May 2018 13:32:21 +0200 Subject: [PATCH] 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 --- .../linux/mvebu/base-files/etc/board.d/02_network | 3 +++ target/linux/mvebu/base-files/lib/mvebu.sh | 3 +++ target/linux/mvebu/image/armada-3720-db.bootscript | 10 ++++++++++ target/linux/mvebu/image/cortex-a53.mk | 13 +++++++++++++ 4 files changed, 29 insertions(+) create mode 100644 target/linux/mvebu/image/armada-3720-db.bootscript diff --git a/target/linux/mvebu/base-files/etc/board.d/02_network b/target/linux/mvebu/base-files/etc/board.d/02_network index 66d35dda70..1dba615e0b 100755 --- a/target/linux/mvebu/base-files/etc/board.d/02_network +++ b/target/linux/mvebu/base-files/etc/board.d/02_network @@ -46,6 +46,9 @@ armada-xp-gp) globalscale,espressobin) ucidef_set_interfaces_lan_wan "lan0 lan1" "wan" ;; +marvell,armada-3720-db) + ucidef_set_interfaces_lan_wan "eth1" "eth0" + ;; marvell,armada8040-mcbin) ucidef_set_interfaces_lan_wan "eth0 eth1 eth3" "eth2" ;; diff --git a/target/linux/mvebu/base-files/lib/mvebu.sh b/target/linux/mvebu/base-files/lib/mvebu.sh index 33ac832399..b908f4813e 100755 --- a/target/linux/mvebu/base-files/lib/mvebu.sh +++ b/target/linux/mvebu/base-files/lib/mvebu.sh @@ -20,6 +20,9 @@ mvebu_board_detect() { *"Globalscale Marvell ESPRESSOBin Board") name="globalscale,espressobin" ;; + *"Marvell Armada 3720 Development Board DB-88F3720-DDR3") + name="marvell,armada-3720-db" + ;; *"Marvell 8040 MACHIATOBin") name="marvell,armada8040-mcbin" ;; diff --git a/target/linux/mvebu/image/armada-3720-db.bootscript b/target/linux/mvebu/image/armada-3720-db.bootscript new file mode 100644 index 0000000000..65e39a1af5 --- /dev/null +++ b/target/linux/mvebu/image/armada-3720-db.bootscript @@ -0,0 +1,10 @@ +setenv bootargs "root=PARTUUID=@ROOT@-02 rw rootwait" + +if test -n "${console}"; then + setenv bootargs "${bootargs} ${console}" +fi + +load mmc 0:1 ${fdt_addr} armada-3720-db.dtb +load mmc 0:1 ${kernel_addr} Image + +booti ${kernel_addr} - ${fdt_addr} diff --git a/target/linux/mvebu/image/cortex-a53.mk b/target/linux/mvebu/image/cortex-a53.mk index 711d2c0be8..89c3363448 100644 --- a/target/linux/mvebu/image/cortex-a53.mk +++ b/target/linux/mvebu/image/cortex-a53.mk @@ -13,4 +13,17 @@ define Device/globalscale-espressobin endef TARGET_DEVICES += globalscale-espressobin +define Device/armada-3720-db + KERNEL_NAME := Image + KERNEL := kernel-bin + DEVICE_TITLE := Marvell Armada 3720 Development Board DB-88F3720-DDR3 + DEVICE_PACKAGES := e2fsprogs ethtool mkf2fs kmod-fs-vfat kmod-usb2 kmod-usb3 kmod-usb-storage + IMAGES := sdcard.img.gz + IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata + DEVICE_DTS := armada-3720-db + DTS_DIR := $(DTS_DIR)/marvell + SUPPORTED_DEVICES := marvell,armada-3720-db +endef +TARGET_DEVICES += armada-3720-db + endif