summaryrefslogtreecommitdiff
path: root/board/toradex
AgeCommit message (Collapse)Author
2022-10-21ARM: imx8m: verdin-imx8mm: Drop bogus content from spl_board_init()Marek Vasut
The current implementation of spl_board_init() USB boot handling is not correct, the MX8MM BootROM v1 does not support SDP load when re-entered from U-Boot SPL, it is up to U-Boot to perform the next stage load using its own internal CI gadget driver and SDP protocol implementation. Drop the spl_board_init() to let SPL continue with normal load in case the SDP support is enabled. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2022-10-21ARM: imx8m: Deduplicate CAAM init with arch_misc_init() callMarek Vasut
Instead of duplicating code implemented by i.MX8M version of arch_misc_init() in every board, enable CONFIG_ARCH_MISC_INIT and call arch_misc_init() from spl_board_init(). This removes the duplication. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2022-10-20ARM: imx8mp: verdin-imx8mp: Add memory size detectionFrancesco Dolcini
Add RAM auto-sizing, without this change memory size for all SKU is set to 8GB and the system will crash on SKU with less memory as soon as the non existent memory addresses are accessed. Fixes: 2bc2f817cea7 ("board: toradex: add verdin imx8m plus support") Signed-off-by: Francesco Dolcini <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-10-20board: verdin-imx8mp: add call to ft_common_board_setupPhilippe Schenker
With this call the following attributes get set to the device-tree and are then accessible from linux in /proc/device-tree/ serial-number: The serial number that is stored in config-block toradex,board-rev: The version of the module (e.g. V1.1A) toradex,product-id: The SKU number of the module runnin Fixes: commit 2bc2f817cea7 ("board: toradex: add verdin imx8m plus support") Signed-off-by: Philippe Schenker <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-10-20board: verdin-imx8mm: add call to ft_common_board_setupPhilippe Schenker
With this call the following attributes get set to the device-tree and are then accessible from linux in /proc/device-tree/ serial-number: The serial number that is stored in config-block toradex,board-rev: The version of the module (e.g. V1.1A) toradex,product-id: The SKU number of the module running Fixes: commit 14d5aeff776b ("board: toradex: Add Verdin iMX8M Mini support") Signed-off-by: Philippe Schenker <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-09-19Merge branch 'master' into nextTom Rini
Signed-off-by: Tom Rini <[email protected]>
2022-09-18verdin-imx8mp: do not save environment when it's nowhereDenys Drozdov
This code part is broken, remove it. Signed-off-by: Andrejs Cainikovs <[email protected]> Signed-off-by: Denys Drozdov <[email protected]>
2022-09-18verdin-imx8mm: do not save environment when it's nowhereDenys Drozdov
This code part is broken, remove it. Signed-off-by: Andrejs Cainikovs <[email protected]> Signed-off-by: Denys Drozdov <[email protected]>
2022-09-18verdin-imx8mm: improve and extend boot devicesMarcel Ziswiler
- Annotate boot devices available in spl_board_boot_device(). - Drop SD3_BOOT/MMC3_BOOT not available for boot on Verdin iMX8M Mini. Signed-off-by: Marcel Ziswiler <[email protected]>
2022-09-18verdin-imx8mm: prepare for optional job ring driver modelMarcel Ziswiler
Prepare for optional job ring driver model. Sec may be initialized based on the job ring information processed from the device tree. Signed-off-by: Marcel Ziswiler <[email protected]>
2022-09-16blk: Switch over to using uclass IDsSimon Glass
We currently have an if_type (interface type) and a uclass id. These are closely related and we don't need to have both. Drop the if_type values and use the uclass ones instead. Maintain the existing, subtle, one-way conversion between UCLASS_USB and UCLASS_MASS_STORAGE for now, and add a comment. Signed-off-by: Simon Glass <[email protected]>
2022-08-04Audit <flash.h> inclusionTom Rini
A large number of files include <flash.h> as it used to be how various SPI flash related functions were found, or for other reasons entirely. In order to migrate some further CONFIG symbols to Kconfig we need to not include flash.h in cases where we don't have a NOR flash of some sort enabled. Furthermore, in cases where we are in common code and it doesn't make sense to try and further refactor the code itself in to new files we need to guard this inclusion. Signed-off-by: Tom Rini <[email protected]>
2022-07-25board: toradex: apalis-imx8: fix file names in maintainersMarcel Ziswiler
Fix device tree file names in MAINTAINERS file. Fixes: 3d6036650059 ("board: toradex: add apalis imx8qm 4gb wb it v1.0b module support") Signed-off-by: Marcel Ziswiler <[email protected]>
2022-07-25verdin-imx8mp: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux v5.19-rc5. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device tree we are now using the regular one for the Verdin Development (carrier) board (e.g. imx8mp-verdin-wifi-dev.dtb rather than the previous imx8mp-verdin.dtb). Signed-off-by: Marcel Ziswiler <[email protected]>
2022-07-25imx8mm-mx8menlo/verdin-imx8mm: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux v5.19-rc5. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device tree we are now using the regular one for the Verdin Development (carrier) board (e.g. imx8mm-verdin-wifi-dev.dtb rather than the previous imx8mm-verdin.dtb). Please further note that the PMIC node name got changed from a pmic label to pmic@25 which required adjustment in resp. board SPL file board/toradex/verdin-imx8mm/spl.c. Signed-off-by: Marcel Ziswiler <[email protected]>
2022-07-25colibri_vf: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux v5.19-rc5. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device tree we are now using the regular one for the Colibri Evaluation (carrier) board V3 (e.g. vf610-colibri-eval-v3.dtb rather than the previous vf610-colibri.dtb). Signed-off-by: Marcel Ziswiler <[email protected]>
2022-07-25colibri-imx7d/-emmc: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux-next next-20220708. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device trees we are now using the regular ones for the Colibri Evaluation (carrier) board V3 (e.g. imx7d-colibri-eval-v3.dtb rather than the previous imx7-colibri-rawnand.dtb and imx7d-colibri-emmc-eval-v3.dtb rather than the previous imx7-colibri-emmc.dtb). Please further note that the PMIC node name got changed from rn5t567@33 to pmic@33 which required adjustment in resp. board file board/toradex/colibri_imx7/colibri_imx7.c. Signed-off-by: Marcel Ziswiler <[email protected]>
2022-07-25colibri-imx6ull/-emmc: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux v5.19-rc5. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device trees we are now using the regular ones for the Colibri Evaluation (carrier) board V3 (e.g. imx6ull-colibri-eval-v3.dtb rather than the previous imx6ull-colibri.dtb and imx6ull-colibri-emmc-eval-v3.dtb rather than the previous imx6ull-colibri-emmc.dtb). Signed-off-by: Marcel Ziswiler <[email protected]>
2022-07-25colibri_imx6: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux-next next-20220708. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device tree we are now using the regular one for the Colibri Evaluation (carrier) board V3 (e.g. imx6dl-colibri-eval-v3.dtb rather than the previous imx6-colibri.dtb). Signed-off-by: Marcel Ziswiler <[email protected]>
2022-07-25apalis_imx6: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux-next 20220706. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device tree we are now using the regular one for the Apalis Evaluation (carrier) board (e.g. imx6q-apalis-eval.dtb rather than the previous imx6-apalis.dtb). Signed-off-by: Marcel Ziswiler <[email protected]>
2022-07-25toradex: common: Improve product/serial print during bootFrancesco Dolcini
Add product id print in show_board_info(), with an increasing number of Toradex SKUs available with small differences it makes sense to print it. Move serial number print to a dedicated line, this prevents the previous line with the product name to overflow the 80 columns with any reasonable product name length. Signed-off-by: Francesco Dolcini <[email protected]>
2022-07-25toradex: tdx-cfg-block: Use official SKU namesFrancesco Dolcini
Up to now in the code we named Toradex SKUs in a slightly different way compared to the official product name, start using the official names from now on to avoid misunderstanding. This has also the nice benefit of the string being shorter, allowing to fit nicely in 80 columns even adding the product ID when printing the hardware information. Signed-off-by: Francesco Dolcini <[email protected]>
2022-07-25toradex: common: Remove #ifdef usage for 2nd ethaddrFrancesco Dolcini
Fix checkpatch warn, use `IS_ENABLED(CONFIG_TDX_CFG_BLOCK_2ND_ETHADDR)` instead of `#ifdef CONFIG_TDX_CFG_BLOCK_2ND_ETHADDR`. Signed-off-by: Francesco Dolcini <[email protected]>
2022-07-25toradex: common: Remove stale function declarationFrancesco Dolcini
Remove stale show_boot_logo() declaration, not used anywhere. Fixes: e6fd30dd9eef ("toradex: drop legacy show_boot_logo function and use splashscreen") Signed-off-by: Francesco Dolcini <[email protected]>
2022-07-25toradex: tdx-cfg-block: Cleanup interactive cfg block creationFrancesco Dolcini
Simplify interactive config block creation code, instead of having a a long list of questions and a complex tree of preprocessor directive to guess the exact SKU, just ask the user to select it from a list. The modules list is filtered out to include only SKUs that are supported by the specific u-boot binary in execution. Signed-off-by: Francesco Dolcini <[email protected]>
2022-07-25toradex: common: Use ARRAY_SIZE macroFrancesco Dolcini
Use generally available ARRAY_SIZE macro, instead of hand-coding it every time is needed. Signed-off-by: Francesco Dolcini <[email protected]>
2022-07-25toradex: common: Remove stale comments about modules availabilityFrancesco Dolcini
Remove comment "not currently on sale" on specific SKUs, this information does not belong to the code and will never be accurate. Signed-off-by: Francesco Dolcini <[email protected]>
2022-07-25toradex: tdx-cfg-block: add 0068 i.mx 8m mini skuPhilippe Schenker
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 <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]>
2022-07-11Merge branch 'next'Tom Rini
2022-07-06toradex: tdx-cfg-block: add new toradex oui rangePhilippe Schenker
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 <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-07-06toradex: tdx-cfg-block: extend assembly versionPhilippe Schenker
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 <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-07-06toradex: tdx-cfg-block: use defines for string lengthPhilippe Schenker
With those defines the length can be reused and is in one place extendable. Signed-off-by: Philippe Schenker <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-07-06toradex: tdx-cfg-block: use only snprintfPhilippe Schenker
Prevent memory issues that could appear with sprintf. Replace all sprintf occurences with snprintf. Signed-off-by: Philippe Schenker <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-06-28board: apalis_imx6: DDR init using mx6_dram_cfg()Francesco Dolcini
Do DDR initialization using the procedural mx6_dram_cfg() instead of programming the MMDC using a raw list of register/value pairs, this solves some rare boot failures on specific "bad" modules. Calibration values, DDR geometry are unchanged, memory timings are updated according to the relevant memory datasheet, no changes on the power consumption. For IT temperature range SKUs CL is decreased from 8 to 7 and tFAW value is increased, for commercial temperature range SKUs some changes on ODT parameters. This change was validated over a range of different apalis-imx6 SoM, on the whole working temperature range with weeks of continuous testing. Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-06-28toradex: apalis/colibri_imx6: Fix CLKO1/CLKO2 outputFrancesco Dolcini
Set CLK01 and CLK02 to 24MHz and enable it in CCM_CCOSR register. This clock is used by both the audio codec (CLKO1) and by the CSI camera (CLKO2) and is expected to be 24MHz. Despite the wrong 16.5MHz there was no real issue because of the wrong frequency since Linux reconfigures the clocks afterward, however this was triggering an issue with noise coming from the SGTL5000 audio codec. The problem is that the SGTL5000 does not have a reset pin and after it is configured if the input MCLK clock is disabled it produces a constant noise on its output, this was happening on software reboot. Forcing the clock to be enabled in U-Boot prevent the problem by making sure that the clock is always available, without this change as soon as Linux was changing the clock tree (setting clk_out_sel=1 without setting clko2_en=1) the noise would start till the actual clock was enabled (clko2_en=1) during the SGTL5000 driver probe. Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2022-06-14board: 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 <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-06-14toradex: 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 <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-06-14Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-tegraTom Rini
Signed-off-by: Tom Rini <[email protected]>
2022-06-13board: apalis_t30/tk1/colibri_t20/t30: integrate mac address via dtMarcel Ziswiler
Use device tree to set MAC address of the Ethernet chip. Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2022-05-20ARM: imx8mm: verdin-imx8mm: fix board hang in splMarcel Ziswiler
Move the preloader_console_init() call after spl_early_init() to avoid board hang in SPL. While at it remove explicit in-code console/debug UART pinmuxing (uart1 and its pinmuxing are already marked as u-boot,dm-spl via device tree). Fixes: 4551e1898769 ("configs: verdin-imx8mm: verdin-imx8mp: enable dm serial") Signed-off-by: Marcel Ziswiler <[email protected]>
2022-05-20imx: toradex/verdin-imx8mm/p: cleanup board watchdog codePeng Fan
pinctrl_wdog already marked u-boot,dm-spl, so clean up board code. The set_wdog_reset() function is not necessary as this is handled by the imx_watchdog.c driver due to the 'fsl,ext-reset-output' property being set. Signed-off-by: Peng Fan <[email protected]>
2022-05-20imx: verdin-imx8mm/p: cleanup board watchdog codePeng Fan
pinctrl_wdog already marked u-boot,dm-spl, so clean up board code. The set_wdog_reset() function is not necessary as this is handled by the imx_watchdog.c driver due to the 'fsl,ext-reset-output' property being set. Signed-off-by: Peng Fan <[email protected]>
2022-04-21board: toradex: drop colibri pxa270 supportMarcel Ziswiler
The Colibri PXA270 has been end-of-life since quite a while and would require more and more maintenance (e.g. DM conversions). Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21configs: tdx: apalis_imx6: drop hw v1.0 supportMarcel Ziswiler
Drop optional support for the ancient Apalis iMX6 V1.0 hardware which had the UART wired as DCE rather than DTE. Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21board: colibri_imx7: fix usb start on soloMarcel Ziswiler
This fixes the following crash when run on a Colibri iMX7S aka solo: Colibri iMX7 # usb start starting USB... Bus usb@30b10000: USB EHCI 1.00 Bus usb@30b20000: The i.MX 7Solo has only one single USB OTG1 but no USB host port. Trying to initialize the nonexisting port just crashes. While at it also drop board_usb_phy_mode() which is also no longer used in the driver model age. Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-21toradex: apalis-imx8x: drop support for apalis imx8xDenys Drozdov
Drop Apalis iMX8X platform as it never left sample state and is no longer supported. Signed-off-by: Denys Drozdov <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-12ARM: imx8mm: verdin-imx8mm: Drop superfluous headerMarek Vasut
The power/bd71837.h should no longer be included, since V1.1 SoM uses only the PCA9450 PMIC and the BD71837 support was removed. Drop the header too. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Marcel Ziswiler <[email protected]> Cc: Max Krummenacher <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Acked-by: Marcel Ziswiler <[email protected]>
2022-04-12board: colibri-imx6ull: fix detecting ethernet phyPhilippe Schenker
Now that it is possible to use regulator-fixed-clock make use of it. This makes U-Boot detect the PHY on first cold-boot. This commit also adjusts the code in setup_fec and follows how it is done in mx6ullevk.c This commit also slows down the boot-process by about 150ms as it now waits for the regulator-fixed-clock voltage that drives the PHY to go up. If you rely on very fast boot-speeds and don't need ethernet for your boot-process you can safely revert the changes on imx6ull-colibri.dtsi Signed-off-by: Philippe Schenker <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-12board: colibri-imx6ull: Do not leave variant variable unsetPhilippe Schenker
Toradex uses the variable variant to distinguish between modules with eMMC, NAND with wifi and NAND without wifi. This variable is set on every boot. Set this variable also if we have a NAND module without wifi to prevent issues. Signed-off-by: Philippe Schenker <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]>
2022-04-12apalis-tk1: avoid save environment unaskedDenys Drozdov
U-Boot should never save the environment unasked. This also avoids storing broken fdt_module to flash. Signed-off-by: Denys Drozdov <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]>