summaryrefslogtreecommitdiff
path: root/board
AgeCommit message (Collapse)Author
2024-05-28toradex: tdx-cfg-block: add verdin i.mx8m mini 0090 pid4toradex_imx_v2020.04_5.4.70_2.3.0Emanuele Ghidoli
Add new PID4 0090 Verdin iMX8M Mini Quad 4GB WB ET to support the new hardware variant. Upstream-Status: Submitted [https://lore.kernel.org/all/20240528095941.872693-1-ghidoliemanuele@gmail.com/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-05-28toradex: tdx-cfg-block: add verdin imx95 sku 0089 pid4Emanuele Ghidoli
Add new PID4 0089 Verdin iMX95 Hexa 16GB WB IT to config block handling. Upstream-Status: Submitted [https://lore.kernel.org/all/20240528095941.872693-1-ghidoliemanuele@gmail.com/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-05-28toradex: tdx-cfg-block: add aquila am69 sku 0088 pid4Emanuele Ghidoli
Add new PID4 0088 Aquila AM69 Octa 32GB WB IT to config block handling. Upstream-Status: Submitted [https://lore.kernel.org/all/20240528095941.872693-1-ghidoliemanuele@gmail.com/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-05-28board: toradex: verdin-imx8mm: increase maximum addressable ram to 4GBEmanuele Ghidoli
Add support for SKUs with higher memory sizes. Actual memory size is auto-detected. Upstream-Status: Submitted [https://lore.kernel.org/all/20240528095941.872693-1-ghidoliemanuele@gmail.com/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-05-28board: toradex: verdin-imx8mm: add 4 GB lpddr4 memory supportEmanuele Ghidoli
Add support for MT53E512M32D1ZW-046 IT:C memory. This 4 GB memory has 17 row bits instead of 16 and requires 380 ns of tRFC (tRFCab) instead of 280 ns due to increased channel density to 16 Gb. Both modifications are retro-compatible with previous memories. Upstream-Status: Submitted [https://lore.kernel.org/all/20240528095941.872693-1-ghidoliemanuele@gmail.com/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2024-03-08toradex: tdx-cfg-block: add 0087 i.mx8m mini product variantJoao Paulo Goncalves
Add new product id 0087 Verdin iMX8M Mini Quad 2GB IT. Upstream-Status: Submitted [https://lore.kernel.org/u-boot/20240308141801.49081-1-jpaulo.silvagoncalves@gmail.com/] Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
2024-01-31toradex: tdx-cfg-block: add 0086 i.mx8m mini skuJoao Paulo Goncalves
Add new product id 0086 Verdin iMX8M Mini DualLite 2GB IT. Upstream-Status: Submitted [https://lore.kernel.org/u-boot/20240131173204.100407-1-jpaulo.silvagoncalves@gmail.com/] Signed-off-by: Joao Paulo Goncalves <joao.goncalves@toradex.com>
2023-11-09board: verdin-imx8mp: update LPDDR4 configuration and trainingEmanuele Ghidoli
Update lpddr4 configuration and training using updated spreadsheet and tools from NXP using data from previous spreadsheet and verified toward datasheet: - MX8M_Plus_LPDDR4_RPA_v9.xlsx - mscale_ddr_tool_v3.30.exe From: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX-8M-Family-DDR-Tool-Release/ta-p/1104467 Some register values differ due to these fixes/modifications: - corrected calculation of T_CKPDX parameter (equal to tCKCKEH for LPDDR4) - corrected ECC related items, none of which affect normal operation when ECC is not enabled - corrected formula for calculation of tRTP in cell D122 Upstream-Status: Backport[2aa630e52b97] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-11-09board: verdin-imx8mp: fix LPDDR4 refresh timingEmanuele Ghidoli
Change tRFCmin (tRFCab) from 280 ns to 380 ns to be compliant with current and futures memories. Upstream-Status: Backport[9146f951fb42] Fixes: 2bc2f817cea7 ("board: toradex: add verdin imx8m plus support") Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-11-09board: verdin-imx8mp: update DDRC config to support different LPDDR4 memoriesEmanuele Ghidoli
Add support to Verdin IMX8MP V1.1B SKU which uses MT53E1G32D2FW-046 WT:B memory. Compared to the 8 GB memory (MT53E2G32D4NQ-046 WT:A) used on Verdin IMX8MP V1.0A it has 16 row addresses instead of 17. In fact, the new memory, is a 2 GB/rank memory. The 8 GB memory is a 4 GB/rank memory. Manually tweaking Host Interface addresses vs LPDDR4 signals mapping it is possible to have a single configuration working with both memories: - Old configuration: HIF bit 30 -> rank, HIF bit 29 -> Row 16 - New configuration: HIF bit 29 -> rank, HIF bit 30 -> Row 16 With this change the memory space from the host processor is contiguous for both the configurations and the correct memory size is computed using get_ram_size() at runtime. Support for single rank memories still works thanks to the fact dual ranks training fails (ddr_init->ddr_cfg_phy) toward single rank memories. Upstream-Status: Backport[72b912502aef] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-09-12board: toradex: verdin-imx8mm: set fixed LPDDR4 refresh rate as per errata ↵Andrejs Cainikovs
ERR050805 Update lpddr4 configuration and training using updated spreadsheet and tools from NXP using data from previous spreadsheet and verified toward datasheet: - MX8M_Mini_LPDDR4_RPA_v22.xlsx - mscale_ddr_tool_v3.31_setup.exe The most relevant update is related to errata ERR050805: "DRAM: Controller automatic derating logic may not work when the LPDDR4 memory temperature is above 85 °C at initialization" Other relevant fixes: - DRAMTMG7 register: corrected calculation of T_CKPDX parameter (equal to tCKCKEH for LPDDR4) - RANKCTL register: corrected calculations for ODTLon and ODTLoff to follow the JEDEC specification - ADDRMAP7 register: added support for 17-row devices As per errata ERR050805: An issue exists with the automatic derating logic of the DDR controller that only samples the LPDDR4 MR4 register when the Temperature Update Flag (TUF) field (MR4[7] ) is 1’b1. If the LPDDR4 memory is initialized and starts operation above 85 °C (MR4[2:0] > 3’b011), the MR4 Temperature Update Flag (TUF) will not be set. The DDR Controller will therefore not automatically adjust the memory refresh rate or de-rate memory timings based on the LPDDR4 memory temperature. This may cause the controller incorrectly setting the refresh period, potentially cause the LPDDR4 memory losing data contents and lead to possible data integrity issues above 85 °C. Errata provides three possible workaround options, while option 2 is the most reasonable: Disable the automatic derating logic of the DDR controller and apply fixed x2 refresh rate (0.5x refresh). This option is suitable for designs that are expected to boot at or above 85 °C and memory’s MR4[2:0] (Refresh Rate) DOES NOT report the following conditions: 3b101: 0.25x refresh, no de-rating 3b110: 0.25x refresh, with de-rating 3b111: SDRAM High temperature operating limit exceeded [1]: https://www.nxp.com/docs/en/errata/IMX8MM_0N87W.pdf Upstream-Status: Pending Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-05-15toradex: tdx-cfg-block: add 0070 verdin i.mx 8m plus quad skuEmanuele Ghidoli
Add new i.MX 8M Plus Quad SKU to ConfigBlock handling. 0070: Verdin iMX8M Plus Quad 8GB WB IT This SKU is identical to 0066 but with Industrial Temperature Grade SoC. Upstream-Status: Submitted [https://lore.kernel.org/all/20230515130641.26028-1-francesco@dolcini.it/] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2022-07-06toradex: tdx-cfg-block: add 0068 i.mx 8m mini skuPhilippe Schenker
[ backported from https://lore.kernel.org/u-boot/20220706121505.448579-1-dev@pschenker.ch/T/#u ] Add new i.MX 8M Mini SKU to ConfigBlock handling. 0068: Verdin iMX8M Mini Quad 2GB WB IT No CAN This SKU is identical to 0055 but without CAN. Mention this in the name so those modules can be distinguished. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2022-06-20toradex: tdx-cfg-block: add new toradex oui rangePhilippe Schenker
[ backported from https://lists.denx.de/pipermail/u-boot/2022-June/486993.html ] Add new Toradex MAC OUI (8c:06:cb), to the config block. With this change we extend the possible serial-numbers as follows: For serial-numbers 00000000-16777215 OUI 00:14:2d is taken For serial-numbers 16777216-33554431 OUI 8c:06:cb is taken Lower 24-bit of the serial number are used in the NIC part of the MAC address, the complete serial number can be calculated using the OUI. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> [ps: use kdiff3 to autoresolve conflicts]
2022-06-14toradex: tdx-cfg-block: extend assembly versionPhilippe Schenker
[ backport https://lists.denx.de/pipermail/u-boot/2022-June/486350.html ] There are two decimal digits reserved to encode the module version and revision. This code so far implemented A-Z which used 0-25 of this range. This commit extends the range to make use of all 99 numbers. After capital letters the form with a hashtag and number (e.g. #26) is used. Examples: If the assembly version is between zero and 25 the numbering is as follows, as it also has been before this commit: 0: V0.0A 1: V0.0B ... 25: V0.0Z New numbering of assembly version: If the number is between 26 and 99 the new assembly version name is: 26: V0.0#26 27: V0.0#27 ... 99: V0.0#99 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> [ps: backport: replace dectoul() with simple_strtoul()]
2022-06-14toradex: tdx-cfg-block: use defines for string lengthPhilippe Schenker
[ backport from https://lists.denx.de/pipermail/u-boot/2022-June/486349.html ] to make it easily extendable and code is implicitly documented Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-06-14toradex: tdx-cfg-block: use only snprintfPhilippe Schenker
[ backport https://lists.denx.de/pipermail/u-boot/2022-June/486348.html ] Prevent memory issues that could appear with sprintf. Replace all sprintf occurences with snprintf. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-05-20Merge tag 'rel_imx_5.4.70_2.3.6' into toradex_imx_v2020.04_5.4.70_2.3.0Philippe Schenker
"rel_imx_5.4.70_2.3.6"
2022-05-09board: apalis-imx8: add new 8gb product variantPhilippe Schenker
Add the new Apalis iMX8 product variant 0067: Apalis iMX8 QuadMax 8GB Wi-Fi / BT IT the only difference to the product 0037 Apalis iMX8 QuadMax 4GB Wi-Fi / BT IT is the 8gb of RAM. Toradex strategy to choose the correct RAM timing in SCFW is by fuses in the user area telling which RAM timing to load. This commit makes use of this information to set the correct size of the RAM and therefore distinguish between the new 0067 and 0037 product Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2022-05-09toradex: tdx-cfg-block: add new 8gb apalis-imx8Philippe Schenker
0067: Apalis iMX8 QuadMax 8GB Wi-Fi / BT IT This module is identical to its 4GB counterpart 0037: Apalis iMX8 QuadMax 4GB Wi-Fi / BT IT except for the RAM size. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2021-11-10apalis-imx8x: Drop support for Apalis iMX8XDenys Drozdov
Drop Apalis iMX8X platform as no longer supported. Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-11-04verdin-imx8mp: avoid storing environment every bootDenys Drozdov
Verdin should never save the environment to flash if not asked. Avoid storing environment in this case. Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-11-04verdin-imx8mm: avoid storing environment every bootDenys Drozdov
Verdin should never save the environment to flash if not asked. Avoid storing environment in this case. Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-11-04apalis-imx8: avoid storing environment every bootDenys Drozdov
Since CONFIG_ENV_IS_NOWHERE is not defined for Apalis iMX8, avoid storing environment every boot. Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-10-26colibri-imx8x: make select_dt_from_module_version a commandMax Krummenacher
When booting the Toradex Easy Installer from USB recovery select_dt_from_module_version is not automatically executed and thus ${soc} is not set correctly. Make the function available as a cli command so it can be executed as part of the bootcmd_mfg. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-10-26colibri-imx8x: set the soc env variable according to fusesMax Krummenacher
Move from using cfgblock information for setting the soc environment variable to use fuse information. This allows using the correct device tree even if the config block is not available. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-10-26colibri-imx8x: extraxt is_imx8dx() from ram detectionMax Krummenacher
Refactor the detection of QXP vs. DX SoC into its own helper function. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-09-17apalis-imx8: set default soc and variant for new modulesDenys Drozdov
For the unfused modules ${soc} is defined to imx8. The ${variant} is undefined as well. This leads to that Easy Installer failed to load absent DT. Specify default ${soc} as imx8qm and ${variant} as "-v1.1" explicitly. Related-to: TEI-949 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-08-20colibri-imx8x: construct fdtfile dynamicallyStefano Viola
The following expression is used to construct the device tree name: fdtfile=${soc}-colibri-${fdt_board}.dtb - soc is set dynamically (either imx8qxp imx8dx) - fdt_board can be modified by the user (eval-V3, aster, iris/iris-V2) Related-to: ELB-2800 Signed-of-by: Stefano Viola <stefano.viola@toradex.com>
2021-07-29MLK-25349 imx8mq_evk: Enable PCIE VREG for 3.3v PHY supplyYe Li
The bit12 of IOMUXC_GPR_GPR14/16 are used to bypass internal regulator for two PCIE PHYs: When PCIE_VPH = 3.3V, enable internal 3.3V to 1.8V regulator to generate the 1.8V, the register of IOMUXC_GPR_GPR14/16 bit 12 = 1'b0; When PCIE_VPH = 1.8V, disable the internal 3.3V to 1.8V regulator, using the external 1.8V for the PHY, the register of IOMUXC_GPR_GPR14/16 bit 12 = 1'b1;" This bit is reset to 1 which means bypass the internal regulator. However the EVK board connects 3.3v supply to PCIE_VPH. So we must enable the regulator, otherwise it could potentially impact the product lifetime of the device. Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Richard Zhu <hongxing.zhu@nxp.com> (cherry picked from commit 3fd0991551c8236319b8bf29ca47813c9242c18f)
2021-07-27apalis-imx8: construct fdtfile dynamicallyDenys Drozdov
The following expression is used to construct the device tree name: fdtfile=${soc}-apalis${variant}-${fdt_board}.dtb - soc is set dynamically (either imx8qp or imx8qm), - variant is set dynamically (either empty or -v1.1), - fdt_board can be modified by the user (eval or ixora) Related-to: ELB-3338 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-07-26board: toradex: apalis-imx8: Leave module revision print awayDenys Drozdov
We don't like to print module revision all the time. Drop the module revision output from the code Related-to: ELB-3338 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-07-23board: toradex: apalis-imx8: Select proper DTsDenys Drozdov
Toradex Linux kernel supports different device trees for Apalis iMX8QM and Apalis iMX8QP SKUs and board revisions. Update apalis-imx8 to support both QM and QP revisions Related-to: ELB-3338 Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
2021-07-09board: toradex: verdin-imx8mp: unified ram configurationMarcel Ziswiler
First, try configuring for quad die, dual rank aka 8 GB RAM configuration. Falling back to dual die, single rank aka 1 GB (untested), 2 GB or 4 GB RAM configuration if it fails. Related-to: ELB-3938 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2021-07-08board: toradex: verdin-imx8mp: re-add 1, 2 or 4 gb ram configurationMarcel Ziswiler
Re-add previous dual die, single rank aka 1 GB (untested), 2 GB or 4GB RAM configuration as a separate parameter set. A later commit uses this as a fall-back configuration allowing for dynamic unified memory configuration of all our (current) SKUs. Related-to: ELB-3938 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2021-07-08board: toradex: verdin-imx8mp: integrate 8 gb ram configurationMarcel Ziswiler
As a first step, integrate the quad die, dual rank aka 8 GB configuration. In a later step, the previous dual die, single rank aka 1 GB (untested), 2 GB or 4 GB configuration will be re-added as a fall-back configuration allowing for dynamic unified memory configuration of all our (current) SKUs. Related-to: ELB-3938 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2021-06-21verdin-imx8mp: fix wifi-device detectionMax Krummenacher
Fixes commit 283ec8678 ('board: verdin-imx8mp: add missing modules to the wifi-device tree list') Related-to: ELB-4003 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-06-18MLK-25347-2: board: freescale: imx8mm ab2: spl enable usb boot deviceAdrian Alonso
Enable usb boot device support for imx8mm ab2 target boards Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 14639c28a70005016d343bfd883948f37e509234)
2021-06-18MLK-25347-1: board: freescale: imx8mm ab2: usb supportAdrian Alonso
Enable usb and fastboot for serial download support on Audio board 2 targets Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 60239e91a6a5658af3f36428fa55b160c90a6858)
2021-06-15toradex: add easy installer optionOleksandr Suvorov
Add Toradex Easy Installer specific option. Currently this is needed to choose the correct ubiboot options and use correct name of distro boot script for Easy Installer. Related-to: TEI-791 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2021-06-07board: verdin-imx8mp: add missing modules to the wifi-device tree listPhilippe Schenker
Reported-by: Dominik Sliwa <dominik.sliwa@toradex.com> Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2021-05-19toradex: tdx-cfg-clock: 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-05-04Merge remote-tracking branch 'nxp/imx_v2020.04_5.4.70_2.3.0' into ↵Max Krummenacher
toradex_imx_v2020.04_5.4.70_2.3.0 Update to NXP BSP tag rel_imx_5.4.70_2.3.2 https://source.codeaurora.org/external/imx/uboot-imx/tag/?h=rel_imx_5.4.70_2.3.2 Related-to: ELB-3957 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-04-07toradex: 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>
2021-04-01colibri-imx8x: hardcode the on module usb hub to bypass modeMax Krummenacher
The on module USB hub connects upstream to SoC USB_OTG2 and provides two downstream ports, one to the on module Wi-Fi, one to the SODIMM connector. In bypass mode the upstream port is directly connected to the SODIMM connector pins. Related-to: ELB-3853 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-04-01colibri-imx8x: drop ifdef'ed code and unused macrosMax Krummenacher
The macros are no longer used as the pins concerned are now configured in the device tree. This gpio setup code is from the initial bringup and was never needed in the first place. Just delete it. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-03-25verdin-imx8mp: spl: enable adc supplyMax Krummenacher
Enable the ADC supply (LDO4) @ 3.3V before enabling the I2C level shifter so that both sides of the level shifter are properly powered. Otherwise, depending on ADC connections the on module PMIC I2C bus might not be functional. Relates-to: ELB-3873 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-02-17verdin-imx8mm: drop support for v1.0 hardwareMax Krummenacher
We drop support for Verdin iMX8M Mini V1.0B. Releated-to: ELB-3551 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2021-01-27toradex: 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: c0c3978cba34 ("toradex: tdx-cfg-block: add Verdin iMX8M Mini/Nano support") Fixes: 7780d4ec8ee3 ("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>
2021-01-20colibri-imx8x: fix gpio reserved error messageIgor Opaniuk
This prevents messages like: gpio@5d0d0000: get_value: error: gpio GPIO5_9 not reserved when CONFIG_DM_GPIO is enabled. Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>