u-boot/board/gateworks/venice
Tim Harvey 2395625209 board: gateworks: venice: add imx8mp-venice-gw740x support
The GW74xx is based on the i.MX 8M Plus SoC featuring:
 - LPDDR4 DRAM
 - eMMC FLASH
 - Gateworks System Controller
 - PCIe Gen 3.0 switch (build option)
 - USB 3.0 HUB
 - USB Type-C front panel connector
 - GPS
 - 3-axis accelerometer
 - CAN bus
 - 6x GbE RJ45 front-panel jacks
  - 1x IMX8M FEC RGMII GbE (with Passive PoE)
  - 5x IMX8M EQOS RGMII 6 port GbE Switch
    (1x with 802.3af class 5 Active PoE)
 - RS232/RS485/RS422 serial transceiver
 - MIPI header (DSI/CSI/GPIO/PWM/I2S)
 - DigI/O header (UART/GPIO/I2C/ADC)
 - 802.11ac WiFi
 - Bluetooth BLE
 - 3x MiniPCIe sockets with PCI/USB
 - 1x M.2 Socket with USB2.0, PCIe, and dual-SIM
 - PMIC
 - Wide range DC input supply (8V to 60V DC)

Do the following to add support for this and future imx8mp-venice boards:
 - add dts
 - add DRAM config
 - add PMIC config
 - add IMX8MP support in spl.c and venice.c

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-04-21 12:44:24 +02:00
..
eeprom.c board: gateworks: venice: add imx8mp-venice-gw740x support 2022-04-21 12:44:24 +02:00
eeprom.h board: gateworks: venice: use common GSC driver 2022-04-21 12:44:23 +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
imximage-8mp-lpddr4.cfg board: gateworks: venice: add imx8mp-venice-gw740x support 2022-04-21 12:44:24 +02:00
Kconfig board: gateworks: venice: add imx8mp-venice-gw740x support 2022-04-21 12:44:24 +02:00
lpddr4_timing.h board: gateworks: venice: add imx8mp-venice-gw740x support 2022-04-21 12:44:24 +02:00
lpddr4_timing_imx8mm.c board: gateworks: venice: add imx8mm-gw7903 support 2022-04-13 09:55:26 +02:00
lpddr4_timing_imx8mm_512mb.c board: gateworks: venice: add imx8mm-gw7903 support 2022-04-13 09:55:26 +02:00
lpddr4_timing_imx8mn.c board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
lpddr4_timing_imx8mp.c board: gateworks: venice: add imx8mp-venice-gw740x support 2022-04-21 12:44:24 +02:00
MAINTAINERS board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
Makefile board: gateworks: venice: add imx8mp-venice-gw740x support 2022-04-21 12:44:24 +02:00
README board: gateworks: venice: add imx8mn-gw7902 support 2022-02-19 14:46:54 +01:00
spl.c board: gateworks: venice: add imx8mp-venice-gw740x support 2022-04-21 12:44:24 +02:00
venice.c board: gateworks: venice: add imx8mp-venice-gw740x support 2022-04-21 12:44:24 +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 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