u-boot/board/gateworks/venice
Tim Harvey 52ae8d6cc8 board: gateworks: venice: determine dram size at runtime
The SPL does not update the memory node with the dram size from EEPROM
but instead we can use get_ram_size which does a simple memory test
to determine the available RAM. Update PHYS_SDRAM_SIZE to 4GiB as that
is the max used on the Venice boards.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-03-31 08:27:52 -04: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: determine dram size at runtime 2022-03-31 08:27:52 -04: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