u-boot/board/gateworks/venice
Tim Harvey 2cb156e126 board: gateworks: venice: add imx8mn-gw7902 support
The GW7902 is based on the i.MX 8M Mini / Nano SoC featuring:
 - LPDDR4 DRAM
 - eMMC FLASH
 - Gateworks System Controller
 - LTE CAT M1 modem
 - USB 2.0 HUB
 - M.2 Socket with USB2.0, PCIe, and dual-SIM
 - IMX8M FEC
 - PCIe based GbE
 - RS232/RS485/RS422 serial transceiver
 - GPS
 - CAN bus
 - WiFi / Bluetooth
 - MIPI header (DSI/CSI/GPIO/PWM/I2S)
 - PMIC

To add support for the i.MX8M Nano GW7902:
 - Add imx8mn-venice dts/defconfig/include
 - Add imx8mn-gw7902 dts
 - Add imx8mn-2gb lpddr4 dram configs
 - Add misc support for IMX8M Nano SoC
 - rename imx8mm-venice.c to venice.c as it is no longer imx8mm specific
 - update README with differences for IMX8MN vs IMX8MM

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
2022-02-19 14:46:54 +01:00
..
gsc.c board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
gsc.h board: gateworks: venice: add board model/serial# to env 2021-08-09 14:46:50 +02:00
imximage-8mm-lpddr4.cfg imx: Don't define __ASSEMBLY__ in source files 2022-02-08 23:07:58 -05:00
imximage-8mn-lpddr4.cfg board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
Kconfig board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
lpddr4_timing.h board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
lpddr4_timing_imx8mm.c board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
lpddr4_timing_imx8mn.c board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
MAINTAINERS board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
Makefile board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
README board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
spl.c board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
venice.c board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01: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 CROSS_COMPILE=aarch64-linux-gnu-

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