AgeCommit message (Collapse)Author
2020-03-19verdin-imx8mm: add overlay capabilitiestoradex_imx_v2018.03_4.14.78_1.0.0_ga-bringupStefan 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. Signed-off-by: Stefan Eichenberger <>
2020-03-12apalis-imx8: Remove fdt_file env variablePhilippe Schenker
This variable is deprecated, therefore remove it. Signed-off-by: Philippe Schenker <>
2020-03-12apalis-imx8: Implement hardware version detectionPhilippe Schenker
And select the correct devicetree to load. Related-to: ELB-1254 Signed-off-by: Philippe Schenker <>
2020-03-05config: apalis-imx8x: Enable fec txc delayPhilippe Schenker
Related-to: ELB-1299 Signed-off-by: Philippe Schenker <>
2020-03-05config: apalis-imx8: Enable FEC TXC delayPhilippe Schenker
Related-to: ELB-1299 Signed-off-by: Philippe Schenker <>
2020-03-05net: fec: Add possibility to enable TXC delayPhilippe Schenker
Related-to: ELB-1299 Signed-off-by: Philippe Schenker <>
2020-03-05ARM64: 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 <>
2020-03-04board: 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 <>
2020-03-04drivers: 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 <> (cherry picked from commit cc96ed419f7585db15855dd53046562aadece3fb)
2020-03-04net: phy: micrel: Use defines for PHY_IDs and MASKPhilippe Schenker
Signed-off-by: Philippe Schenker <> (cherry picked from commit 28491c802d36accbb4d8562114ce8085ca53e1b0)
2020-02-13verdin-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 <>
2020-02-12fsl-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 <>
2020-02-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 <>
2020-01-29verdin-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 <>
2020-01-27ARM: 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 <>
2019-12-19config: 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 <> Signed-off-by: Oleksandr Suvorov <>
2019-11-27verdin-imx8mm: fix usb_1 device aka peripheral operationMarcel Ziswiler
With this e.g. fastboot or UMS work. Signed-off-by: Marcel Ziswiler <>
2019-11-27verdin-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 <>
2019-11-27board: 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 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 <> Signed-off-by: Marcel Ziswiler <>
2019-11-27tdx-cfg-block: add verdin imx8mmMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <>
2019-11-27dt-bindings: pinctrl: imx8mm: add alternative uart muxingsMax Krummenacher
Signed-off-by: Max Krummenacher <>
2019-11-27pins-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 <>
2019-11-27imx8mm-evk, imx8mm-val: take changed sd/mmc spl boot order into accountMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <>
2019-11-27arm: mach-imx: hard-code emmc to mmc1 and sd to mmc2 for 8mmMarcel Ziswiler
Just like on any and all other i.MX 8 Series devices use MMC1 for eMMC and SD2 for SD card. This fixes previously reverted commit 6c6206ad1a5a ("MLK-18243-17: arm: mach-imx: fix sd to mmc1 and emmc to mmc2 for i.MX8MM"). Signed-off-by: Marcel Ziswiler <>
2019-11-27Revert "MLK-18243-17: arm: mach-imx: fix sd to mmc1 and emmc to mmc2 for ↵Marcel Ziswiler
i.MX8MM" Nope, hard-coding SD to mmc1 and eMMC to mmc2 is wrong in so many ways! This reverts commit 6c6206ad1a5a3c70118a3ecf526b0ff00088adf7.
2019-11-27net: dm: fec: Fix regulator enable when using DM_REGULATORAdam Ford
When DM_REGULATOR is enabled, the driver attempts to call regulator_autoset() which expects the regulators to be on at boot and/or always on and fails if they are not true. For a more generic approach, this patch just calls regulator_set_enable() which shouldn't have such restrictions. Fixes: ad8c43cbcafb ("net: dm: fec: Support the phy-supply binding") Signed-off-by: Adam Ford <> Tested-by: Martin Fuzzey <> Acked-by: Joe Hershberger <> (cherry picked from commit 8f1a5ac797baac5b40f93eac80a7810f0a771ecf)
2019-11-27net: dm: fec: Support the phy-supply bindingMartin Fuzzey
Configure the phy regulator if defined by the "phy-supply" DT phandle. Signed-off-by: Martin Fuzzey <> Acked-by: Joe Hershberger <> (cherry picked from commit ad8c43cbcafbbb21efc9e26bda7a6b1e37428adc)
2019-11-27ddr_init.c: provide external function needed for the cherry-picksMax Krummenacher
Note: this code base does not support i.MX 8MN at all. Signed-off-by: Max Krummenacher <>
2019-11-27MA-14981-1 Add evk_imx8mm 4GB DDR supportJi Luo
Add configs to support evk_imx8mm 4GB DDR board. The 4GB DDR will be split into two banks, one is 3GB (0x4000_0000~0xffff_0000) and another is 1GB(0x1_0000_0000~0x1_4000_0000). Test: build and boot with or without trusty. Change-Id: I02f6465fc5709b15fd76820edb846452d011dd56 Signed-off-by: Ji Luo <> (cherry picked from commit e7db3f3b68bf792f7df5c113c385ebecd468f6ce)
2019-11-27MLK-21950-01 driver: ddr: skip ddr_ss_gpr config on imx8mnJacky Bai
There is no DDR_SS_GPR0 exits on i.MX8MN, so skip setting this register on i.MX8MN. Signed-off-by: Jacky Bai <> (cherry picked from commit a8040bc4524687ca026b9960fda18eb19606dade)
2019-11-27MLK-21821 ddr: imx8m: Fix the ddr init hang on imx8mqJacky Bai
On, i.MX8MQ, the PLL config must be done when ddrmix isolation is released. So move the dram pll init after iso config done. For other i.MX8M SOC, either init pll before or after isolation is ok. Signed-off-by: Jacky Bai <> (cherry picked from commit c5dcc21c214badd5b48b48dfaa62d17ba13c6b17)
2019-11-27MLK-21745-01 driver: ddr: Refine the ddr init driver on imx8mJacky Bai
Refine the ddr init driver to make it more reusable for different DDR type(LPDDR4, DDR4 & DDR3L). So we can reduce some redundant code. Signed-off-by: Jacky Bai <> Reviewed-by: Ye Li <> (cherry picked from commit 3c0b1b346a891fef7a81856e3ee9019e2b81602d)
2019-11-27tdx-cfg-block: fix while checking for uninitialised lenMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <>
2019-11-27tdx-cfg-block: fix colibri-imx8x defineMarcel Ziswiler
Fix CONFIG_TARGET_COLIBRI_IMX8QXP vs. CONFIG_TARGET_COLIBRI_IMX8X ifdefs. Signed-off-by: Marcel Ziswiler <>
2019-11-27apalis/colibri-imx8/8x: streamline hush shell promptsMarcel Ziswiler
Just like on any of our other modules also use the module type as hush shell prompt. Signed-off-by: Marcel Ziswiler <>
2019-11-27apalis/colibri imx8/8x: unify kconfig descriptionsMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <>
2019-11-27apalis imx8: change kconfig spellingMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <>
2019-11-25config: apalis/colibri-imx8*: Add fdt_high variable without valuePhilippe Schenker
This will actually clear the value of a variable that is potentially still existing. Signed-off-by: Philippe Schenker <>
2019-10-25ARM: dts: imx8qxp-apalis: Remove phy-reset-post-delayPhilippe Schenker
It was decided to get rid of the extra capacitor on the reset line so this is no longer needed Signed-off-by: Philippe Schenker <>
2019-10-15apalis-imx8/x/colibri-imx8qxp: skip resource checkingMarcel Ziswiler
Define CONFIG_SKIP_RESOURCE_CHECING which skips the downstream proprietary resource checking preventing us from booting any kind of mainline device tree based Linux kernels. While at it also fix some indentations/whitespaces. Signed-off-by: Marcel Ziswiler <>
2019-10-10apalis-imx8/x/colibri-imx8qxp: enable device tree overlay supportStefan Agner
Enable device tree overlay support which is used in the current dtconf implementation in TorizonCore. Signed-off-by: Stefan Agner <>
2019-10-01configs: apalis/colibri-imx8: change bootdelay to one secondPhilippe Schenker
Use one second for the bootdelay like on all other toradex boards Signed-off-by: Philippe Schenker <>
2019-10-01include: apalis-imx8.h: change default devicetree filePhilippe Schenker
Signed-off-by: Philippe Schenker <>
2019-09-30include: apalis-imx8.h: change tdxargs to defargs for pci_nomsiPhilippe Schenker
tdxargs are meant for temporary adjusting U-Boot. Use defargs that suits this purpose better. Signed-off-by: Philippe Schenker <>
2019-09-30include: apalis-imx8.h: add default tdxargs pci=nomsiPhilippe Schenker
As we have issues with MSI enabled we will disable it in default environment. Issue: Kernel panic Signed-off-by: Philippe Schenker <>
2019-09-27Machine: Apalis-iMX8X: Change name from apalis-imx8qxp to apalis-imx8xPhilippe Schenker
Signed-off-by: Philippe Schenker <>
2019-09-24include: apalis-imx8qxp.h: new fdt_file name and delete earlyconPhilippe Schenker
This commit uses the correct devicetree filename and makes sure, it doesn't use earlycon by default while at it make sure to use only tabs. Signed-off-by: Philippe Schenker <>
2019-09-18fec_mxc.c: add possibility for phy-reset-post-delayPhilippe Schenker
This adds the possibility to add a delay after a reset in DT. Signed-off-by: Philippe Schenker <>
2019-09-18apalis-imx8qxp: initial addPhilippe Schenker
Initial board support for Apalis iMX8QXP using a copy of Colibri iMX8QXP. Signed-off-by: Philippe Schenker <>
2019-09-18tdx-cfg-block: add Apalis-iMX8X to get_cfgblock_interactivePhilippe Schenker
Signed-off-by: Philippe Schenker <>