summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-29Merge patch series "Fix MMC tuning algorithm"Tom Rini
Judith Mendez <jm@ti.com> says: The following patch series includes a MMC tuning algorithm fix according to the following published paper [0]. This seris also includes fixes for OTAP/ITAP delay values in j721e_4bit_sdhci_set_ios_post and for HS400 mode. For DDR52 mode, also set ENDLL=1 and call am654_sdhci_setup_dll() instead of am654_sdhci_setup_delay_chain() according to device datasheet[1]. [0] https://www.ti.com/lit/an/spract9/spract9.pdf [1] https://www.ti.com/lit/ds/symlink/am62p.pdf
2024-04-29mmc: am654_sdhci: Fix ITAPDLY for HS400 timingJudith Mendez
At HS400 mode the ITAPDLY value is that from High Speed mode which is incorrect and may cause boot failures. The ITAPDLY for HS400 speed mode should be the same as ITAPDLY as HS200 timing after tuning is executed. Add the functionality to save ITAPDLY from HS200 tuning and save as HS400 ITAPDLY. Fixes: c964447ea3d6 ("mmc: am654_sdhci: Add support for input tap delay") Signed-off-by: Judith Mendez <jm@ti.com>
2024-04-29mmc: am654_sdhci: Set ENDLL=1 for DDR52 modeJudith Mendez
According to the device datasheet [0], ENDLL=1 for DDR52 mode, so call am654_sdhci_setup_dll() and write itapdly after since we do not carry out tuning. [0] https://www.ti.com/lit/ds/symlink/am62p.pdf Fixes: c964447ea3d6 ("mmc: am654_sdhci: Add support for input tap delay") Signed-off-by: Judith Mendez <jm@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-29mmc: am654_sdhci: Add itap_del_ena[] to store itapdlyena bitJudith Mendez
Set itap_del_ena if ITAPDLY is found in DT or if the tuning algorithm was executed and found the optimal ITAPDLY. Add the functionality to save ITAPDLYENA that can be referenced later by storing the bit in array itap_del_ena[]. Signed-off-by: Judith Mendez <jm@ti.com>
2024-04-29mmc: am654_sdhci: Fix OTAP/ITAP delay valuesNitin Yadav
U-Boot is failing to boot class U1 UHS SD cards due to incorrect OTAP and ITAP delay select values. Update OTAP and ITAP delay select values from DT. Fixes: c7d106b4eb3 ("mmc: am654_sdhci: Update output tap delay writes") Signed-off-by: Nitin Yadav <n-yadav@ti.com> Signed-off-by: Judith Mendez <jm@ti.com>
2024-04-29mmc: am654_sdhci: Add tuning algorithm for delay chainJudith Mendez
Currently the sdhci_am654 driver only supports one tuning algorithm which should be used only when DLL is enabled. The ITAPDLY is selected from the largest passing window and the buffer is viewed as a circular buffer. The new tuning algorithm should be used when the delay chain is enabled; the ITAPDLY is selected from the largest passing window and the buffer is not viewed as a circular buffer. This implementation is based off of the following paper: [1]. Also add support for multiple failing windows. [1] https://www.ti.com/lit/an/spract9/spract9.pdf Fixes: a759abf569d4 ("mmc: am654_sdhci: Add support for software tuning") Signed-off-by: Judith Mendez <jm@ti.com>
2024-04-29Merge patch series "upstream DT compatibility"Tom Rini
Caleb Connolly <caleb.connolly@linaro.org> says: This is a subset of [1]. With more platform maintainers switching to OF_UPSTREAM I didn't want to get in the way (it has also proven more difficult than I hoped to remove only the fully compatible header files). This series removes only the dt-bindings headers which contain generic data like GPIO flags, input event codes, etc. It then implements support for building all DTBs for a vendor with OF_UPSTREAM_BUILD_VENDOR. This removes the need to maintain a set list of DTBs that can be built by U-Boot and opens up the possibility of new boards becoming supported "by default" just by landing their DT upstream. [1]: https://lore.kernel.org/u-boot/20240321-b4-upstream-dt-headers-v2-0-1eac0df875fe@linaro.org
2024-04-29dts: support building all dtb files for a specific vendorCaleb Connolly
This adjusts OF_UPSTREAM to behave more like the kernel by allowing for all the devicetree files for a given vendor to be compiled. This is useful for Qualcomm in particular as most boards are supported by a single U-Boot build just provided with a different DT. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on Amlogic boards builds
2024-04-29dt-bindings: drop generic headersCaleb Connolly
Drop all the subsystem headers that are compatible with the headers in dts/upstream. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
2024-04-29arm: dts: imx6dl-brppt2: fix gpio.h includeCaleb Connolly
The "include" directory was included in the include path... Remove it. Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
2024-04-29Merge patch series "Enable ICSSG Ethernet Driver for AM65x"Tom Rini
MD Danish Anwar <danishanwar@ti.com> says: The series introduces device tree and config changes and AM65x to enable ICSSG driver. The series also enables SPL_LOAD_FIT_APPLY_OVERLAY for AM65x in order to load overlay over spl. The ICSSG2 node is added in device tree overlay so that it remains in sync with linux kernel. This series has been tested on AM65x SR2.0, and the ICSSG interface is able to ping / dhcp and boot kernel using tftp in uboot. The users need to set env variables fw_storage_interface, fw_dev_part, fw_ubi_mtdpart, fw_ubi_volume to indicate which storage medium and partition they want to use to load firmware files from. By default the env fw_storage_interface=mmc and fw_dev_part=1:2 but users can modify these envs as per their requirements.
2024-04-29board: ti: am65x: Set fw_storage_interface and fw_dev_part ENVsMD Danish Anwar
When ICSSG driver is enabled (CONFIG_TI_ICSSG_PRUETH=y) set storage_interface and fw_dev_part env variables. These variables need be set appropriately in order to load differnet ICSSG firmwares needed for ICSSG driver. By default the storage interface is mmc and the partition is 1:2. User can modify this based on their needs. Signed-off-by: MD Danish Anwar <danishanwar@ti.com> Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2024-04-29board: ti: am65x: Add check for k3-am654-icssg2 in board_fit_config_match()MD Danish Anwar
When CONFIG_TI_ICSSG_PRUETH is enabled, add config name check for the icssg2 overlay in board_fit_config_match() API. Signed-off-by: MD Danish Anwar <danishanwar@ti.com> Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2024-04-29configs: am65x_evm_a53: add SPL_LOAD_FIT_APPLY_OVERLAYMD Danish Anwar
We want SPL to apply DTB overlays (e.g. ICSSG2 overlay) so enable SPL_LOAD_FIT_APPLY_OVERLAY. Signed-off-by: MD Danish Anwar <danishanwar@ti.com> Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2024-04-29configs: am65x_evm_a53: Enable ICSSG DriverMD Danish Anwar
Enable ICSSG driver in am65x_evm_a53_defconfig Signed-off-by: MD Danish Anwar <danishanwar@ti.com> Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2024-04-29arm: dts: k3-am65x-binman: Add ICSSG2 overlay and configurationMD Danish Anwar
Add ICSSG2 overlay and configuration to tispl and u-boot images. Signed-off-by: MD Danish Anwar <danishanwar@ti.com> Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2024-04-29arm: dts: k3-am654-base-board: Add ICSSG2 Ethernet supportMD Danish Anwar
ICSSG2 provides dual Gigabit Ethernet support. Add ICSSG2 ethernet node to an overlay k3-am654-icssg2.dtso Signed-off-by: MD Danish Anwar <danishanwar@ti.com> Acked-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
2024-04-29arm: mach-k3: am62ax: Fix typo in ROM data macro nameAndrew Davis
s/ENTENDED/EXTENDED Signed-off-by: Andrew Davis <afd@ti.com>
2024-04-29.gitignore: add LTO generated fileRobert Marko
Currently, keep-syms-lto.c is being generated if LTO is enabled but unlike keep-syms-lto.o it is not being ignored, so lets add keep-syms-lto.* to .gitignore. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2024-04-29cmd: CONFIG_CMD_BLOBLIST must depend on CONFIG_BLOBLISTHeinrich Schuchardt
With CONFIG_CMD_BLOBLIST=y, CONFIG_BLOBLIST=n linker errors occur: usr/bin/ld: cmd/bloblist.o: in function `do_bloblist_list': cmd/bloblist.c:27:(.text.do_bloblist_list+0x6): undefined reference to `bloblist_show_list' /usr/bin/ld: cmd/bloblist.o: in function `do_bloblist_info': cmd/bloblist.c:19:(.text.do_bloblist_info+0x6): undefined reference to `bloblist_show_stats' Fixes: 4aed22762303 ("bloblist: Add a command") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-04-29arm: mach-k3: am642: Fix reset for workaround errata ID i2331Andrew Davis
To workaround an issue in AM642 we reset the SoC in early boot. For that we first probed the sysreset driver by calling uclass_get_device(). The ti-sci sysreset driver is now probed during the ti-sci firmware probe. Update this call to probe the firmware driver which will then probe the sysreset driver allowing do_reset() to again function as expected. Reported-by: Jonathan Humphreys <j-humphreys@ti.com> Fixes: fc5d40283483 ("firmware: ti_sci: Bind sysreset driver when enabled") Signed-off-by: Andrew Davis <afd@ti.com> Tested-by: Wadim Egorov <w.egorov@phytec.de> Tested-by: Kamlesh Gurudasani <kamlesh@ti.com>
2024-04-29mailmap: add entry for AKASHI TakahiroHeinrich Schuchardt
Akashi-san's Linaro email address in not valid anymore. Cc: AKASHI Takahiro <akashi.tkhro@gmail.com> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2024-04-29board: toradex: verdin-am62: Remove not needed env variablesFrancesco Dolcini
Remove not needed variables from environment. - boot_scripts is not needed, the default value is just fine and already includes boot.scr - setup variable used to be executed from some bootscript, however it's not required and there is no point on having this small helper here Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-04-29.gitignore: Add files produced by TI platformAndrea Calabrese
Add files produced by compilation of TI platforms: *.ti-secure(-rom) *.map *-board-config custMpk.pem *.bin_* *.fit *.itb tispl.bin_unsigned Signed-off-by: Andrea Calabrese <andrea.calabrese@amarulasolutions.com>
2024-04-29arm: dts: verdin-am62: use gpio-hog for sleep mociStefan Eichenberger
In Linux, we allow sleep moci to be turned off when the carrier board supports it and the system is in suspend. In U-Boot, however, we want the sleep moci to be always on. So we use a gpio hog and disable the regulator. This change is necessary because we switched to upstream device tree files with commit c07bba7a2c7e ("verdin-am62: move verdin am62 to OF_UPSTREAM"). A recent upstream patch removes the gpio hog from the Linux device tree, so we need to add it to the u-boot dtsi. The following patch will remove the gpio hog from the Linux device tree: https://lore.kernel.org/linux-devicetree/20240301084901.16656-1-eichest@gmail.com/ The U-Boot patch can be applied without it and will not break the build. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
2024-04-29board: ti: j721e: Add support for both esm probeUdit Kumar
At present only MCU domain ESM is probed, this means errors occurred in mcu domain will be propagate to MCU_SAFETY_ERRORn. MCU ESM accepts SOC_SAFETY_ERRORn signal as Error event and propagate to MCU_SAFETY_ERRORn.[0] Therefore adding support to probe both main domain and mcu domain ESM. [0]: https://www.ti.com/lit/zip/spruil1 spruil1c.pdf from zip Figure 12-1244. ESM Modules Overview Signed-off-by: Udit Kumar <u-kumar1@ti.com> Reviewed-by: Keerthy <j-keerthy@ti.com>
2024-04-29configs: am62px_evm_a53_defconfig: Enable MMC UHS config optionJudith Mendez
Enable MMC UHS support for to allow to enter the UHS modes for MMC1. Signed-off-by: Judith Mendez <jm@ti.com> Acked-by: Bryan Brattlof <bb@ti.com>
2024-04-29Makefile: don't add -Wno-maybe-uninitialized twiceHeinrich Schuchardt
Avoid adding the same flag to KBUILD_CFLAGS twice. Fixes: 8602d97ca2cf ("Makefile: avoid false positive -Wmaybe-uninitialized") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2024-04-29arm: dts: k3-am625-verdin: add tifsstub to tispl.binParth Pancholi
Adds tifsstub binaries, this is required for deepsleep functionality. This implements the same change as commit 128f81290b7d ("arm: dts: k3: binman: am625: add support for signing TIFSSTUB Images") did for TI AM62 SK board. Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2024-04-29Merge tag 'u-boot-imx-master-20240429' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/20563 - Fix missing fdt_fixup on colibri-imx(6ull|imx7). - Enable PCIe and NVMe on DH i.MX8M Plus DHCOM PDK3. - Convert i.MX8M flash.bin image generation to binman - Convert imx93-11x11-evk to OF_UPSTREAM.
2024-04-29Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-pmicTom Rini
2024-04-29power: pmic: tps65941: Update compatible to aling with kernel DTUdit Kumar
Linux kernel driver drivers/mfd/tps6594-i2c.c is using different name for compatible for tps6594 family PMIC. After sync of Linux kernel DT to u-boot for TI platforms J7200, J721S2 and J784S4 PMIC is no longer getting probed. So updating compatible field to align with Linux driver and DT. Signed-off-by: Udit Kumar <u-kumar1@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-29power: regulator: tps65941: Add TPS65224 PMIC regulator supportBhargav Raviprakash
Reuse TPS65941 regulator driver to adds support for TPS65224 PMIC's regulators. 4 BUCKs and 3 LDOs, where BUCK1 and BUCK2 can be configured in dual phase mode. Signed-off-by: Bhargav Raviprakash <bhargav.r@ltts.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-29power: regulator: tps65941: use function callbacks for conversion opsBhargav Raviprakash
Use function callbacks for volt2val, val2volt and slewrate lookups. This makes it easier to add support for TPS65224 PMIC regulators. Signed-off-by: Bhargav Raviprakash <bhargav.r@ltts.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-29power: regulator: tps65941: Added macros for BUCK IDBhargav Raviprakash
Adds macros for buck and ldo ids and switched to using switch case instead of if else in probe functions. Helps in adding support for TPS65224 PMIC. Signed-off-by: Bhargav Raviprakash <bhargav.r@ltts.com> Reviewed-by: Dhruva Gole <d-gole@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-29power: pmic: tps65941: Add TI TPS65224 PMICBhargav Raviprakash
Adds compatible and data field values of TPS65224 driver in TPS65941 PMIC driver. Signed-off-by: Bhargav Raviprakash <bhargav.r@ltts.com> Reviewed-by: Dhruva Gole <d-gole@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-29power: tps65941: Add macros of TPS65224 PMICBhargav Raviprakash
Re-use the TPS65941 PMIC driver for TPS65224 PMIC. Add additional macros of TPS65224 to aid in the driver re-use. Signed-off-by: Bhargav Raviprakash <bhargav.r@ltts.com> Reviewed-by: Dhruva Gole <d-gole@ti.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
2024-04-28ARM: dts: imx: Convert i.MX8M flash.bin image generation to binmanMarek Vasut
Rework the flash.bin image generation such that it uses the new binman nxp_imx8mimage etype. This way, the flash.bin is assembled in correct order using plain binman, without any workarounds or sections assembled in special DT node order. Reviewed-By: Tim Harvey <tharvey@gateworks.com> Tested-By: Tim Harvey <tharvey@gateworks.com> # imx8mm_venice Tested-by: Fabio Estevam <festevam@gmail.com> # imx8mm-evk and imx8mn-evk Signed-off-by: Marek Vasut <marex@denx.de>
2024-04-28ARM: dts: imx: Switch Ronetix iMX8MQ-CM to imx8mq-u-boot.dtsiMarek Vasut
Include imx8mq-u-boot.dtsi in the board -u-boot.dtsi to pull in binman configuration instead of duplicating it in the board -u-boot.dtsi again. Drop the duplicate binman configuration. Signed-off-by: Marek Vasut <marex@denx.de>
2024-04-28binman: Add nxp_imx8mimage etypeMarek Vasut
Add new binman etype derived from mkimage etype which generates configuration input file for mkimage -T imx8mimage, and runs the mkimage on input data. The mkimage -T imx8mimage is used to generate combined image with SPL and DDR PHY blobs which is bootable on i.MX8M. The configuration file generated here is equivalent of imx8mimage.cfg, which is the file passed to '$ mkimage -T imx8mimage -n imx8mimage.cfg ...' . The settings generated into the imx8mimage.cfg file are configured via supported binman DT properties, nxp,boot-from, nxp,loader-address, nxp,rom-version. Signed-off-by: Marek Vasut <marex@denx.de>
2024-04-28imx: imx93-11x11-evk: convert to OF_UPSTREAMPeng Fan
Convert to OF_UPSTREAM for i.MX93 11x11 EVK. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2024-04-28dt-bindings: imx93: sync clock headerPeng Fan
Sync clock header with kernel 6.8 Signed-off-by: Peng Fan <peng.fan@nxp.com>
2024-04-28ARM: dts: imx: Enable PCIe and NVMe on DH i.MX8M Plus DHCOM PDK3Marek Vasut
Enable PCIe/NVMe support on DH i.MX8M Plus DHCOM PDK3. Except for the configuration options which are enabled, add slight adjustment to board u-boot.dtsi, which is necessary as there is currently no driver for the I2C PCIe clock generator. Since the generator is strapped to be always on, it is possible to supplant the generator functionality by fixed-clock. Signed-off-by: Marek Vasut <marex@denx.de>
2024-04-28board: toradex: colibri-imx(6ull|imx7): Fix missing fdt_fixup boot errorFrancesco Dolcini
In commit 51aaaf5e7975 ("board: toradex: imx: Remove not needed env variables") the empty definition of fdt_fixup variable was removed, however this was still referenced from the boot command leading to boot failures: ## Error: \"fdt_fixup\" not defined` Fix this by removing "run fdt_fixup" from the boot command and instead enable CONFIG_OF_ENV_SETUP in the defconfig that would achieve the same but in a more robust way (it works fine even if the variable is not defined). Fixes: 51aaaf5e7975 ("board: toradex: imx: Remove not needed env variables") Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-04-26Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-mmcTom Rini
2024-04-26Merge tag 'u-boot-rockchip-20240426' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip Please pull the updates for rockchip platform: - dts sync for rk3308; - sdram: Support getting banks from TPL for rk3568 and rk3588; - dts and config clean and sync up for rk3568/rk3588; - Other misc fixes; CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/20543
2024-04-26Merge tag 'optee-master-26042024' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm Minor changes on this PR. Igor added some orphaned OP-TEE related files on the proper section of MAINTAINERS and fixed a potential buffer overflow in tee-sandbox
2024-04-26rockchip: rk356x: use DRAM banks from ATAGSQuentin Schulz
RK356x-based devices now support creating DRAM banks with proper holes by reading the ATAGS from Rockchip TPL blob, so let's use that mechanism instead. The CONFIG_NR_DRAM_BANK now defaults to 10 which is a safe bet for reading banks from ATAGS, so let's use the default value instead. Co-developed-by: Chris Morgan <macromorgan@hotmail.com> Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-04-26rockchip: rk3588: use DRAM banks from ATAGSQuentin Schulz
RK3588-based devices now support creating DRAM banks with proper holes by reading the ATAGS from Rockchip TPL blob, so let's use that mechanism instead. The CONFIG_NR_DRAM_BANK now defaults to 10 which is a safe bet for reading banks from ATAGS, so let's use the default value instead. Co-developed-by: Chris Morgan <macromorgan@hotmail.com> Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-04-26rockchip: turing-rk1-rk3588: use DRAM banks from ATAGSQuentin Schulz
RK3588-based devices now support creating DRAM banks with proper holes by reading the ATAGS from Rockchip TPL blob, so let's use that mechanism instead. Since ft_board_setup isn't defined anymore, there's no need for selecting CONFIG_OF_BOARD_SETUP. Similarly, because the turing-rk1-rk3588.c would be empty, it is simply removed, with the (would-be-empty) Makefile as well. The CONFIG_NR_DRAM_BANK now defaults to 10 which is a safe bet for reading banks from ATAGS, so let's use the default value instead. Co-developed-by: Chris Morgan <macromorgan@hotmail.com> Signed-off-by: Chris Morgan <macromorgan@hotmail.com> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>