openwrt/target/linux
Robert Marko 78cf3e53b1 mvebu: add Globalscale MOCHAbin
Globalscale MOCHAbin is a Armada 7040 based development board.

Specifications:
* Armada 7040 Quad core ARMv8 Cortex A-72 @ 1.4GHz
* 2 / 4 / 8 GB of DDR4 DRAM
* 16 GB eMMC
* 4MB SPI-NOR (Bootloader)
* 1x M.2-2280 B-key socket (for SSD expansion, SATA3 only)
* 1x M.2-2250 B-key socket (for modems, USB2.0 and I2C only)
* 1x Mini-PCIe 3.0 (x1, USB2.0 and I2C)
* 1x SATA 7+15 socket (SATA3)
* 1x 16-pin (2×8) MikroBus Connector
* 1x SIM card slot (Connected to the mini-PCIe and both M.2 slots)
* 2x USB3.0 Type-A ports via SMSC USB5434B hub
* Cortex 2x5 JTAG
* microUSB port for UART (PL2303GL/PL2303SA onboard)
* 1x 10G SFP+
* 1x 1G SFP (Connected to 88E1512 PHY)
* 1x 1G RJ45 with PoE PD (Connected to 88E1512 PHY)
* 4x 1G RJ45 ports via Topaz 88E6141 switch
* RTC with battery holder (SoC provided, requires CR2032 battery)
* 1x 12V DC IN
* 1x Power switch
* 1x 12V fan header (3-pin, power only)
* 1x mini-PCIe LED header (2x0.1" pins)
* 1x M.2-2280 LED header (2x0.1" pins)
* 6x Bootstrap jumpers
* 1x Power LED (Green)
* 3x Tri-color RGB LEDs (Controllable)
* 1x Microchip ATECC608B secure element

Note that 1G SFP and 1G WAN cannot be used at the same time as they are in
parallel connected to the same PHY.

Installation:

Copy dtb from build_dir to bin/ and run tftpserver there:
$ cp ./build_dir/target-aarch64_cortex-a72_musl/linux-mvebu_cortexa72/image-armada-7040-mochabin.dtb bin/targets/mvebu/cortexa72/
$ in.tftpd -L -s bin/targets/mvebu/cortexa72/

Connect to the device UART via microUSB port and power on the device.

Power on the device and hit any key to stop the autoboot.

Set serverip (host IP) and ipaddr (any free IP address on the same subnet), e.g:
$ setenv serverip 192.168.1.10 # Host
$ setenv ipaddr 192.168.1.15 # Device

Set the ethernet device (Example for the 1G WAN):
$ setenv ethact mvpp2-2

Ping server to confirm network is working:
$ ping $serverip
Using mvpp2-2 device
host 192.168.1.15 is alive

Tftpboot the firmware:
$ tftpboot $kernel_addr_r openwrt-mvebu-cortexa72-globalscale_mochabin-initramfs-kernel.bin
$ tftpboot $fdt_addr_r image-armada-7040-mochabin.dtb

Boot the image:
$ booti $kernel_addr_r - $fdt_addr_r

Once the initramfs is booted, transfer openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img.gz
to /tmp dir on the device.

Gunzip and dd the image:
$ gunzip /tmp/openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img.gz
$ dd if=/tmp/openwrt-mvebu-cortexa72-globalscale_mochabin-squashfs-sdcard.img of=/dev/mmcblk0 && sync

Reboot the device.

Hit any key to stop the autoboot.

Reset U-boot env and set the bootcmd:
$ env default -a
$ setenv bootcmd 'load mmc 0 ${loadaddr} boot.scr && source ${loadaddr}'

Optionally I would advise to edit the console env variable to remove earlycon as that
causes the kernel to never use the driver for the serial console.
Earlycon should be used only for debugging before the kernel can configure the console
and will otherwise cause various issues with the console.

$ setenv console 'console=ttyS0,115200'

Save and reset
$ saveenv
$ reset

OpenWrt should boot from eMMC now.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2021-10-02 16:45:35 +02:00
..
apm821xx kernel: bump 5.4 to 5.4.145 2021-09-13 17:08:17 +02:00
arc770 kernel: move two symbols to the generic kconfigs 2021-08-29 17:07:19 +02:00
archs38 kernel: Add missing kernel config options 2021-09-13 13:04:21 +02:00
armvirt armvirt: switch to Kernel 5.10 2021-10-01 10:46:28 -10:00
at91 kernel: move some drm symbols to generic config 2021-06-13 23:30:10 +02:00
ath25 kernel: bump 5.4 to 5.4.132 2021-07-17 13:21:03 +02:00
ath79 ath79: add support for TP-Link CPE710-v1 2021-09-25 19:28:54 +02:00
bcm27xx kernel: bump 5.10 to 5.10.70 2021-09-30 22:29:33 +01:00
bcm47xx bcm47xx: use device vendor/model variable 2021-09-23 21:45:30 -10:00
bcm53xx kernel: bump 5.10 to 5.10.70 2021-09-30 22:29:33 +01:00
bcm63xx bcm63xx: remove memcpy from mac assignment 2021-09-21 15:46:19 -10:00
bcm4908 kernel: move two symbols to the generic kconfigs 2021-08-29 17:07:19 +02:00
bmips linux: update b53 upstream driver 2021-09-17 10:15:26 +02:00
gemini kernel: bump 5.10 to 5.10.67 2021-09-30 22:29:33 +01:00
generic kernel: bump 5.10 to 5.10.70 2021-09-30 22:29:33 +01:00
imx6 kernel: move two symbols to the generic kconfigs 2021-08-29 17:07:19 +02:00
ipq40xx ipq40xx: add testing support for kernel 5.10 2021-09-25 19:28:54 +02:00
ipq806x kernel: bump 5.10 to 5.10.67 2021-09-30 22:29:33 +01:00
ipq807x kernel: Set CONFIG_RCU_CPU_STALL_TIMEOUT=21 2021-09-09 20:24:12 +02:00
kirkwood kirkwood: increase kernel size of Linksyses 2021-09-13 18:36:15 +02:00
lantiq lantiq: kernel: xway-nand: Move ECC engine setting to new DT binding 2021-10-02 16:45:33 +02:00
layerscape kernel: bump 5.4 to 5.4.145 2021-09-13 17:08:17 +02:00
malta malta: switch to Kernel 5.10 2021-10-01 10:36:24 -10:00
mediatek mediatek: mt7623: bpi-r2: add LED aliases 2021-10-01 23:29:02 +01:00
mpc85xx kernel: move two symbols to the generic kconfigs 2021-08-29 17:07:19 +02:00
mvebu mvebu: add Globalscale MOCHAbin 2021-10-02 16:45:35 +02:00
mxs treewide: switch the timer frequency to 100 Hz 2021-04-21 10:31:10 +01:00
octeon kernel: move two symbols to the generic kconfigs 2021-08-29 17:07:19 +02:00
octeontx kernel: bump 5.10 to 5.10.68 2021-09-30 22:29:33 +01:00
omap kernel: move two symbols to the generic kconfigs 2021-08-29 17:07:19 +02:00
oxnas kernel: bump 5.10 to 5.10.67 2021-09-30 22:29:33 +01:00
pistachio kernel: move two symbols to the generic kconfigs 2021-08-29 17:07:19 +02:00
ramips ramips: add support for Netgear R7450 2021-09-26 15:38:01 +02:00
realtek kernel: bump 5.10 to 5.10.70 2021-09-30 22:29:33 +01:00
rockchip rockchip: fix broken squashfs sysupgrade 2021-09-24 12:28:48 +02:00
sunxi sunxi: add testing Linux 5.10 2021-09-15 19:11:44 +01:00
tegra kernel: Set CONFIG_RCU_CPU_STALL_TIMEOUT=21 2021-09-09 20:24:12 +02:00
uml treewide: switch the timer frequency to 100 Hz 2021-04-21 10:31:10 +01:00
x86 x86: use device vendor/model variable 2021-09-23 21:45:13 -10:00
zynq kernel: move two symbols to the generic kconfigs 2021-08-29 17:07:19 +02:00
Makefile target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00