summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-08imx: add i.MX8MM cpu typePeng Fan
Add i.MX8MM cpu type and related helper functions Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08imx: imx8mm: add clock bindings headerPeng Fan
Import clock bindings header file from Linux 5.3.0-rc2 Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08imx: add IMX8MM kconfig entryPeng Fan
Add IMX8MM kconfig entry Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08imx: add IMX8MQ kconfig entryPeng Fan
Add IMX8MQ kconfig entry, preparing support IMX8MM Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08imx8m: add image cfg for i.MX8MM lpddr4Peng Fan
There is no HDMI on i.MX8MM, so we need to remove HDMI entry, then we could not reuse imximage.cfg, so create a new one. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08ddr: imx8m: fix ddr firmware location when enable SPL OFPeng Fan
With CONFIG_SPL_OF_CONTROL, the device tree will be padded to end of the u-boot-spl-nodtb.bin, however we also put the ddr firmware file to this location, so need to adapt the code with SPL OF and align to 4 bytes to ease copy firmware. Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de> Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08tools: imx8m_image: align spl bin image sizePeng Fan
The loader for the DDR firmware in drivers/ddr/imx/imx8m/helper.c uses a 4-byte-aligned address to load the firmware. In cases where OF is enabled in SPL the dtb will be appended to the SPL binary and can result in a binary that is not aligned correctly. If OF is not enabled in SPL, `_end` is already aligned correctly, but this patch does not hurt. To ensure the correct alignment we use dd to create a temporary file u-boot-spl-pad.bin with the correct padding. Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de> Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08imx: mkimage_fit_atf: Fix FIT image for correct boot orderFrieder Schrempf
Fix the FIT image metadata for i.MX8 to result in the intended boot order (SPL -> ATF -> U-Boot). Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08Kconfig: Set default BUILD_TARGET for ARCH_MX6 with SPLStefan Roese
Use BUILD_TARGET to automatically build "u-boot-with-spl.imx" on MX6 targets with SPL. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Stefano Babic <sbabic@denx.de>
2019-10-08ARM: imx: arch/arm/mach-imx/spl_qspi.cfgStefan Roese
Similar to "spl_sd.cfg", this patch introduces "spl_qspi.cfg" so that all i.MX6 based boards can use it, when they use SPL and QSPI boot mode. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Stefano Babic <sbabic@denx.de>
2019-10-08ARM: imx: Add QSPI boot mode for i.MX6UL/ULLStefan Roese
This patch adds the missing boot mode detection for QSPI boot on i.MX6UL/ULL. Without it, booting with SPL from QSPI NOR does not work. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: Stefano Babic <sbabic@denx.de>
2019-10-08imx: mx6ul_14x14_evk: fix link issueAnatolij Gustschin
Since recent splash changes common code for splashscreen logo should be used instead of adding duplicated code under board directories. mx6ul_9x9_evk and mx6ul_14x14_evk configurations used old board specific logo code and do not link, fix them. Signed-off-by: Anatolij Gustschin <agust@denx.de> Acked-by: Peng Fan <peng.fan@nxp.com>
2019-10-08imx: Kconfig: Reduce default CONFIG_CSF_SIZEBreno Matheus Lima
The default CSF_SIZE defined in Kconfig is too high and SPL cannot fit into the OCRAM in certain cases. The CSF cannot achieve 0x2000 length when using RSA 4K key which is the largest key size supported by HABv4. According to AN12056 "Encrypted Boot on HABv4 and CAAM Enabled Devices" it's recommended to pad CSF binary to 0x2000 and append DEK blob to deploy encrypted boot images. As the maximum DEK blob size is 0x58 we can reduce CSF_SIZE to 0x2060 which should cover both CSF and DEK blob length. Update default_image.c and image.c to align with this change and avoid a U-Boot proper authentication failure in HAB closed devices: Authenticate image from DDR location 0x877fffc0... bad magic magic=0x32 length=0x6131 version=0x38 bad length magic=0x32 length=0x6131 version=0x38 bad version magic=0x32 length=0x6131 version=0x38 spl: ERROR: image authentication fail Fixes: 96d27fb218 (Revert "habv4: tools: Avoid hardcoded CSF size for SPL targets") Reported-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Breno Lima <breno.lima@nxp.com>
2019-10-08imx: enable the reset controller on the i.MX8MQ EVKPatrick Wildt
This patch makes sure that the reset controller driver is compiled for the i.MX8MQ EVK. Signed-off-by: Patrick Wildt <patrick@blueri.se>
2019-10-08imx: add the i.MX8M reset controller nodePatrick Wildt
This patch adds the reset controller node to the i.MX8MQ SoC device tree. Signed-off-by: Patrick Wildt <patrick@blueri.se>
2019-10-08imx: add support for i.MX7/i.MX8MQ reset controllerPatrick Wildt
Add support for the reset controller that's used on the i.MX7D and i.MX8MQ. This will be needed to be able to assert the PCIe reset pins. Bindings taken from Linux, driver implementation mostly taken from Linux and adjusted to U-Boot infrastructure. Signed-off-by: Patrick Wildt <patrick@blueri.se> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2019-10-08imx: add support for i.MX8MQ power domain controllerPatrick Wildt
Add support for the power domain controller that's used on the i.MX8MQ. This will be needed to be able to power on the PCIe controller. Bindings taken from Linux, driver implementation taken from the i.MX8 power domain controller and adjusted for the i.MX8M SoC. Signed-off-by: Patrick Wildt <patrick@blueri.se>
2019-10-08ARM: dts: pcl063: add usdhc reset pin of eMMCParthiban Nallathambi
pcl063 phycore SoM with eMMC also got usdhc reset pin, add reset pin to pinmux. Signed-off-by: Parthiban Nallathambi <pn@denx.de>
2019-10-08imx: mxs: Fix location for the elftosb toolFabio Estevam
The Denx FTP location is no longer reachable. Switch to the Timesys repository instead. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-10-08mx28evk: README: Fix location for the generic mxs READMEFabio Estevam
doc/README.mxs no longer exists. It has been renamed doc/imx/common/mxs.txt, so fix the mx28evk README accordingly. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-10-08imx: wandboard: convert FEC support to DM_ETHAnatolij Gustschin
Remove CONFIG_DM_ETH conversion warning to avoid board removal. Signed-off-by: Anatolij Gustschin <agust@denx.de>
2019-10-08spi: Add support for SPL_OF_PLATDATA to mxs_gpio.c driverLukasz Majewski
After this patch the mxs_gpio.c DM/DTS driver can be used at early SPL to read states of gpio pins (and for example alter the boot flow). It was necessary to adjust its name to 'fsl_imx_2{38}_gpio' to match requirements for SPL_OF_PLATDATA usage. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08mmc: Replace printf with debug call for timeouts in the i.MX28 mxs driverLukasz Majewski
This change replaces printf() with debug() for the notification about commands timeouts. This is done on purpose (also other drivers use such approach - dw_mmc.c, mvebu_mmc.c), as the mmc core code (mmc.c) uses timeouts to assess if one is using sd card or eMMC device. In such situation timeout is a some kind of a "normal" behavior and there shall not be any output to the console. There is no impact on boot time for boards using this driver (even in SPL) when two extra timeouts are returned (no SD card present, only eMMC available). Boot time tested with grabserial: sudo grabserial -b 115200 -d /dev/ttyUSB1 -e 30 -t -m "^U-Boot SPL*" Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08mmc: Convert mxsmmc eMMC driver for i.MX2{38} to DM/DTSLukasz Majewski
This patch converts the mxsmmc driver to support DM/DTS. Moreover, it is also possible to use it in early SPL with SPL_OF_PLATDATA enabled. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08spi: Add support for SPL_OF_PLATDATA to mxs_spi.c driverLukasz Majewski
After this patch the mxs_spi.c DM/DTS driver can be used at early SPL to read payload from SPI-NOR memories. It was necessary to adjust its name to 'fsl_imx_2{38}_spi' to match requirements for SPL_OF_PLATDATA usage. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08spi: fix: Call mxs_reset_block() during DM/DTS probeLukasz Majewski
Without this change the DM/DTS version of mxs_spi driver doesn't reset the SPI IP block in probe. As a result this driver (when used solely on U-Boot proper) relies on reset performed by mxs spi driver in SPL. In the use case where eMMC is used in SPL as a boot primary device, the mxs_reset_block() is not called at all and DM/DTS aware SPI driver in U-Boot proper is malfunctioning. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08spl: Init proper struct driver member (platdata_auto_alloc_size) for mxs_spiLukasz Majewski
This change initializes proper member of struct driver - platdata_auto_alloc_size instead of priv_auto_alloc_size, which is setup twice. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08dts: imx28: Remove #include "imx28.dtsi" from imx28-u-boot.dtsi fileLukasz Majewski
After this change it is possible to use imx28-<board>-u-boot.dtsi with the imx28-u-boot.dtsi explicitly included without breaking setup from imx28-<board>.dts file. The problem is that the imx28.dtsi included in a wrong place overrides the changes made in imx28-<board>.dts. As a result some devices are "disabled" in the final DTB. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08imx: Introduce CONFIG_SPL_FORCE_MMC_BOOT to force MMC boot on falcon modeLukasz Majewski
This change tries to fix the following problem: - The board boots (to be more precise - ROM loads SPL) from a slow SPI-NOR memory. As a result the spl_boot_device() will return SPI-NOR as a boot device (which is correct). - The problem is that in 'falcon boot' the eMMC is used as a boot medium to load kernel from its partition. Calling spl_boot_device() will break things as it returns SPI-NOR device. To fix this issue the new CONFIG_SPL_FORCE_MMC_BOOT Kconfig flag is introduced to handle this special use case. By default it is not defined, so there is no change in the legacy code flow. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08imx: Rewrite display5 get_board_id() function to use dm_gpio_* APILukasz Majewski
The get_board_id() function was using the old gpio_* compatibility layer to read HW and SW ID numbers encoded on the PCB board. After this change the new dm_gpio* API is used for this purpose. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08imx: Convert emergency pad of display5 to use dm_gpio* functionsLukasz Majewski
After this change the display5's emergency gpio use dm_gpio* functions instead of legacy ones (gpio*) to read its state. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08ARM: Update display5_factory_defconfig after switch to DM/DTS and uuu utilityLukasz Majewski
This commit updates the display5_factory_defconfig file after the switch to DM/DTS for this board. Moreover, the VID and PID for SPL running SDP gadget have been updated to allow seamless work with 'uuu' utility from NXP (the imx_usb doesn't work properly after embedding the u-boot proper into fitImage - problem with IVT embedding in FIT). Example to use 'uuu' session: cat << EOF > display5_recovery.lst uuu_version 1.2.135 SDP: boot -f /srv/tftp/SPL SDPU: write -f /srv/tftp/u-boot-dtb.img -addr 0x10000000 SDPU: jump -addr 0x10000000 SDPU: done EOF sudo ./uuu/uuu display5_recovery.lst Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08ARM: display5: Remove common.c file (after DM/DTS U-Boot proper conversion)Lukasz Majewski
The common.c file content can be safely moved to spl.c file after performing the DM/DTS conversion for the U-Boot proper. It contains the non DM/DTS setup code, which now is only used by SPL. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08DM: WDT: Convert WDT driver to use DM/DTS (including SYSRESET)Lukasz Majewski
This commit enables support for CONFIG_WDT in the U-Boot proper. Moreover, the SYSRESET_WATCHDOG driver is used to support 'reset' command. As SPL is not yet ready for DM conversion, the CONFIG_HW_WATCHDOG is enabled for it. This allows the legacy SPL code to work properly. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08ARM: display5: Remove UART initialization code after DM/DTS conversion ↵Lukasz Majewski
(non-console) This UART is not used in U-Boot, so there is no need to initialize it. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08DM: SPI: Convert display5 to use SPI with DM/DTS (but no in SPL)Lukasz Majewski
The DM/DTS support for SPI is disabled on purpose for SPL, as it is not supported as of time of this conversion. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08DM: eth: Switch display5 board to use DM_ETHLukasz Majewski
After this commit the display5 device would use FEC driver supporting driver model (DM_ETH). Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08DM: mmc: Switch display5 board to use DM_MMC and BLK (USDHC)Lukasz Majewski
After this commit the display5 device would use eMMC driver supporting driver model (DM_MMC and BLK). Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08ARM: imx: defconfig: Enable 'regulator' and 'pmic' commands on display5Lukasz Majewski
Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08DM: I2C: Switch display5 board to use DM_I2CLukasz Majewski
After this commit the display5 device would use I2C driver supporting driver model (DM_I2C). The 'i2c' and 'eeprom' commands now use DM I2C drivers and initialize on-bus devices according to device tree description. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08ARM: imx: defconfig: Enable CONFIG_PINCTRL{_IMX6} on display5's defconfigLukasz Majewski
Enable PINCTRL for i.MX6 soc based display5 after DM/DTS conversion. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08fix: defconfig: Enable OF_CONTROL for display5_factoryLukasz Majewski
This change fixes issue with building display5 "factory" U-Boot variant when the display5 board gains DM/DTS support. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08imx: bk4: Print proper HW revision of VF610's BK4 boardLukasz Majewski
This code uses HW difference on the USB_RESET pin (added PULL UP resistor on the L333 rev) to distinguish between two BK4 HW revisions. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-10-08pico-imx6: Add Falcon modeFabio Estevam
Add Falcon mode support, which allows the SPL to load and jump to the Linux kernel directly, without the need of loading U-Boot proper. CONFIG_SPL_OS_BOOT=y needs to be passed in the defconfig in order to use Falcon mode. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2019-10-08pico-imx6: Add splashscreen supportFabio Estevam
Add splashscreen support. Tested with the parallel FT5x06-WVGA panel. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2019-10-08pico-imx6: Add Ethernet supportFabio Estevam
Add Ethernet support. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2019-10-08pico-imx6: Fix bootmenu handlingOtavio Salvador
We should use a common script to allow booting the U-Boot console as fallback so we ended using a 'default_boot' and 'base_boot' environment scripts to accomplish that. Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2019-10-08pico-imx6: Add initial supportFabio Estevam
Add the initial support for the pico-imx6 variants. DDR initialization is based on the TechNexion's U-Boot code. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2019-10-08mx6: clock: Allow enable_ipu_clock() to be built for SPL codeFabio Estevam
Allow enable_ipu_clock() to be built for SPL code. This is done in preparation for configuring the NoC registers on i.MX6QP in SPL. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2019-10-08mx53loco: Fix U-Boot corruption after saving the environmentFabio Estevam
U-Boot binary has grown in such a way that it goes beyond the reserved area for the environment variables. Running "saveenv" causes U-Boot to hang because of this overlap. Fix this problem by increasing the CONFIG_ENV_OFFSET size. Also, in order to prevent this same problem in the future, use CONFIG_BOARD_SIZE_LIMIT, which will detect the overlap in build-time. CONFIG_BOARD_SIZE_LIMIT does not accept math expressions, so declare CONFIG_ENV_OFFSET with its direct value instead. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>