summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-02-21toradex: 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. Upstream-Status: Backport [a2da29a4e2a0adac38dba2ebbb539ce52898d078] Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2023-02-21toradex: 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. Upstream-Status: Backport [1cf4e79f5776e9cc451b7f4affec7e47db9533f9] Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Reviewed-by: Fabio Estevam <festevam@denx.de> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: 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 Upstream-Status: Backport [7e27ce16c5d289e5b9712a179e798ea4eb831816] Due to missing dectoul() rely on simple_strtoul() instead. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: tdx-cfg-block: use defines for string lengthPhilippe Schenker
With those defines the length can be reused and is in one place extendable. Upstream-Status: Backport [494ef10c3bf7859e7d21d9e1d608dc0b634451c2] Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: tdx-cfg-block: use only snprintfPhilippe Schenker
Prevent memory issues that could appear with sprintf. Replace all sprintf occurences with snprintf. Upstream-Status: Backport [39ff0624bc5ad287fced0f60be9b977d07b1813a] Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: 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. Upstream-Status: Backport [4941035143a467bb356af7bfe6bfe3f04b2186f1] Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-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). Upstream-Status: Backport [fc102c87c11dfd52039326534ff831d3edd8340d] Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: apalis-imx8x: drop support for apalis imx8xDenys Drozdov
Drop Apalis iMX8X platform as it never left sample state and is no longer supported. Upstream-Status: Backport [47bcc0d056aa243a31d2a1edb44bdcd155f5335b] Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: tdx-cfg-block: 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 Upstream-Status: Backport [c9585087bc556eb15f04a76ae4a216b2e565cc51] Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: 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: a5b5ad4d859b ("toradex: tdx-cfg-clock: add new i.mx 8m mini/plus skus") Related-to: ELB-3482 Upstream-Status: Backport [ab98ebf79cd4b8beaed02bfd024f4fc290f4da00] Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2023-02-21toradex: 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 all digits of PID8 to store module revision. Upstream-Status: Backport [fd90aca329a37eade4187ca886a8dea5c60aaba0] Signed-off-by: Denys Drozdov <denys.drozdov@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2023-02-21buildman: 'Thread' object has no attribute 'isAlive'Heinrich Schuchardt
The isAlive() method was deprecated in Python 3.8 and has been removed in Python 3.9. See https://bugs.python.org/issue37804. Use is_alive() instead. Since Python 2.6 is_alive() has been a synonym for isAlive(). So there should be no problems for users using elder Python 3 versions. Upstream-Status: Backport [fd434f47d4d008d41f4ee2fe5cb94791f780395c] Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-02-14include: configs: Update env for selecting right dtb fileDasnavis Sabiya
To select the dtb file, default_device_tree variable cannot be relied upon as same defconfig file is used for J784S4 EVM and AM69 SK boards. Update the findfdt env variable to select appropriate dtb based on the board_name env variable. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com>
2023-02-14arm: dts: k3-am69-sk: Add r5 specific dt supportDasnavis Sabiya
Add initial support for device tree that runs on R5. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com>
2023-02-14arch: arm: dts: k3-am69-sk: Add support for reserved memory nodesDasnavis Sabiya
Two carveout reserved memory nodes each have been added for each of the R5F and C71x remote processor devices/DSP/DSPs within both the MCU and MAIN domains. These nodes are assigned to the respective rproc device nodes as well. The first region will be used as the DMA pool for the rproc device, and the second region will furnish the static carveout regions for the firmware memory. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com>
2023-02-14arm: dts: Add support for AM69 Starter KitDasnavis Sabiya
AM69 Starter Kit is a single board designed for TI’s AM69 SoC. TI’s AM69 SoC belongs to the K3 Multicore SoC architecture platform, providing advanced system integration in automotive ADAS applications, autonomous mobile robot and edge AI applications. The SOC comprises of Cortex-A72s in dual clusters, lockstep capable dual Cortex-R5F MCUs, Vision Processing Accelerators (VPAC) with Image Signal Processor (ISP) and multiple vision assist accelerators, Depth and Motion Processing Accelerators (DMPAC), Deep-learning Matrix Multiply Accelerator(MMA) and C7x floating point vector DSP AM69 SK supports the following interfaces: * 32 GB LPDDR4 RAM * x1 Gigabit Ethernet interface * x1 USB 3.1 Type-C port * x2 USB 3.1 Type-A ports * x1 PCIe M.2 M Key * x1 PCIe M.2 E Key * 512 Mbit OSPI flash * x2 CSI2 Camera interface * 40-pin Raspberry Pi header * 50-pin ENET Header Add initial support for the AM69 SK board. Design Files: https://www.ti.com/lit/zip/SPRR466 TRM: https://www.ti.com/lit/zip/spruj52 Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com>
2023-02-14arm: j784s4: Add support for selecting DT based on board nameDasnavis Sabiya
Add support for selecting DTB from FIT based on the board name read from EEPROM. This facilitates the use of single defconfig for EVM and SK. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-02-14board: ti: j784s4: Add support for detecting multiple device treesDasnavis Sabiya
Update the board_fit_config_name_match() to choose the dtb based on the board name read from EEPROM. Restrict multpile EEPROM reads by verifying if EEPROM is already read. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-02-14board: ti: j784s4: Add support to update board_name for am69-skDasnavis Sabiya
Update setup_board_eeprom_env() to choose the right board name for am69-sk. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-02-14board: ti: j784s4: Update EEPROM address for AM69 SKDasnavis Sabiya
J784S4 EVM has EEPROM populated at 0x50. AM69 SK has EEPROM populated at next address 0x51. So start looking for TI specific EEPROM at 0x50, if not found look for EEPROM at 0x51. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-02-14configs: j784s4_evm_a72: Enable support for building multiple dtbs into FITDasnavis Sabiya
Enable configs for building multiple dtbs into a single fit image and load the appropriate dtb for next stage. Add k3-am69-sk dtb along with the evm dtb. This facilitates the use of common defconfig for both EVM and SK. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-02-14configs: j784s4_evm_r5: Enable support for building multiple dtbs into FITDasnavis Sabiya
Enable configs for building multiple dtbs into a single fit image and load the appropriate dtb for next stage. This facilitates the use of common defconfig for both EVM and SK. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com> Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2023-02-09configs: j721s2_evm: Merge the GP and HS-FS defconfigsSinthu Raja
J721S2 supports both secure and non-secure devices, including HS-FS and GP devices. Update the default defconfig to include configuration for both GP and HS-FS. Because of runtime device type detection, both GP and HS-FS devices will continue to boot. Additionally, if TI_SECURE_DEV_PKG is not set the build emits warnings, the same shall be ignored for GP devices. Signed-off-by: Sinthu Raja <sinthu.raja@ti.com> Acked-by: Manorit Chawdhry <m-chawdhry@ti.com>
2023-02-09arm: mach-k3: j7200: Fix firewall warnings at boot timeManorit Chawdhry
J721E and J7200 have same file j721e_init.c which had the firewall configs for J721E being applied on J7200 causing the warnings. Split the firewalls for both the boards to remove those warnings. Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com> Tested-by: Vaishnav Achath <vaishnav.a@ti.com>
2023-02-08arm: dts: k3-am62a: Enable full 4GB LPDDR4Devarsh Thakkar
AM62A7-SK board has 4GB LPDDR4 Micron MT53E2G32D4DE-046 AUT:B part but only 2GB was enabled early. Enable full 4GB memory by updating the latter 2GB memory region which gets mapped to 0x0880000000 i.e. DDR16SS0_SDRAM as referred in Table 2-1. AM62A Common SoC Memory of AM62Ax TRM [1]. [1] : https://www.ti.com/lit/zip/spruj16 Logs: https://gist.github.com/devarsht/e85b6af89c01ddadb3a62f3e5f196af8 Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
2023-02-08configs: am62xx_evm: Hook up GPMC NAND DFU entriesNitin Yadav
AM62x LP SK has GPMC NAND on board, add DFU entries for the same. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08environment: ti: k3_dfu: Add DFU alt_info for GPMC NANDNitin Yadav
Define dfu_alt_info settings for GPMC NAND to enable flashing to NAND flash via USB. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08configs: am62x_lpsk_r5_gpmc_defconfig: Add GPMC NAND specific defconfigVignesh Raghavendra
Add separate config to support GPMC NAND boot as the default defconfig cannot be extended to support NAND due to SRAM size limitations. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org>
2023-02-08configs: am62x_evm.h: Setup UBIFS environment for Linux bootVignesh Raghavendra
Add UBIFS related environment variable to enable kernel boot from UBIFS on GPMC NAND Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org>
2023-02-08configs: am62x_evm: Provide NAND configurationNitin Yadav
Add support for AM62Q NAND card: X8 NAND EXPANSION BOARD card (PROC143E1) for AM62x LP SK board. These changes provide NAND Device configuration for AM62x LP-SK board. We are currently using raw NAND partition for tispl.bin (A53 SPL) and u-boot.img (A53 u-boot). Signed-off-by: Nitin Yadav <n-yadav@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org>
2023-02-08configs: am62x_lpsk_a53_defconfig: Enable NAND supportNitin Yadav
Add mtdids/mtdparts for NAND as it is required for u-boot mtd subsystem and commands to recognize NAND partitions. Enable NAND support for A53 SPL. Enable GPIO support for detecting NAND and I2C EEPROM. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08arm: dts: ti: Add GPMC NAND card supportNitin Yadav
Add support for AM62Q NAND card: X8 NAND EXPANSION BOARD card (PROC143E1) for AM62x LP SK board. NAND has partitions for different boot components as below: 0x000000000000-0x000000200000 : "NAND.tiboot3 0x000000200000-0x000000400000 : "NAND.tispl 0x000000400000-0x000000600000 : "NAND.tiboot3.backup 0x000000600000-0x000000a00000 : "NAND.u-boot 0x000000a00000-0x000000a40000 : "NAND.u-boot-env 0x000000a40000-0x000000a80000 : "NAND.u-boot-env.backup 0x000000a80000-0x000040000000 : "NAND.file-system Note, there is simply not enough SRAM to support application of overlay and hence NAND addon card is not modeled as overlay. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08arm: dts: ti: k3-am62: Add GPMC nodesNitin Yadav
This adds GPMC and ELM nodes in preparation to add GPMC NAND addon card support. Signed-off-by: Nitin Yadav <n-yadav@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org>
2023-02-08board: ti: am62x: Add daughter card detection supportNitin Yadav
Add support to probe connected daughter cards, select appropriate overlays for kernel boot up based on add-on cards detected. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08arm: mach-k3: am62x: add support for GPMC clks at R5 SPLVignesh Raghavendra
Add clock and device data to enable GPMC NAND access at R5 SPL support. This is needed to support booting out of GPMC NAND device. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-02-08arm: mach-k3: am62x: Remove unused eMMC board clockVignesh Raghavendra
Regenerate clk and dev data with unused eMMC board clocks removed which saves precious SRAM space. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-02-08arm: mach-k3: Add NAND device SupportNitin Yadav
Introduce an option of booting from GPMC NAND device in primary bootmedia list. Also, fix NAND BOOT device definition. Fixes: e52197789d4 (arm: mach-k3: Introduce the basic files to support AM62) Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08drivers: mtd: rawnand: Add u-boot driver model support for ELMNitin Yadav
To support u-boot driver model. Retain support legacy way of doing things if ELM_BASE is defined in <asm/arch/hardware.h> We could completely get rid of that if all platforms defining ELM_BASE get rid of that definition. enable CONFIG_SYS_NAND_SELF_INIT commit 7363cf0581a3 ("mtd: rawnand: omap_elm: u-boot driver model support") upstream Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-02-08dt-bindings: mtd: Add ti, elm DT binding documentationRoger Quadros
Adds DT binding documentation for the TI Error Location Module. This is picked up from the Linux Kernel. commit 8993d5f2ac02 ("dt-bindings: mtd: Add ti, elm DT binding documentation") upstream Signed-off-by: Roger Quadros <rogerq@kernel.org> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Link: https://lore.kernel.org/all/20221220102203.52398-8-rogerq@kernel.org
2023-02-08configs: am62xx_evm: Drop EXTRA_ENV_DFUARGS for R5 SPLNitin Yadav
Drop EXTRA_ENV_DFUARGS from R5 SPL build to save SRAM space. There is no need for DFU args at R5 SPL stage. Signed-off-by: Nitin Yadav <n-yadav@ti.com>
2023-01-30configs: am62x_*_a53_defconfig: Enable more DFU optionsVignesh Raghavendra
Enable DFU_MTD to allow update OSPI NAND over USB. usage wrt OSPI NAND for example: On EVM => setenv dfu_alt_info $dfu_alt_info_ospi_nand => dfu 0 mtd spi-nand0 On PC $ sudo dfu-util -l $ sudo dfu-util -a tispl.bin -D tispl.bin Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-01-30configs: am62ax_evm_a53_defconfig: Enable more DFU optionsVignesh Raghavendra
Enable DFU MTD, RAM, SF and MMC to allow update of respective media over USB. Usage wrt OSPI NAND for example: => setenv dfu_alt_info $dfu_alt_info_ospi_nand => dfu 0 mtd spi-nand0 On PC $ sudo dfu-util -l $ sudo dfu-util -a tispl.bin -D tispl.bin Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-01-30configs: am62xx_evm: Hook up OSPI NAND DFU entriesVignesh Raghavendra
AM62x LP SK and AM62A SK have OSPI NAND on board, add DFU entries for the same. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-01-30environment: ti: k3_dfu: Add DFU alt_info for OSPI NANDVignesh Raghavendra
Define dfu_alt_info settings for OSPI NAND to enable flashing to OSPI NAND flash via USB Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2023-01-30arm: mach-k3: am62a7_init: Open up FSS_DAT_REG3 firewallVignesh Raghavendra
On security enforced (HS-SE) devices ROM firewalls OSPI data region3 that is present in above 64bit region. Open this up in bootloader to allow Linux to access OSPI flashes in mmap mode. Without this kernel will crash when accessing this region due to firewall violations on HS-SE devices. Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Tested-by: Judith Mendez <jm@ti.com>
2023-01-25arm: dts: k3-j721e-mcu-wakeup: Add HBMC config register regionVaishnav Achath
Updates to HyperBus calibration sequence requires the HBMC config register region, include that in hbmc node. Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com> Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
2023-01-25arm: dts: k3-j7200-mcu-wakeup: Add HBMC config register regionVaishnav Achath
Updates to HyperBus calibration sequence requires the HBMC config register region, include that in hbmc node. Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com> Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
2023-01-25mtd: hbmc-am654: Update HyperBus calibration sequenceVaishnav Achath
Update the HyperBus calibration sequence to fix the instabilities seen during calibration.The current calibration sequence is same as described in J721E TRM[1] which is as follows: 1) Ensure FIFO RAM Auto-init is complete 2) Attempt to read 64 bytes of data from CFI region for 16 iterations and if data is same in 4 successive iterations then consider Delay Locked Loop(DLL) is stabilized. 3) Verify DLL lock by verifying MDLL_LOCK and SDL_LOCK bit set in CFG_DLL_STAT register. 4) Confirm calibration by checking for "QRY" string in CFI region. Also perform minor cleanup and update am654_hyperbus_calibrate() to return non-zero value on failure. Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com> Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
2023-01-25arch: arm: k3-j784s4-evm: Update EVM DT files to adapt SoC DT changesDasnavis Sabiya
The u-boot SoC specific dtsi files are updated to align with Kernel. Update the j784s4 evm DT files to accomodate those change made to the dtsi files. Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com> Tested-by: Hari Nagalla <hnagalla@ti.com> Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
2023-01-25arch: arm: dts: j784s4: Update u-boot DTSi filesDasnavis Sabiya
The u-boot DT files need to be in sync with kernel DT files. Update the SoC specific DT files to match the label, node names and add the missing nodes to be in sync with the kernel files. The List of updates in the k3-j784s4-main.dtsi file: * The nodes and child nodes of system-controller * The node name of hwlock * The nodes and child nodes of the main_cpsw0 and main_cpsw1 The List of updates in the k3-j784s4-mcu-wakeup.dtsi file: * Label name of mcu_cpsw_port1 Signed-off-by: Dasnavis Sabiya <sabiya.d@ti.com> Tested-by: Hari Nagalla <hnagalla@ti.com> Reviewed-by: Siddharth Vadapalli <s-vadapalli@ti.com>