u-boot/board/gateworks/venice
Tim Harvey 3041e094e4 board: gateworks: venice: poll I2C lines to wait for GSC firmware
In some situations the GSC firmware where the EEPROM containing the
model and DRAM configuration may not be ready by the time the SoC
is ready to talk to it over I2C.

Instead of a hard delay, poll the I2C lines to wait until they are
released to avoid the I2C drivers 'Arbitation lost' error message.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-01-31 18:08:23 +01:00
..
eeprom.c board: gateworks: venice: rename eeprom_init 2022-10-20 17:35:51 +02:00
eeprom.h board: gateworks: venice: rename eeprom_init 2022-10-20 17:35:51 +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 imx: Suggest the NXP ATF github repo 2023-01-31 16:02:05 +01:00
spl.c board: gateworks: venice: poll I2C lines to wait for GSC firmware 2023-01-31 18:08:23 +01:00
venice.c board: gateworks: venice: remove redundance adjustment of thermal trip points 2022-11-08 17:35:00 +01:00
venice.env imx: imx8m{m,n,p}_venice: migrate to CONFIG_EXTRA_ENV_TEXT 2022-11-08 17:35:00 +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://github.com/nxp-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