Marvell ARMADA 8040 MACCHIATOBin Quick User Guide
Introduction
This page offers information on how to get a quick start with your MACCHIATObin board, boot it for the first time and make sure everything is working fine. For instructions on how to compile system components and boot them with your own build binaries, see Software Section.
I/O ports and connectors
First, let us see what ports and connectors are available on the MACCHIATObin board. Below is a picture of the MACCHIATObin from top view:
For the detail settings of the on-board DIP switches and the pin out information of the connectors, please find them out on the Overview Page.
Prerequisites
Here is what you will need to power up the board:
- Linux or Windows PC
- MACCHIATObin board
- 12V power adapter
- micro USB cable
- IP router or IP switch
- USB 3.0/2.0 Flash disk (optional)
Your MACCHIATObin unit should come with a preprogrammed Buildroot file system in its on-board eMMC storage. If that is not the case or you want to flash a different kernel or file system to the board, check out the Software Section.
Connecting
Connecting various peripherals to the board functions as following:
- Plug your power adapter to the 12V DC Jack.
- Connect your PC to your board by plugging the micro USB cable to a USB port on your laptop/computer and plugging the other end to MicroUSB port on MACCHIATObin.
- Connect one end of an Ethernet cable to the RJ45 1GbE port on your MACCHIATObin and the other end to your IP router or IP switch.
- (Optional) If you are trying to use the USB storage devices, connect the USB stick to the USB 3.0 port on the MACCHIATObin.
Serial connection
Regarding step 2 from above, we will use serial connection to access console on MACCHIATObin. Follow the tutorial for your OS to make sure you have everything needed:
Start using MACCHIATObin
Booting
When the MACCHIATObin starts to boot, you can check the ATF (ARM Trusted Firmware) & U-Boot version:
BootROM - 2.03 Starting CP-1 IOROM 1.07 Booting from SPI NOR flash 1 (0x32) Found valid image at boot postion 0x000 lNOTICE: Starting binary extension NOTICE: Gathering DRAM information mv_ddr: mv_ddr-armada-17.02.0-g42da6da (Mar 15 2017 - 13:30:32) mv_ddr: completed successfully lBooting Trusted Firmware BL1: v1.2(release):armada-17.02.0: BL1: Built : 13:30:36, Mar 15 2017 NOTICE: BL1: Booting BL2 lNOTICE: BL2: v1.2(release):armada-17.02.0: NOTICE: BL2: Built : 13:30:37, Mar 15 2017 NOTICE: BL1: Booting BL31 lNOTICE: BL31: v1.2(release):armada-17.02.0: NOTICE: BL31: Built : 13:30:38, Mar 15 2017 l U-Boot 2015.01-armada-17.02.0-g0f680c8 (Mar 15 2017 - 13:12:27)
Then, U-Boot prints out the system settings and serdes configurations:
I2C: ready DRAM: 15.8 GiB Board: MACCHIATOBin-8040 Clock: CPU 1300 [MHz] DDR 800 [MHz] FABRIC 800 [MHz] MSS 200 [MHz] DDR 64 Bit width LLC Enabled (Exclusive Mode) Comphy chip #0: Comphy-0: PEX0 Comphy-1: PEX0 Comphy-2: PEX0 Comphy-3: PEX0 Comphy-4: KR Comphy-5: SATA1 Comphy chip #1: Comphy-0: SGMII1 1.25 Gbps Comphy-1: SATA0 Comphy-2: USB3_HOST0 Comphy-3: SATA1 Comphy-4: KR Comphy-5: SGMII2 1.25 Gbps
The MACCHIATObin is programmed to auto load the kernel and Buildroot file system stored in the on-board eMMC out-of-the-box.
Check the log message on the console during the kernel boot and we will be prompted with the Buildroot login:
Welcome to Buildroot buildroot login: root
We login with root where no password is needed.
Once in Buildroot, we can check the kernel version using the uname -a command:
# uname -a Linux buildroot 4.4.8-devel-17.01.1-01388-ge401441-dirty #55 SMP PREEMPT Tue Feb 28 13:44:53 IST 2017 aarch64 GNU/Linux
Initial network setup
First thing we want for now is to configure MACCHIATObin to have network access, that is, acquire an IP address through the Ethernet interface . Connect one end of an Ethernet cable to the RJ45 1GbE port on MACCHIATObin and the other end to your router or IP switch. In the Buildroot shell insert the following commands to configure eth2 interface to use DHCP for obtaining an IP address:
# dhclient eth2 [ 16.745901] mvpp2 f4000000.ppv22 eth2: link up
using ifconfig command we can verify that the IP address has been obtained, e.g.:
# ifconfig eth2 Link encap:Ethernet HWaddr 00:00:00:00:00:05 inet addr:10.82.40.222 Bcast:10.82.43.255 Mask:255.255.252.0 inet6 addr: fe80::200:ff:fe00:5%739579584/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:167 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:2048 RX bytes:24424 (23.8 KiB) TX bytes:1332 (1.3 KiB) Interrupt:136 Memory:f4000000-f408ffff lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1%739580736/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:140 (140.0 B) TX bytes:140 (140.0 B)
we can also ping any IP address on the web to check our Internet connection, e.g.
# ping www.google.com PING www.google.com (172.217.27.164): 56 data bytes 64 bytes from 172.217.27.164: seq=0 ttl=49 time=114.204 ms 64 bytes from 172.217.27.164: seq=1 ttl=49 time=113.781 ms 64 bytes from 172.217.27.164: seq=2 ttl=49 time=118.081 ms 64 bytes from 172.217.27.164: seq=3 ttl=49 time=113.781 ms ^C --- www.google.com ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 113.781/114.961/118.081 ms
USB Interface
There is one USB 3.0 port available on the MACCHIATObin board, your may plug in either USB3.0 stick or USB2.0 stick to this port. Example detection output from Buildroot when a USB3.0 device is plugged in:
# [ 87.175751] usb 2-1: new SuperSpeed USB device number 2 using xhci-hcd [ 87.297072] usb-storage 2-1:1.0: USB Mass Storage device detected [ 87.303349] scsi host5: usb-storage 2-1:1.0 [ 88.367846] scsi 5:0:0:0: Direct-Access Kingston DataTraveler 3.0 PMAP PQ: 0 ANSI: 6 [ 89.343260] sd 5:0:0:0: [sda] 15364416 512-byte logical blocks: (7.87 GB/7.33 GiB) [ 89.350981] sd 5:0:0:0: [sda] Write Protect is off [ 89.355949] sd 5:0:0:0: [sda] No Caching mode page found [ 89.361294] sd 5:0:0:0: [sda] Assuming drive cache: write through [ 89.396108] sda: sda1 [ 89.399340] sd 5:0:0:0: [sda] Attached SCSI removable disk
Additionally, you can use lsusb command in the console to get information on devices connected to USB buses:
# lsusb Bus 002 Device 002: ID 0951:1666 Bus 001 Device 001: ID 1d6b:0002 Bus 002 Device 001: ID 1d6b:0003
Checking reset key
After you press the Reset Button on your MACCHIATObin board, the system should reboot:
BootROM - 2.03 Starting CP-1 IOROM 1.07 Booting from SPI NOR flash 1 (0x32) Found valid image at boot postion 0x000 lNOTICE: Starting binary extension NOTICE: Gathering DRAM information mv_ddr: mv_ddr-armada-17.02.0-g42da6da (Mar 15 2017 - 13:30:32) mv_ddr: completed successfully Booting Trusted Firmware BL1: v1.2(release):armada-17.02.0: BL1: Built : 13:30:36, Mar 15 2017 NOTICE: BL1: Booting BL2 lNOTICE: BL2: v1.2(release):armada-17.02.0: NOTICE: BL2: Built : 13:30:37, Mar 15 2017 NOTICE: BL1: Booting BL31 lNOTICE: BL31: v1.2(release):armada-17.02.0: NOTICE: BL31: Built : 13:30:38, Mar 15 2017 l U-Boot 2015.01-armada-17.02.0-g0f680c8 (Mar 15 2017 - 13:12:27) I2C: ready DRAM: 15.8 GiB Board: MACCHIATOBin-8040 Clock: CPU 1300 [MHz] DDR 800 [MHz] FABRIC 800 [MHz] MSS 200 [MHz] DDR 64 Bit width LLC Enabled (Exclusive Mode) Comphy chip #0: Comphy-0: PEX0 Comphy-1: PEX0 Comphy-2: PEX0 Comphy-3: PEX0 Comphy-4: KR Comphy-5: SATA1 Comphy chip #1: Comphy-0: SGMII1 1.25 Gbps Comphy-1: SATA0 Comphy-2: USB3_HOST0 Comphy-3: SATA1 Comphy-4: KR Comphy-5: SGMII2 1.25 Gbps