summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-20toradex: tdx-cfg-block: add new i.mx 6ull and 8m plus skusMarcel Ziswiler
Add new i.MX 6ULL and 8M Plus SKUs to ConfigBlock handling: 0062: Colibri iMX6ULL 1GB IT (eMMC) 0063: Verdin iMX8M Plus Quad 4GB IT 0064: Verdin iMX8M Plus Quad 2GB Wi-Fi / BT IT 0065: Verdin iMX8M Plus QuadLite 1GB IT 0066: Verdin iMX8M Plus Quad 8GB Wi-Fi / BT Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2021-10-20toradex: configblock: fix interactive mode it handlingDenys Drozdov
Restore "Is the module an IT version? [y/N]" for "cfgblock create" interactive mode command, which was leading to invalid detection of 0051 Colibri iMX8DX 1GB WB module; Fixes: a5b5ad4d859b ("toradex: tdx-cfg-clock: add new i.mx 8m mini/plus skus") Related-to: ELB-3482 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2021-10-20toradex: take over maintainershipMarcel Ziswiler
Also take over maintainership of remaining Toradex SoMs as Oleksandr has left our company. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> CC: Oleksandr Suvorov <cryosay@gmail.com>
2021-10-20imx8mm-evk: Generate a single bootable flash.bin againFabio Estevam
After the conversion to binman in commit 8996e6b7c6a1 ("imx8mm_evk: switch to use binman to pack images"), it is necessary to flash both flash.bin and u-boot.itb to get a bootable system. Prior to this commit, only flash.bin was needed. Such new requirement breaks existing distro mechanisms to generate the final binary because the extra u-boot.itb is now required. Generate a final flash.bin that can be used again as a single bootable binary to keep the original behavior. After this change the SPL binary is called spl.bin, which is a more descriptive name for its purpose, and can still be used standalone (for example, for secure boot purposes). Also update imx8mm_evk.rst to remove the u-boot.itb copy step. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Heiko Thiery <heiko.thiery@gmail.com>
2021-10-20colibri-imx6ull: fix setup of nand gpmi clockPhilippe Schenker
NXP used to setup the gpmi clock root from gpmi_clk in early versions in their downstream BSP. [1] However on mainline the gpmi clock root was always setup from enfc since the beginning of the i.MX 6 series SoCs, which is still the same today. [2] NXP followed the mainline approach at some point and changed setup_gpmi_io_clk to setup gpmi clock root from enfc which left faulty code behind in our board file. [3] This commit follows the change of NXP as it improves the performance of the NAND from ~1.2 MiB/s to ~12 MiB/s. [3] This change was verified to work in recovery-mode and u-boot loaded from NAND on all four Colibri iMX6ULL SKUs from Toradex. The frequency used to read the NAND, measured on RE# (Read Enable): before this patch: 1.4 MHz after this patch: 22 MHz in Linux Kernel: 50 MHz [1] https://source.codeaurora.org/external/imx/uboot-imx/tree/arch/arm/cpu/armv7/mx6/clock.c?h=nxp/imx_v2016.03_4.1.15_2.0.0_ga#n62 [2] commit 23608e23fd65 ("i.mx: add the initial support for freescale i.MX6Q processor") [3] https://source.codeaurora.org/external/imx/uboot-imx/commit/?id=7a82a19ceabfb04bbc1591a67c99751748781c7d Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2021-10-20board: phytec: imx8mm-phycore: Switch to binmanTeresa Remmet
Use binman for image creation. Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20configs: phycore-imx8mm_defconfig: Enable clk commandTeresa Remmet
Enable clk command to dump clock tree. Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20board: phytec: phycore-imx8mm: Add SPI-NOR flash supportTeresa Remmet
Adds SPI-NOR flash support to erase, read and write in bootloader. Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20arm: dts: phycore-imx8mm: Fix propertyTeresa Remmet
Fix misspelled property "stdout-path". Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20arm: dts: phycore-imx8mm-u-boot: Add wdog pinctrl entryTeresa Remmet
Add missing pinctrl entry in spl. Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20include: configs: phycore-imx8mm: Do not use macro for addressTeresa Remmet
Do not use size macros for addesses. So convert PHYS_SDRAM to address. No functional change. Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20include: configs: phycore-imx8mm: Remove not needed definesTeresa Remmet
Remove obsolet defines in phycore_imx8mm.h. Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20include: configs: phycore_imx8mm: Remove hard coded network settingsTeresa Remmet
Remove ip address and server ip from board config as they should not be added hardcoded. Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20board: phytec: phycore_imx8mm: Clean up splTeresa Remmet
Remove not needed code in the spl board code. Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
2021-10-20verdin-imx8mm: fix watchdog pinctrl issueMarcel Ziswiler
Finally, found the root cause of the issue already once mentioned back here [2] which caused the following error message during boot: imx_wdt watchdog@30280000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19 Turns out while the watchdog node itself was already u-boot,dm-spl its pinctrl node was not which caused it to be unavailable at that early stage. Note that any and all other boards I checked also seem to be missing this. However, I can't judge whether or not they might indeed need a similar fix or not. [2] https://marc.info/?l=u-boot&m=161786572422973 Fixes: commit d304e7ace3a6 ("ARM: imx8m: Fix reset in SPL on Toradex iMX8MM Verdin") Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-10-20verdin-imx8mm: use preboot for fdtfile evaluationIgor Opaniuk
Enable and set preboot var with fdtfile evaluation. It will be checked and run immediately before starting the CONFIG_BOOTDELAY countdown and/or running the auto-boot command resp. entering interactive mode. This provides possibility to use different boot cmds in interactive mode without manual setting fdtfile value, as it it's already evaluated before entering interactive mode. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-10-20include/configs: apalis-imx8/verdin-imx8mm: rename kernel image variableOleksandr Suvorov
Variable "kernel_image" is used in boot.scr script only, that sets its own default value to the constant string @@KERNEL_IMAGETYPE@@ in case "kernel_image" is not set. The default name of the kernel image shipped with BSP 5.x is "Image.gz". Setting kernel_image="Image" as a pre-defined u-boot variable breaks booting systems with modern versions of boot.scr, whereas renaming it fixes booting with modern scripts and does not break working of earlier versions of boot.scr. While at it also update the copyright period, rather than hard-coding fdtfile default fdt_board to dev for the Verdin iMX8M Mini and fix its closing #endif comment. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-10-20verdin-imx8mm: drop support for v1.0 hardwareMax Krummenacher
We drop support for Verdin iMX8M Mini V1.0B. Related-to: ELB-3551 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-10-20verdin-imx8mm: clean-up include orderMarcel Ziswiler
Alphabetically order includes. While at it also update copyright year resp. period. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2021-10-20verdin-imx8mm: enable sleep_moci outputMax Krummenacher
This powers some peripherals on the carrier board e.g. the USB hub. Related-to: ELB-3206 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-10-20verdin-imx8mm: switch to use binman to pack imagesMarcel Ziswiler
Use binman to pack images. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Heiko Thiery <heiko.thiery@gmail.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2021-10-20arm64: dts: imx8mm-verdin-u-boot.dtsi: alphabetically re-orderMarcel Ziswiler
Alphabetically re-order nodes and properties. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2021-10-20ARM: dts: imx8mm-verdin: prepare for dek blob encapsulationMarcel Ziswiler
Prepare for DEK blob encapsulation support through "dek_blob" command. On ARMv8, u-boot runs in non-secure, thus cannot encapsulate a DEK blob for encrypted boot. The DEK blob is encapsulated by OP-TEE through a trusted application call. U-boot sends and receives the DEK and the DEK blob binaries through OP-TEE dynamic shared memory. To enable the DEK blob encapsulation, add to the defconfig: CONFIG_SECURE_BOOT=y CONFIG_FAT_WRITE=y CONFIG_CMD_DEKBLOB=y Taken from NXP's commit 56d2050f4028 ("imx8m: Add DEK blob encapsulation for imx8m"). Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-10-20verdin-imx8mm: fix ethernetMarcel Ziswiler
Turns out Microship (formerly Micrel) meanwhile integrated proper support for the DLL setup on their KSZ9131. Unfortunately, this conflicts with our previous board code doing that. Fix this by getting rid of our board code and just relying on the generic implementation relying on rgmii-id being used as phy-mode. Fixes: commit c6df0e2ffdc4 ("net: phy: micrel: add support for DLL setup on ksz9131") Fixes: commit af2d3c91d877 ("ARM: dts: imx8mm-verdin: Set PHY mode to RGMII-ID") Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-10-20imx8m: clean-up kconfig indentationMarcel Ziswiler
Replace spurious spaces with proper tabs. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2021-10-20imx8mm-cl-iot-gate-optee: align config with KconfigStefano Babic
Due to missing configs, CI goes in deadlock until an OOM is tracked. Add CONFIG_SYS_LOAD_ADDR and replace CONFIG_SYS_EXTRA_OPTIONS with CONFIG_IMX_CONFIG. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Ying-Chun Liu (PaulLiu)" <paul.liu@linaro.org> CC: Fabio Estevam <festevam@denx.de>
2021-10-20kontron-sl-mx8mm: fix missing configs and deadlock in CIStefano Babic
Even if board can be successfuly built, CI goes in deadlock (see thread on https://www.mail-archive.com/u-boot@lists.denx.de/msg419663.html). This is caused by SYS_CONFIG set in header file and because defconfig for the board is out of sync with Kconfig. As result, buildman goes on to read from stdin until an OOM is reached. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Frieder Schrempf <frieder.schrempf@kontron.de>
2021-10-20buildman: Detect Kconfig loopsSimon Glass
Hex and int Kconfig options are supposed to have defaults. This is so we can configure U-Boot without having to enter particular values for the items that don't have specific values in the board's defconfig file. If this rule is not followed, then introducing a new Kconfig can produce a loop like this: Break things (BREAK_ME) [] (NEW) Error in reading or end of file. Break things (BREAK_ME) [] (NEW) Error in reading or end of file. The continues forever since buildman passes /dev/null to 'conf', and the build system just tries again. Eventually there is so much output that buildman runs out of memory. We can detect this situation by looking for a symbol (like 'BREAK_ME') which has no default (the '[]' above) and is marked as new. If this appears multiple times in the output, we know something is wrong. Add a filter function for the output which detects this situation. Allow it to return True to terminate the process. Implement this termination in cros_subprocess. With this we get a nice message: buildman --board sandbox -T0 Building current source for 1 boards (0 threads, 32 jobs per thread) sandbox: w+ sandbox +.config:66:warning: symbol value '' invalid for BREAK_ME + +Error in reading or end of file. +make[3]: *** [scripts/kconfig/Makefile:75: syncconfig] Terminated +make[2]: *** [Makefile:569: syncconfig] Terminated +make: *** [Makefile:177: sub-make] Terminated +(** did you define an int/hex Kconfig with no default? **) Signed-off-by: Simon Glass <sjg@chromium.org>
2021-10-20buildman: Write output even on fatal errorSimon Glass
At present buildman does not write any output (to the 'out' and 'err) files if the build terminates with a fatal error. This is to avoid adding lots of spam to the logs. However there are times when this is actually useful, such as when the build fails for an obscure reason such as a Kconfig loop. Update the logic to always write the output, so that the user gets a clue as to what is happening. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-10-19ARM: imx: mx5: Add altbootcmd and resets to M53MenloMarek Vasut
Bulletproof the default boot command with reset statements in case any command in the chain would fail. In case a failure were to happen, the board will reset, increment boot counter and retry the procedure. In case the failures persist and the boot counter reaches the bootlimit, U-Boot starts altbootcmd instead of the default bootcmd boot command. The altbootcmd swaps the default boot partition for the other boot partition, which is an identical copy or an older copy, and tries booting from that one instead. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
2021-10-19ARM: imx: mx5: Enable Thumb2 build on MX53 Menlo boardMarek Vasut
Build U-Boot in Thumb2 mode for M53Menlo board, this makes better use of the CPU since the instruction density is higher. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
2021-10-19ARM: imx: mx5: Enable BMODE command on MX53 Menlo boardMarek Vasut
The board can do primary/secondary boot switching, enable the bmode command. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de>
2021-10-19board: ea: mx7ulp_com: move setting CONFIG_BOOTCOMMAND to defconfigRicardo Salveti
Move setting CONFIG_BOOTCOMMAND to the mx7ulp_com_defconfig file. It also allows replacing the default CONFIG_BOOTCOMMAND without code modification. Signed-off-by: Ricardo Salveti <ricardo@foundries.io> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Reviewed-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2021-10-19smegw01: Select IMX_HABFabio Estevam
Select IMX_HAB to allow secure boot. Signed-off-by: Fabio Estevam <festevam@denx.de>
2021-10-19smegw01: Add redundant environment supportFabio Estevam
Add redundant environment support as it is required by SWUpdate. While at it, place the CONFIG_ENV_OFFSET at 0x100000 to allow more headroom. Signed-off-by: Fabio Estevam <festevam@denx.de>
2021-10-19apalis-imx6: use dynamic DDR calibrationFrancesco Dolcini
Enable dynamic DDR calibration to have a reliable behavior on edge temperatures conditions. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2021-10-19colibri-imx6: use dynamic DDR calibrationFrancesco Dolcini
Enable dynamic DDR calibration to have a reliable behavior on edge temperatures conditions. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2021-10-07mmc: sdhci-esdhc-imx: Add HS400 support for iMX7ULPOleksandr Suvorov
Import HS400 support for iMX7ULP B0 from the Linux kernel: 2eaf5a533afd ("mmc: sdhci-esdhc-imx: Add HS400 support for iMX7ULP") According to IC suggest, need to clear the STROBE_DLL_CTRL_RESET before any setting of STROBE_DLL_CTRL register. USDHC has register bits(bit[27~20] of register STROBE_DLL_CTRL) for slave sel value. If this register bits value is 0, it needs 256 ref_clk cycles to update slave sel value. IC suggest to set bit[27~20] to 0x4, it only need 4 ref_clk cycle to update slave sel value. This will short the lock time of slave. i.MX7ULP B0 will need more time to lock the REF and SLV, so change to add 5us delay. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Reviewed-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2021-10-07mmc: fsl_esdhc_imx: initialize data for imx7ulpJorge Ramirez-Ortiz
Import data for eSDHC driver for SoC iMX7ULP from the Linux kernel. Set supported by u-boot flags only. Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Signed-off-by: Ricardo Salveti <ricardo@foundries.io> Co-developed-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@foundries.io> Reviewed-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@foundries.io>
2021-10-07arm64: dts: imx8mm-venice-gw7902: use imx8mm-venice-u-boot.dtsiTim Harvey
Use the common imx8mm-venice-u-boot.dtsi (dtb for the 'DEFAULT_DEVICE_TREE) so that it inherits things like binman. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07arm64: dts: imx8mm-venice-gw7901: use imx8mm-venice-u-boot.dtsiTim Harvey
Use the common imx8mm-venice-u-boot.dtsi (dtb for the 'DEFAULT_DEVICE_TREE) so that it inherits things like binman. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07arm64: dts: imx8mm-venice-gw700x: use imx8mm-venice-u-boot.dtsiTim Harvey
Use the common imx8mm-venice-u-boot.dtsi (dtb for the 'DEFAULT_DEVICE_TREE) so that it inherits things like binman. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07smegw01: Pass 'mmcpart' to the kernel command lineFabio Estevam
When using SWUpdate, it is necessary to toggle between partitions. Use the 'mmcpart' environment variable to accomplish that. Signed-off-by: Fabio Estevam <festevam@denx.de>
2021-10-07imx: makefile: drop the use of imx8mimage.shPeng Fan
After switch to use binman, no need to use the bash script to check file exsiting or not. And there is bug that the script will be executed everytime Makefile is used which is confusing people. Signed-off-by: Peng Fan <peng.fan@nxp.com> Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de>
2021-10-07tools: imx8mimage: not abort when mmap failPeng Fan
When creating flash.bin, the hdmi firmware might not be copied to U-Boot source tree. Then mkimage will fail. However we are switching to binman, binman will show the message if the file not there, and create empty file per i.MX8MQ binman node. So we not fail mkimage here othersize CI will fail if hdmi firmware not copied here. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2021-10-07imx: imx8mm: Add support for Kontron Electronics SL/BL i.MX8M-Mini boards ↵Frieder Schrempf
(N801x) The Kontron SoM-Line i.MX8MM (N801x) by Kontron Electronics GmbH is a SoM module with an i.MX8M-Mini SoC, 1/2/4 GB LPDDR4 RAM, SPI NOR, eMMC and PMIC. The matching evaluation boards (Board-Line) have 2 Ethernets, USB 2.0, HDMI/LVDS, SD card, CAN, RS485 and much more. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Reviewed-by: Stefano Babic <sbabic@denx.de> Tested-by: Heiko Thiery <heiko.thiery@gmail.com>
2021-10-07imx53: usbarmory: Use ethernet driver modelAndrej Rosano
Enable ethernet driver model as it is mandatory. Signed-off-by: Andrej Rosano <andrej.rosano@f-secure.com>
2021-10-07imx: ventana: fix USB hub resetTim Harvey
Remove board_ehci_hcd_init function that is not used with DM_USB and replace its functionality with device-tree configuraton that treats USB HUB RST# as a gpio enable for the usbh1 vbus regulator. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07imx: ventana: update LVDS supportTim Harvey
Enable LVDS display detection and panel-specific configuration Make I2C based LVDS detection and configuration model specific: - not all boards support LVDS connectors; fail detection that do not support LVDS to avoid misdetecting an I2C device as a display - GPIO configuration is panel specific; use panel name where needed Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2021-10-07imx: ventana: fix splash logo drawingTim Harvey
After mxc_ipuv3 DM_VIDEO conversion showing splash image doesn't work. Fix this by adding new requirements: - splashimage env variable. - CONFIG_SPLASH_SCREEN - CONFIG_CMD_BMP Signed-off-by: Tim Harvey <tharvey@gateworks.com>