summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-04-14CI: add CI build scripttoradex_imx_v2018.03_4.14.98_2.3.0_bringupDenys Drozdov
Allow running CI pipeline for imx8x. This version of CI script contains just 2 steps: building of 64 bit targets and cppcheck. The following 64bit Toradex targets are supported for this branch. - apalis-imx8 - apalis-imx8x - colibri-imx8qxp - verdin-imx8mm Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-04-13toradex: configblock: fix module revision in config blockDenys Drozdov
U-boot might display wrong module revision information for modules with an assembly version 'K'. "cfgblock create" does not takes into account all revision digits from PID8. This fix takes into account 6th,7th digits of PID8 to store module revision. Related-to: ELB-3893 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com> (cherry picked from commit 76fd4496a40b9dd7271ceb9ff330982c954fe8e9)
2020-10-28verdin-imx8mm: automatic ram size detectionMarcel Ziswiler
Automatically detect Verdin iMX8M Mini DualLite 1GB vs. Verdin iMX8M Mini Quad 2GB. Note: This only works if we keep using similar RAM chips! Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-06-17imx8: fuse_prog: drop additional confirmation for ECC fusesIgor Opaniuk
This will to automate programming ECC fuses using only "-y" for a full confirmation when invoking "fuse prog" command. Relates-to: ELB-2764 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-06-17tdx-cfg-block: fix serial number creationIgor Opaniuk
Add proper calculation of offset for data structures, which size is not multiple of 4 bytes. Testing: Verdin iMX8MM # cfgblock create 0038100206603368 A valid Toradex config block is present, still recreate? [y/N] y Toradex config block successfully written Verdin iMX8MM # reset resetting ... U-Boot 2018.03-00013-g98fb859-dirty (Jun 17 2020 - 00:58:58 +0300) ... Model: ..., Serial#06603368 Relates-to: ELB-2772 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-06-08scripts/dtc: Remove duplicate definitions of yyllocPhilippe Schenker
With GCC 10 there is an error during compiling of our downstream branch. Removing multiple yylloc definitions help. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-06-08Remove redundant YYLOC global declarationPeter Robinson
Same as the upstream fix for building dtc with gcc 10. Signed-off-by: Peter Robinson <pbrobinson@gmail.com> (cherry picked from commit 018921ee79d3f30893614b3b2b63b588d8544f73)
2020-06-03toradex: imx8: enable BOOTCOUNT featureIgor Opaniuk
This introduces automatic boot counter that increases after every reset. After a power-on reset, it will be initialized with 1, and each reboot will increment the value by 1. By default it's disabled if bootlimit isn't set. To enable this feature you have set bootcount limit ("bootlimit"), alternate boot action ("altbootcmd") that will be performed if the new value of bootcount exceeds the value of bootlimit, and "upgrade_available" to let U-Boot automatically increase and save the counter value after every reset: > setenv bootlimit 5 > setenv upgrade_available 1 > setenv altbootcmd "bootm ..." In case the bootlimit exceeds, the message will be shown and albootcmd executed: Warning: Bootlimit (5) exceeded. Using altbootcmd. To reset bootcount run: > bootcount reset Print current value: > bootcount print Relates-to: ELB-2703 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-05-26apalis-imx8: reset the hsic pins to their reset defaultsMax Krummenacher
Related-to: ELB-2702 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-05-08tdx-cfg-block: fix build errorsIgor Opaniuk
Fix 'TDX_CFG_BLOCK_EXTRA_MAX_SIZE' undeclared errors. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-05-05verdin-imx8mm: fix CONFIG_BOOTCOMMAND redefinition warningsIgor Opaniuk
As default value for CONFIG_BOOTCOMMAND is already provided in common/Kconfig, manually redefining without a check in verdin-imx8mm.h leads to these warnings: include/configs/verdin-imx8mm.h:111: warning: "CONFIG_BOOTCOMMAND" redefined #define CONFIG_BOOTCOMMAND "setenv fdtfile " FDT_FILE " && run distro_bootcmd;" In file included from ././include/linux/kconfig.h:4, from <command-line>: include/generated/autoconf.h:203: note: this is the location of the previous definition #define CONFIG_BOOTCOMMAND "run distro_bootcmd" Fix that by undefining the previous value. Fixes: 099bc1b8ef("verdin-imx8mm: choose correct devicetree with configblock") Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-05-05toradex: tdx-cfg-clock: add migration routine from PID8Igor Opaniuk
1. Add migration routine from PID8 (including sane value checks) 2. s/extra/carrier/g if functionality is used only for carrier board tdx config block. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-05-04verdin-imx8mm: add EEPROM support for carrier boardIgor Opaniuk
Enable these Kconfig symbols: TDX_CFG_BLOCK_EXTRA=y TDX_HAVE_EEPROM_EXTRA=y Relates-to: ELB-1402 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-05-04ARM: dts: imx8mm-verdin: eeprom nodes adjustmentsIgor Opaniuk
1. Rename EEPROM nodes. 2. Create aliases for EEPROM to unify their order: eeprom0 - on-module EEPROM eeprom1 - carrier-board EEPROM eeprom2 - MIPI-DSI to HDMI adapter EEPROM Relates-to: ELB-1402 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-05-04toradex: tdx-cfg-block: add support for EEPROMIgor Opaniuk
This introduces support for EEPROM as a storage for the main Toradex config block and additional config blocks on extra EEPROM chips (on carrier board or video adapters). To enable EEPROM as a storage for the main config block: TDX_HAVE_EEPROM=y. For additional EEPROMs please enable this Kconfig symbol: TDX_CFG_BLOCK_EXTRA=y. Information about existing EEPROM chips is provide via Device Tree using aliases. You can also write configuration for the carrier board using create_carrier subcommand for cfgblock. Example: Verdin iMX8MM # cfgblock create_carrier Supported carrier boards: UNKNOWN CARRIER = [0] Verdin Carrier Board = [1] Choose your carrier board (provide ID): 1 Enter carrier board version (e.g. V1.1B): V1.0A Enter carrier board serial number: 10622780 Also with barcode: cVerdin iMX8MM # cfgblock create carrier -y 0156100010622780 Relates-to: ELB-1402 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-05-04drivers: i2c_eeprom: add proper write implementationIgor Opaniuk
Add writing to I2CR EEPROM using repeated addressing and performing length separate write transactions of one byte each. Relates-to: ELB-1402 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-04-29verdin-imx8mm: choose correct devicetree with configblockPhilippe Schenker
This commit makes u-boot choose the right variant wifi or nonwifi of the devicetree with the information stored in toradex configblock. Related-to: ELB-2642 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-04-17tdx-cfg-block: change verdin imx8m nano namingPhilippe Schenker
This changes the define from VERDIN_IMX8MNSL to VERDIN_IMX8MNQ_WIFI_BT in order to have a related naming to VERDIN_IMX8MMQ_WIFI_BT_IT and also have the information in for wifi bluetooth. This as well changes to the final decided naming. Related-to: ELB-2642 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-04-14apalis-imx8x: usb3 bringupVerdin-iMX8MM_Console-Image_3.0b4.254-20200421Colibri-iMX8X_Console-Image_3.0b4.254-20200421Apalis-iMX8_Console-Image_3.0b4.254-20200421Apalis-iMX8X_Console-Image_3.0b4.254-20200421Philippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-27verdin-imx8mm: add overlay capabilitiesStefan Eichenberger
All Toradex modules have OF_LIBFDT_OVERLAY enabled but not Verdin iMX8MM so far. This commit enables devicetree overlay capabilities on U-Boot for Verdin iMX8MM. Tested with ATF rel_imx_4.14.98_2.3.1_patch, firmware-imx-8.1.1 and imx-mkimage imx_4.14.98_2.3.0. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2020-03-25verdin-imx8mm_defconfig: follow renamed dtb nameMax Krummenacher
Related-to: ELB-2322 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-24tdx-cfg-block: add proper defines for other Verdin SKUsIgor Opaniuk
1. Add support for these two modules: Verdin iMX8M Nano SoloLite 1GB Verdin iMX8M Mini DualLite 1GB 2. Rename VERDIN_IMX8MM define to VERDIN_IMX8MMQ_WIFI_BT_IT Relates-to: ELB-2602 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-03-24apalis-imx8x: sync with MEK platformIgor Opaniuk
1. Enable CONFIG_SNVS_SEC_SC_AUTO by default 2. Move BOOTAUX_* defines to defconfig Related-to: ELB-2605 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-03-24verdin-imx8mm: sync with EVK boardIgor Opaniuk
1. MMC_UHS/HS_ enable in defconfig by default 2. VDD_DRAM/VDD_SOC changes in SPL 3. FEC anatop clock fixes Related-to: ELB-2605 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-03-24apalis-imx8: sync with MEK platformIgor Opaniuk
1. Adding power-up of base board via SCFW 2. Moved BOOTAUX defines to defconfig Related-to: ELB-2605 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-03-23colibri-imx8qxp: sync with MEK platformIgor Opaniuk
1. Enable CONFIG_SNVS_SEC_SC_AUTO by default 2. Move BOOTAUX_* defines to defconfig Related-to: ELB-2605 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-03-18tdx-cfg-block: adjust verdin namingPhilippe Schenker
Related-to: ELB-2316 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-16apalis-imx8: Fix hardware version detection in recovery modeMarcel Ziswiler
Make sure recent version detection implementation is also used during recovery mode. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-13apalis-imx8: Remove fdt_file env variablePhilippe Schenker
This variable is deprecated, therefore remove it. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-13apalis-imx8: Implement hardware version detectionPhilippe Schenker
And select the correct devicetree to load. Related-to: ELB-1254 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-10mmc board code: add a weak common implementationMax Krummenacher
NXP common code now calls a board function mmc_map_to_kernel_blk(). Provide a weak function in common code for boards not requiring special handling. Taken from boards/freescale/common/mmc.c Related-to: ELB-2351 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-10config: apalis-imx8x: Enable fec txc delayPhilippe Schenker
Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit bad96834e65ae6364d8a9a8b3ba7756c61d6145c)
2020-03-10config: apalis-imx8: Enable FEC TXC delayPhilippe Schenker
Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit 3173b9aa17bc4c2580076376942a9ee1b6b8f636)
2020-03-10net: fec: Add possibility to enable TXC delayPhilippe Schenker
Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit f53846c29f76ccee0141f6902703bb6855b14b6a)
2020-03-10ARM64: dts: Remove RGMII RXC delay from MACPhilippe Schenker
Not needed as it is provided by the PHY. Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit a0ac1f6ca5d5eaf7b7b9833f5438c78ee11d9474)
2020-03-10board: verdin-imx8mm: Add KSZ9131 phy skew settingsPhilippe Schenker
This patch basically just enables both RXC and TXC delay lines in the PHY. This will compensate the missing delay from the MAC. Other skew settings are not needed as the traces on board are routed exactly the same length Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit 50e975e6ce4e4e88f8c5c943ef2ddc38b0a31997)
2020-03-10drivers: net: phy: micrel_ksz90x1.c: Add basic support for KSZ9131Philippe Schenker
This adds basic support for the new Micrel KSZ9131 phy. Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit cc96ed419f7585db15855dd53046562aadece3fb) (cherry picked from commit 150e6b7f6c9c8342997245be50f3bc58df78aaf3)
2020-03-10net: phy: micrel: Use defines for PHY_IDs and MASKPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit 28491c802d36accbb4d8562114ce8085ca53e1b0) (cherry picked from commit 9ee5759d22acc3406bca3b76cb24ed558b64d0df)
2020-03-05verdin-imx8mm.c: set eth phy skewMax Krummenacher
Set the Ethernet PHY's RGMII skew registers according to the needed skew. Related-to: ELB-1970 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05fsl-imx8mm-verdin.dts: fix eth phy power upMax Krummenacher
The PHY reset circuitry may keep the PHY in reset for up to 200ms after powerup. Use the regulator startup-delay-us property to wait that time before talking to the PHY. While at it unify that regulator with the Linux dts file. Related-to: ELB-1970 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05fsl-imx8mm-verdin.dts: remove fsl,rgmii_rxc_dly et. al.Max Krummenacher
The FEC in the i.MX8MM doesn't have this feature. So don't pretend one can use it. Additionally in the 2018.03 downstream U-Boot the property is not evaluated, not even for the i.MX8 and i.MX8X based machines. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05verdin-imx8: do not undef configs configured using KconfigMax Krummenacher
Do not undef CMD config defines which are set by Kconfig. This allows to enable those commands using Kconfig. (Taken from commit 26f0fb6c61e94f8ba52bcc0b4946d378e682ccff 'apalis-imx8: do not undef configs configured using Kconfig') Related-to: TOR-498 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05ARM: dts: apalis-imx8qm: update node fec1Philippe Schenker
It turned out that on the new Apalis iMX8 QuadPlus V1.1A the ethernet is no longer working. I suspect this due to missing muxing for 1.8V/3.3V. Due to that I copy the whole ethernet pinmux and node over from the Linux side. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-05config: apalis-imx8: fix auto-negotiation timeout errorOleksandr Suvorov
Sometimes an ethernet PHY interface can’t complete auto-negotiation and returns “timeout” error. Overriding default timeout value fixes this issue. Related-to: #58999 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com> Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-03-05verdin-imx8mm: fix usb_1 device aka peripheral operationMarcel Ziswiler
With this e.g. fastboot or UMS work. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05verdin-imx8mm: lpddr4_timing.c: intial lpddr4 calibration dataMax Krummenacher
DDR calibration created with mscale_ddr_tool_v210_setup.exe using MX8M_Mini_LPDDR4_RPA_v14 Verdin iMX8MM V1.0.xlsx as of 1. Nov. 2019. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05board: toradex: add verdin imx8mm 2gb wb it v1.0a module supportMax Krummenacher
This commit adds initial support for the Toradex Verdin iMX8MM 2GB WB IT V1.0A module. They are now strapped to boot from eFuses which are factory fused to properly boot from their on-module eMMC. U-Boot supports either booting from the on-module eMMC or may be used for recovery purpose using the universal update utility (uuu) aka mfgtools 3.0. Functionality wise the following is known to be working: - eMMC, 8-bit and 4-bit MMC/SD card slots - Gigabit Ethernet - GPIOs - I2C - USB_1 peripheral: fastboot or ums - USB_2 host: USB mass storage To prepare the program image for eMMC fastboot using imx-mkimage and subsequently flash it using U-Boot proceed as follows: cd imx-mkimage/ make SOC=iMX8MM flash_evk_emmc_fastboot load mmc 1:1 $loadaddr flash.bin setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200 mmc dev 0 1 mmc write ${loadaddr} 0x2 ${blkcnt} To prepare the program image for use with USB recovery aka serial downloader using imx-mkimage and subsequently download using uuu with an uuu.auto script proceed as follows: cd imx-mkimage/ make SOC=iMX8MM flash_evk uuu_version 1.3.34 SDP: boot -f flash.bin CFG: SDPU: -vid 0x0525 -pid 0xb4a4 SDPU: delay 1000 SDPU: write -f flash.bin -offset 0x57c00 SDPU: jump Fusing i.MX 8MM SoC and configuring eMMC for fastboot (already done during manufacturing): fuse prog 1 3 0x100020d6 (BT_FUSE_SEL, eMMC boot, SD1, fast boot, 4-bit DDR, high speed, 1.8V) fuse prog 2 2 0x00000001 (enable boot ack) mmc bootbus 0 1 0 2 (4-bit, reset bus width, DDR) mmc partconf 0 1 1 0 (booting from boot area partition 1, send acknowledge) SD manufaccture boot: SD manufacture boot only works as long as the module is un-fused and SD_1_PWR_EN is bypassed on the carrier board. cd imx-mkimage/ make SOC=iMX8MM flash_evk sudo dd if=iMX8M/flash.bin of=/dev/mmcblk0 bs=1024 seek=33 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05tdx-cfg-block: add verdin imx8mmMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05dt-bindings: pinctrl: imx8mm: add alternative uart muxingsMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05pins-imx8mm.h: add uart1 muxing on sai2 pinsMax Krummenacher
Copied from linux, branch nxp/imx_4.14.98_2.2.0 @ e6c2f6322962. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>