summaryrefslogtreecommitdiff
path: root/board/toradex
AgeCommit message (Collapse)Author
2024-02-14Revert "board: verdin-am62: set cpu core voltage depending on speed grade"Francesco Dolcini
This reverts commit d2099587d661c6ca2309256c0e04c06e26c8d34c. According to TI changing the VDD_CORE while the SoC is running is not allowed, the voltage must be set before the AM62 device reset is released, revert this change therefore. The correct solution would be to program the PMIC during manufactoring according to the speed grade of the SoC. Upstream-Status: Backport [ea7d3eec1e6e6541db68bf48a1314410e06cd9de] Link: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1318338/am623-booting-from-mmc-failed-after-lowering-vdd_core-to-0-75v/5036508#5036508 Fixes: d2099587d661 ("board: verdin-am62: set cpu core voltage depending on speed grade") Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-01-18board: verdin-am62: set cpu core voltage depending on speed gradeMax Krummenacher
Speed grade T requires the VDD_CORE voltage to be 0.85V if using the maximum core frequency. Speed grades G, K, S allow the VDD_CORE voltage to be 0.75V up to the maximum core frequency but allow to run at 0.85V. For efficiency in manufacturing and code maintenance we use 0.85V for the PMIC defaults and device tree settings and dynamically adjust the voltage in the PMIC and device tree to 0.75V for lower speed SKU to gain more than 100mW power consumption reduction. Upstream-Status: Submitted [https://lore.kernel.org/all/20240117101743.3955852-1-max.oss.09@gmail.com/T/#t] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-01-18board: verdin-am62: improve comment on usb phy core voltageMax Krummenacher
TI recommends to clear the bit independent of the used voltage. So the comment which claims to do it due to the core voltage at 0.85V is bogus. See https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1252724/am625-usb-phy-core-voltage-selection-and-vdda_core_usb-mismatch Upstream-Status: Submitted [https://lore.kernel.org/all/20240117101743.3955852-1-max.oss.09@gmail.com/T/#t] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2023-07-26board: toradex: verdin-am62: avoid relocated u-boot and reserved-memory overlapEmanuele Ghidoli
On 512 MB SoM uboot is relocated at addresses flagged as reserved-memory in the device tree (see k3-am62-verdin.dtsi). These memory areas are really used by other cores and software components, so the clash must be avoided. The net effect range between hung uboot or uboot lmb complaining it cannot reserve some memory areas while loading dt: ERROR: reserving fdt memory region failed (addr=9e780000 size=80000 flags=4) ERROR: reserving fdt memory region failed (addr=9e800000 size=1800000 flags=4) ERROR: reserving fdt memory region failed (addr=9db00000 size=c00000 flags=4) Set ram_top so relocated uboot no more clash with these reserved-memory areas. Upstream-Status: Pending This patch will be integrated into the Verdin AM62 initial support series. https://lore.kernel.org/all/20230715074050.941051-1-marcel@ziswiler.com/ Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-07-18toradex: tdx-cfg-block: rework display adapter name handlingMax Krummenacher
Rework the rather big array of zero length strings with 4 entries of actual display adapter names to a array of structs which ties a pid4 to its correspondent human readable string. Provide an accessor to get the string for a given PID4. Upstream-Status: Submitted [https://lore.kernel.org/all/20230718090734.20357-4-andrejs.cainikovs@toradex.com/] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-07-18toradex: tdx-cfg-block: rework carrier board name handlingMax Krummenacher
Rework the rather big array of zero length strings with 4 entries of actual carrier board names to a array of structs which ties a pid4 to its correspondent human readable string. Provide an accessor to get the string for a given PID4. Rework the user of the information to use the accessor. Note that check_pid8_sanity() is used for early samples of Dahlia and the development board. Yavia isn't affected. Upstream-Status: Submitted [https://lore.kernel.org/all/20230718090734.20357-3-andrejs.cainikovs@toradex.com/] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-07-18toradex: tdx-cfg-block: add yavia carrier cfg block infoMax Krummenacher
Add the Yavia Carrier board name string to the known carrier board list. Upstream-Status: Submitted [https://lore.kernel.org/all/20230718090734.20357-2-andrejs.cainikovs@toradex.com/] Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
2023-07-12board: toradex: verdin-am62: binman enablementMarcel Ziswiler
Binman enablement. Upstream-Status: Pending Binman support missing upstream Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-07-11board: toradex: verdin-am62: enable dfu and usb supportMarcel Ziswiler
Enable DFU support for the A53, for the R5 due to the smaller available size create a new configuration just for DFU support. Also enable USB device aka gadget and USB host support. Upstream-Status: Pending USB support missing upstream Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-07-11board: toradex: add verdin am62 supportMarcel Ziswiler
This adds initial support for the Toradex Verdin AM62 Quad 1GB WB IT V1.0A module. They are strapped to boot from their on-module eMMC. U-Boot supports booting from the on-module eMMC only, DFU support is disabled for now due to missing AM62x USB support. Boot sequence is: SYSFW ---> R5 SPL (both in tiboot3.bin) ---> ATF (TF-A) ---> OP-TEE ---> A53 SPL (part of tispl.bin) ---> U-boot proper (u-boot.img) Upstream-Status: Pending V2 has been sent [1] and a re-based V3 will be sent once the upstream TI stuff sufficiently stabilizes. [1] https://lore.kernel.org/all/20230612205444.363727-4-marcel@ziswiler.com Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-07-11toradex: tdx-cfg-block: add verdin am62 skusMarcel Ziswiler
Add initial Verdin AM62 Quad 1GB WB IT prototype and launch configuration SKUs to ConfigBlock handling. 0069: Verdin AM62 Quad 1GB WB IT 0071: Verdin AM62 Solo 512MB 0072: Verdin AM62 Solo 512MB WB IT 0073: Verdin AM62 Dual 1GB ET 0074: Verdin AM62 Dual 1GB IT 0075: Verdin AM62 Dual 1GB WB IT 0076: Verdin AM62 Quad 2GB WB IT Upstream-Status: Pending V2 with just the 0069 has been sent [1] and a re-based V3 with all launch SKUs will be sent once addition of 0070 [2] got applied upstream. [1] https://lore.kernel.org/all/20230612205444.363727-2-marcel@ziswiler.com [2] https://lore.kernel.org/all/20230515130641.26028-1-francesco@dolcini.it Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
2023-07-11toradex: 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 supporting Industrial Temperature range. Upstream-Status: Submitted [https://lore.kernel.org/all/20230515130641.26028-1-francesco@dolcini.it] Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-02-23board: tegra30: switch to updated pre-dm i2c writeSvyatoslav Ryhel
Configure PMIC voltages for early stages using updated early i2c write. Tested-by: Thierry Reding <treding@nvidia.com> # Beaver T30 Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom <twarren@nvidia.com>
2023-02-23board: tegra124: switch to updated pre-dm i2c writeSvyatoslav Ryhel
Configure PMIC for early stages using updated i2c write. Tested-by: Thierry Reding <treding@nvidia.com> # Jetson TK1 T124 Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom <twarren@nvidia.com>
2023-01-31board: apalis-imx8: add 2nd ethernet addressAndrejs Cainikovs
All Apalis iMX8 variants have 2nd RGMII on SoC, so add the address for 2nd ethernet. Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-01-30ARM: imx: Remove PMIC reset configuration from board filesMarek Vasut
The PCA9450 reset configuration can now be performed by the PCA9450 PMIC driver itself, remove the hard-coded variant from board code and let the PMIC driver perform this task using one-liner: ``` $ sed -i '/set WDOG_B_CFG to cold reset/,+2 d' $(git grep -l PCA9450_RESET_CTRL.*0xA1 board/) ``` Venice and i.MX93 EVK required slight manual fix up. Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2023-01-30board: apalis-imx8: initialize snvsAndrejs Cainikovs
Initialize Secure Non-Volatile Storage, aka SNVS. Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-01-30board: apalis-imx8: remove board_phy_config duplicateAndrejs Cainikovs
Remove a duplicate of weak board_phy_config() implementation in drivers/net/phy/phy.c. Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-01-30board: apalis-imx8: get rid of sc_err_t typePhilippe Schenker
sc_pm_setup_uart() returns int, not sc_err_t. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-01-30apalis-imx8: display build infoMarcel Ziswiler
Display build info with information about the version of SCFW, SECO and TF-A (ATF). Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-01-30apalis-imx8: turn off lcd backlight before os handoverMarcel Ziswiler
U-Boot typically tears down the display controller before handing control over to Linux. On LCD displays disabling pixel clock leads to a fading out effect with vertical/horizontal lines. Make sure to disable back light GPIO Apalis BKL1 before booting Linux. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2023-01-30apalis-imx8: implement pcb version and soc variant handlingMarcel Ziswiler
Implement PCB version and SoC variant handling which automatically loads the correct device tree for the Linux kernel. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-12-05global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_*Tom Rini
The rest of the unmigrated CONFIG symbols in the CONFIG_SYS_SDRAM namespace do not easily transition to Kconfig. In many cases they likely should come from the device tree instead. Move these out of CONFIG namespace and in to CFG namespace. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-11-10global: Migrate CONFIG_SYS_FSL* symbols to the CFG_SYS namespaceTom Rini
Migrate all of COFIG_SYS_FSL* to the CFG_SYS namespace. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-10-30video: Rename CONFIG_DM_VIDEO to CONFIG_VIDEOSimon Glass
Now that all the old code is gone, rename this option. Driver model migration is now complete. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-10-24verdin-imx8mp: spl: initialize caamAndrejs Cainikovs
This change initializes Cryptographic Accelerator and Assurance Module. Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
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 <marex@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
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 <marex@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
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 <francesco.dolcini@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
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 <philippe.schenker@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
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 <philippe.schenker@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-09-19Merge branch 'master' into nextTom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
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 <andrejs.cainikovs@toradex.com> Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
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 <andrejs.cainikovs@toradex.com> Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <sjg@chromium.org>
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 <trini@konsulko.com>
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 <marcel.ziswiler@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <marcel.ziswiler@toradex.com>
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 <francesco.dolcini@toradex.com>
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 <francesco.dolcini@toradex.com>
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 <francesco.dolcini@toradex.com>
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 <francesco.dolcini@toradex.com>