u-boot/board/gateworks/venice
Tim Harvey c9f7ef37f9 board: gateworks: venice: add imx8mm-gw7901 support
The Gateworks GW7901 is an ARM based single board computer (SBC)
featuring:
 - i.MX8M Mini SoC
 - LPDDR4 DRAM
 - eMMC FLASH
 - SPI FRAM
 - Gateworks System Controller (GSC)
 - Atmel ATECC Crypto Authentication
 - USB 2.0
 - Microchip GbE Switch
 - Multiple multi-protocol RS232/RS485/RS422 Serial ports
 - onboard 802.11ac WiFi / BT
 - microSD socket
 - miniPCIe socket with PCIe, USB 2.0 and dual SIM sockets
 - Wide range DC power input
 - 802.3at PoE

To add support for this board:
 - add dts from Linux (accepted for v5.14)
 - add SPL PMIC config

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-07-10 18:12:41 +02:00
..
gsc.c board: gateworks: venice: fix gsc_get_dev 2021-04-08 20:29:53 +02:00
gsc.h board: gateworks: imx8mm: Add Gateworks Venice board support 2021-03-03 14:15:02 +01:00
imx8mm_venice.c board: gateworks: imx8mm: Add Gateworks Venice board support 2021-03-03 14:15:02 +01:00
Kconfig board: gateworks: imx8mm: Add Gateworks Venice board support 2021-03-03 14:15:02 +01:00
lpddr4_timing.c board: gateworks: imx8mm: Add Gateworks Venice board support 2021-03-03 14:15:02 +01:00
lpddr4_timing.h board: gateworks: imx8mm: Add Gateworks Venice board support 2021-03-03 14:15:02 +01:00
MAINTAINERS board: gateworks: imx8mm: Add Gateworks Venice board support 2021-03-03 14:15:02 +01:00
Makefile board: gateworks: imx8mm: Add Gateworks Venice board support 2021-03-03 14:15:02 +01:00
README board: gateworks: imx8mm: Add Gateworks Venice board support 2021-03-03 14:15:02 +01:00
spl.c board: gateworks: venice: add imx8mm-gw7901 support 2021-07-10 18:12:41 +02:00

U-Boot for the Gateworks i.MX8M Mini Venice Development Kit boards

Quick Start
===========
- Build the ARM Trusted firmware binary
- Get ddr firmware
- Build U-Boot
- Flash to eMMC
- Boot

Get and Build the ARM Trusted firmware
======================================
$ git clone https://source.codeaurora.org/external/imx/imx-atf
$ git checkout imx_5.4.47_2.2.0
$ make PLAT=imx8mm CROSS_COMPILE=aarch64-linux-gnu- bl31
$ cp build/imx8mm/release/bl31.bin .

Get the DDR Firmware
====================
$ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin
$ chmod +x firmware-imx-8.9.bin
$ ./firmware-imx-8.9.bin
$ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4*.bin .

Build U-Boot
============
$ make imx8mm_venice_defconfig
$ make flash.bin CROSS_COMPILE=aarch64-linux-gnu- ATF_LOAD_ADDR=0x920000

Update eMMC
===========
=> tftpboot $loadaddr flash.bin
=> setexpr blkcnt $filesize + 0x1ff && setexpr blkcnt $blkcnt / 0x200
=> mmc dev 2 && mmc write $loadaddr 0x42 $blkcnt