]> git.dujemihanovic.xyz Git - u-boot.git/log
u-boot.git
4 months agoqconfig: Move commit code into a separate function
Simon Glass [Wed, 17 Jul 2024 15:57:06 +0000 (16:57 +0100)]
qconfig: Move commit code into a separate function

Reduce the size of main() by putting this code into its own function.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move all move_config code into move_config()
Simon Glass [Wed, 17 Jul 2024 15:57:05 +0000 (16:57 +0100)]
qconfig: Move all move_config code into move_config()

Move the setup and completion code into the move_config() function so
it is all in one place.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Add a return value to do_find_config()
Simon Glass [Wed, 17 Jul 2024 15:57:04 +0000 (16:57 +0100)]
qconfig: Add a return value to do_find_config()

Return an exit code so we can use this function like do_tests().
Refactor the caller to handle this.

Reduce the size of main() by putting this code into its own function.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move imply into a separate function
Simon Glass [Wed, 17 Jul 2024 15:57:03 +0000 (16:57 +0100)]
qconfig: Move imply into a separate function

Reduce the size of main() by putting this code into its own function,
with the usage message staying in main().

Tidy up the comments for do_imply_config() while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Add a return value to do_scan_source()
Simon Glass [Wed, 17 Jul 2024 15:57:02 +0000 (16:57 +0100)]
qconfig: Add a return value to do_scan_source()

Return an exit code so we can use this function like do_tests().
Refactor the caller to handle this.

Reduce the size of main() by putting this code into its own function.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move testing into a separate function
Simon Glass [Wed, 17 Jul 2024 15:57:01 +0000 (16:57 +0100)]
qconfig: Move testing into a separate function

Reduce the size of main() by putting this code into its own function.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move converting config args to the top
Simon Glass [Wed, 17 Jul 2024 15:57:00 +0000 (16:57 +0100)]
qconfig: Move converting config args to the top

Move this check to the top, so it happens always. There is no harm to
doing this earlier and it separates the setup from actual program logic.

Update the arg rather than adding a new variable, with the new variable
only created when moving or building, since it is used more heavily.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move checking directory to the top
Simon Glass [Wed, 17 Jul 2024 15:56:59 +0000 (16:56 +0100)]
qconfig: Move checking directory to the top

Move this check to the top, so it happens always. The tool should be
run from the U-Boot source directory.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move getting the colour to where it is needed
Simon Glass [Wed, 17 Jul 2024 15:56:58 +0000 (16:56 +0100)]
qconfig: Move getting the colour to where it is needed

Move this assignment down to just above where it is needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move arg checking to the top of main()
Simon Glass [Wed, 17 Jul 2024 15:56:57 +0000 (16:56 +0100)]
qconfig: Move arg checking to the top of main()

Check for 'test' as one of the possible operations for this tool,
moving the check above the implementation.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move arg checking a little higher
Simon Glass [Wed, 17 Jul 2024 15:56:56 +0000 (16:56 +0100)]
qconfig: Move arg checking a little higher

Check for scan_source as one of the possible operations for this tool,
moving the check above the scan_source implementation.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Move arg parsing into a separate function
Simon Glass [Wed, 17 Jul 2024 15:56:55 +0000 (16:56 +0100)]
qconfig: Move arg parsing into a separate function

Reduce the size of main() by putting this code into its own function.
For now the parser object needs to be returned too.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Rename the doc link
Simon Glass [Wed, 17 Jul 2024 15:56:54 +0000 (16:56 +0100)]
qconfig: Rename the doc link

This was missed during the renaming of the tool. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: ea4d6dead37 ("moveconfig: Rename the tool to qconfig")
4 months agoqconfig: Correct format string in do_imply_config()
Simon Glass [Wed, 17 Jul 2024 15:56:53 +0000 (16:56 +0100)]
qconfig: Correct format string in do_imply_config()

One of the strings was converted incorrectly. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: 1bd43060b3e ("moveconfig: Use f strings where possible")
4 months agoqconfig: Tidy up some pylint warnings
Simon Glass [Wed, 17 Jul 2024 15:56:52 +0000 (16:56 +0100)]
qconfig: Tidy up some pylint warnings

Reduce the number of warnings in this file a little bit.

Add my own name to the copyright message.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Make KconfigScanner a function
Simon Glass [Wed, 17 Jul 2024 15:56:51 +0000 (16:56 +0100)]
qconfig: Make KconfigScanner a function

This doesn't have any methods so is not good as a class. Make it a
function instead, to keep pylint happy.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Drop the try_expand() function
Simon Glass [Wed, 17 Jul 2024 15:56:50 +0000 (16:56 +0100)]
qconfig: Drop the try_expand() function

This is not used anymore, so drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoqconfig: Fix pylint error in read_database()
Simon Glass [Wed, 17 Jul 2024 15:56:49 +0000 (16:56 +0100)]
qconfig: Fix pylint error in read_database()

Fix this error by initing the variable before the loop:

tools/qconfig.py:880:22: E0606: Possibly using variable 'defconfig'
   before assignment (possibly-used-before-assignment)

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoMerge branch 'qcom-main' of https://gitlab.denx.de/u-boot/custodians/u-boot-snapdragon
Tom Rini [Fri, 26 Jul 2024 00:04:16 +0000 (18:04 -0600)]
Merge branch 'qcom-main' of https://gitlab.denx.de/u-boot/custodians/u-boot-snapdragon

* Qualcomm platforms >~2016 gain support for the RPMh (Resource Power Manager)
  peripheral which is used to control most regulators. The RB5 is now able to
  power up its USB VBUS regulator via the rpmh regulator driver. Git history
  from the original Linux driver is preserved for ease of maintenance.
* IPQ40xx SoCs gain ethernet networking support via the new ESS EDMA driver.

4 months agoarm: dts: add IPQ4019 ESS EDMA U-Boot additions
Robert Marko [Mon, 3 Jun 2024 12:06:16 +0000 (14:06 +0200)]
arm: dts: add IPQ4019 ESS EDMA U-Boot additions

IPQ4019 ESS EDMA support is not yet in upstream Linux, so for now lets use
the latest pending Linux DTS node for wired networking.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 months agonet: add Qualcomm ESS EDMA adapter
Robert Marko [Mon, 3 Jun 2024 12:06:15 +0000 (14:06 +0200)]
net: add Qualcomm ESS EDMA adapter

This adds the driver for the ESS EDMA ethernet adapter
found inside of Qualcomm IPQ40xx SoC series.

This driver also integrates the built in modified QCA8337N
switch support as they are tightly integrated.

Co-Developed-by: Gabor Juhos <j4g8y7@gmail.com>
Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
4 months agoclock: qcom: ipq4019: add missing networking resets
Robert Marko [Mon, 3 Jun 2024 12:06:14 +0000 (14:06 +0200)]
clock: qcom: ipq4019: add missing networking resets

IPQ4019 has more networking related resets that will be required for future
wired networking support, so lets add them.

This syncs the driver with Linux.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agodt-bindings: clock: qcom: ipq4019: drop downstream file
Robert Marko [Mon, 3 Jun 2024 12:06:13 +0000 (14:06 +0200)]
dt-bindings: clock: qcom: ipq4019: drop downstream file

IPQ4019 clock dt-bindings are available in Linux upstream, and we can just
use those instead of carrying a downstream file that matches the upstream one
anyway.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
4 months agoclock: qcom: ipq4019: add ESS clock
Robert Marko [Mon, 3 Jun 2024 12:06:12 +0000 (14:06 +0200)]
clock: qcom: ipq4019: add ESS clock

ESS clock is the Ethernet Subsystem clock, so lets add it as its
already configured by SBL1.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Reviewed-by: Caleb Connolly <caleb.connolly@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
4 months agoqcom_defconfig: enable rpmh regulators
Caleb Connolly [Mon, 15 Jul 2024 10:08:23 +0000 (12:08 +0200)]
qcom_defconfig: enable rpmh regulators

Enable RPMh, cmd-db, and RPMh regulators. Additionally enable
CMD_REGULATOR for debugging.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agopower: regulator: qcom-rpmh-regulator: add build infra
Caleb Connolly [Mon, 15 Jul 2024 10:08:22 +0000 (12:08 +0200)]
power: regulator: qcom-rpmh-regulator: add build infra

Add Kconfig and Makefile entries for this driver now that it can build
for U-Boot.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agopower: regulator: qcom-rpmh-regulator: adjust probe for U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:21 +0000 (12:08 +0200)]
power: regulator: qcom-rpmh-regulator: adjust probe for U-Boot

Refactor initialization to use U-Boot's driver model and API.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agopower: regulator: qcom-rpmh-regulator: port ops to U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:20 +0000 (12:08 +0200)]
power: regulator: qcom-rpmh-regulator: port ops to U-Boot

Port over the regulator ops to U-Boot's regulator API. Add back the
pmic5 mode map using U-Boot dm_regulator_mode API and adjust the
pmic5_pldo and pmic5_pldo_lv definitions. No functional changes.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agopower: regulator: qcom-rpmh-regulator: remove unused regulators
Caleb Connolly [Mon, 15 Jul 2024 10:08:19 +0000 (12:08 +0200)]
power: regulator: qcom-rpmh-regulator: remove unused regulators

Initially just include the few regulators needed for the RB5 board.
Others can be added back as-needed.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agopower: regulator: qcom-rpmh-regulator: adjust structs for U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:18 +0000 (12:08 +0200)]
power: regulator: qcom-rpmh-regulator: adjust structs for U-Boot

Switch to our linear_range helpers and remove unused/unsupported
linux-isms.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agopower: regulator: qcom-rpmh-regulator: port over lineage_range helpers
Caleb Connolly [Mon, 15 Jul 2024 10:08:17 +0000 (12:08 +0200)]
power: regulator: qcom-rpmh-regulator: port over lineage_range helpers

Import struct linear_range() and builder macro from Linux regulator
core.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agopower: regulator: qcom-rpmh-regulator: adjust headers for U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:16 +0000 (12:08 +0200)]
power: regulator: qcom-rpmh-regulator: adjust headers for U-Boot

Remove unused/unsupported Linux headers and add necessary U-Boot ones.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agopower: regulator: import qcom-rpmh-regulator from Linux
Caleb Connolly [Mon, 15 Jul 2024 10:08:15 +0000 (12:08 +0200)]
power: regulator: import qcom-rpmh-regulator from Linux

Import the driver from Linux 6.10-rc6.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: add build infrastructure
Caleb Connolly [Mon, 15 Jul 2024 10:08:14 +0000 (12:08 +0200)]
soc: qcom: add build infrastructure

Add Kconfig / Makefiles to build rpmh and cmd-db drivers.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: rpmh: U-Boot API changes
Caleb Connolly [Mon, 15 Jul 2024 10:08:13 +0000 (12:08 +0200)]
soc: qcom: rpmh: U-Boot API changes

Fix build errors, add some debug logging.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: rpmh: drop unused functions
Caleb Connolly [Mon, 15 Jul 2024 10:08:12 +0000 (12:08 +0200)]
soc: qcom: rpmh: drop unused functions

A lot of the features in here are only relevant when running
multi-threaded with interrupts. Drop everything except what we need to
run single-threaded with a single TCS (which is all the rpmh-rsc
framework in U-Boot supports).

Keep rpmh_write_async() for simplicity and make it wrap the regular
rpmh_write().

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: rpmh: adjust headers for U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:11 +0000 (12:08 +0200)]
soc: qcom: rpmh: adjust headers for U-Boot

Drop unused/unsupported Linux headers and add dm/device.h for U-Boot.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: rpmh-rsc: remaining U-Boot API changes
Caleb Connolly [Mon, 15 Jul 2024 10:08:10 +0000 (12:08 +0200)]
soc: qcom: rpmh-rsc: remaining U-Boot API changes

Minor adjustments to fix building with U-Boot and work correctly as a
synchronous driver without interrupts. RPMh is fast enough that we can
get away with just firing off requests and assuming they complete.

U-Boot behaviour changes are annotated with a "U-Boot:" comment.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: rpmh-rsc: adjust probe for U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:09 +0000 (12:08 +0200)]
soc: qcom: rpmh-rsc: adjust probe for U-Boot

Rework the rpmh-rsc initialization to use U-Boot's driver model and
initialize cmd-db.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: rpmh-rsc: adjust headers for U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:08 +0000 (12:08 +0200)]
soc: qcom: rpmh-rsc: adjust headers for U-Boot

Remove unsupported / unused Linux headers and add those needed for
U-Boot.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: rpmh-rsc: drop unused multi-threading and non-active TCS support
Caleb Connolly [Mon, 15 Jul 2024 10:08:07 +0000 (12:08 +0200)]
soc: qcom: rpmh-rsc: drop unused multi-threading and non-active TCS support

Since U-Boot is single threaded, we can avoid most of the complexity
that comes with handling more than one in-flight TCS. Drop all the rpmh
code associated with multi-threading as we'll instead wait for a
response on each TCS.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: cmd-db: adjust for U-Boot API
Caleb Connolly [Mon, 15 Jul 2024 10:08:06 +0000 (12:08 +0200)]
soc: qcom: cmd-db: adjust for U-Boot API

Keep the header pointer in the .data section so we don't initialize it
again after relocation, adjust cmd_db_get_header() to work with the
U-Boot API, and skip validating the header since all cmd-db users are
children of the rpmh-rsc and those children will only probe if cmd-db
initializes successfully.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: cmd-db: adjust probe for U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:05 +0000 (12:08 +0200)]
soc: qcom: cmd-db: adjust probe for U-Boot

Integrate cmd-db into the U-Boot driver model.

This is just a wrapper around an in-memory database, so we just need to
get the address and validate that cmd-db is there.

Since cmd_db_header will be stored in the .data section we can skip
bind if it's already set.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: cmd-db: drop unused functions
Caleb Connolly [Mon, 15 Jul 2024 10:08:04 +0000 (12:08 +0200)]
soc: qcom: cmd-db: drop unused functions

Due to our simpler rpmh-rsc driver and lack of debugfs, we don't need
quite a few cmd-db functions, just drop them.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: cmd-db: adjust headers for U-Boot
Caleb Connolly [Mon, 15 Jul 2024 10:08:03 +0000 (12:08 +0200)]
soc: qcom: cmd-db: adjust headers for U-Boot

Replace unused/unsupported Linux headers with appropriate U-Boot
alternatives.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agosoc: qcom: import rpmh and cmd-db drivers from Linux
Caleb Connolly [Mon, 15 Jul 2024 10:08:02 +0000 (12:08 +0200)]
soc: qcom: import rpmh and cmd-db drivers from Linux

Import RPMh and cmd-db framework from Linux 6.10-rc6.

Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agolinux/bitmap.h: add bitmap_empty helper
Caleb Connolly [Mon, 15 Jul 2024 10:08:01 +0000 (12:08 +0200)]
linux/bitmap.h: add bitmap_empty helper

Import this function from Linux as of 6.10-rc6

Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agodm: core: scan reserved-memory nodes
Caleb Connolly [Mon, 15 Jul 2024 10:08:00 +0000 (12:08 +0200)]
dm: core: scan reserved-memory nodes

Qualcomm platforms may have drivers that bind to reserved memory nodes
(cmd-db [1] and smem [2]) which are relevant to U-Boot. Include
/reserved-memory in dm_extended_scan() so that these will be handled
correctly.

[1]: https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/qcom%2Ccmd-db.yaml
[2]: https://www.kernel.org/doc/Documentation/devicetree/bindings/soc/qcom/qcom%2Csmem.yaml

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Caleb Connolly <caleb.connolly@linaro.org>
4 months agoMerge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-samsung
Tom Rini [Thu, 25 Jul 2024 15:14:29 +0000 (09:14 -0600)]
Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-samsung

5 months agoarm: exynos: Enable TRNG on E850-96 board
Sam Protsenko [Tue, 23 Jul 2024 18:14:39 +0000 (13:14 -0500)]
arm: exynos: Enable TRNG on E850-96 board

Enable True Random Number Generator (TRNG) on E850-96 board. To do so:
  1. Enable DM_RNG and RNG_EXYNOS for TARGET_E850_96
  2. Add TRNG node to E850-96 device tree
  3. Enable 'rng' command support for easy TRNG testing

TRNG node is already applied in Linux kernel device tree, but it hasn't
appeared in upstream dts yet. Add it in U-Boot override dtsi file
temporarily; it can be removed once it appears in upstream dts.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 months agorng: Add Exynos TRNG driver
Sam Protsenko [Tue, 23 Jul 2024 18:14:38 +0000 (13:14 -0500)]
rng: Add Exynos TRNG driver

Add True Random Number Generator (TRNG) driver for Exynos chips. This
implementation is heavily based on Linux kernel's counterpart [1]. It
also follows upstream dt-bindings [2].

TRNG block is usually a part of SSS (Security Sub System) IP-core on
Exynos chips. Because SSS access on Exynos850 is protected by TZPC
(TrustZone Protection Control), it's not possible to read/write TRNG
registers from U-Boot, as it's running in EL1 mode. Instead, the
corresponding SMC calls should be used to make the secure software
running in EL3 mode access it for us. Those SMC calls are handled by
LDFW (Loadable Firmware), which has to be loaded first. For example, for
E850-96 board it's done in its board_init(), so by the time RNG
capabilities are needed the LDFW should be already loaded and TRNG
should be functional.

[1] drivers/char/hw_random/exynos-trng.c
[2] dts/upstream/Bindings/rng/samsung,exynos5250-trng.yaml

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 months agoclk: exynos: Add SSS clocks for Exynos850
Sam Protsenko [Tue, 23 Jul 2024 18:14:37 +0000 (13:14 -0500)]
clk: exynos: Add SSS clocks for Exynos850

Add ACLK (operating clock) and PCLK (bus clock) for Security Sub System
(SSS) in Exynos850. Those clocks are needed for RNG enablement.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 months agoboard: samsung: e850-96: Load LDFW firmware on board init
Sam Protsenko [Tue, 23 Jul 2024 18:14:36 +0000 (13:14 -0500)]
board: samsung: e850-96: Load LDFW firmware on board init

LDFW is a Loadable Firmware which provides additional security
capabilities in EL3 monitor. For example, True Random Number Generator
(TRNG) block registers can't be accessed from EL1 (where U-Boot and
Linux kernel are running), but it's possible to access TRNG capabilities
via corresponding SMC calls, which in turn are handled by LDFW. To do
so, LDFW firmware has to be loaded first. It's stored on a raw eMMC
partition, so it has to be read into NWD (Normal World) RAM buffer, and
then loaded to SWD (Secure World) memory using the special SMC call to
EL3 monitor program. EL3_MON will load LDFW to SWD memory, more
specifically to the area starting at 0xbf700000 (with size of 7.5 MiB).
That memory area is reserved in device tree, so there shouldn't be any
collisions. After that LDFW becomes functional.

Implement LDFW firmware loading on board init. While at it, fix the
copyright date in header comments, as this board support was actually
added in 2024, not in 2020: it was probably a copy-paste mistake.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 months agoboard: samsung: e850-96: Add default partitions
Sam Protsenko [Tue, 23 Jul 2024 18:14:35 +0000 (13:14 -0500)]
board: samsung: e850-96: Add default partitions

Add an environment file for E850-96 board with default eMMC partition
list. It follows the Samsung's partition list used for Android-Q on
Exynos850 devices. It was verified on E850-96 board with:

    => gpt verify mmc 0 "$partitions"
   Verify GPT: success!

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 months agoMerge branch '2024-07-23-remove-or-update-some-platforms'
Tom Rini [Tue, 23 Jul 2024 16:43:58 +0000 (10:43 -0600)]
Merge branch '2024-07-23-remove-or-update-some-platforms'

- Update a few platforms to use DM_I2C finally, and remove a number of
  other older platforms.

5 months agopxm2: switch to DM_I2C
Anatolij Gustschin [Sat, 20 Jul 2024 16:54:39 +0000 (18:54 +0200)]
pxm2: switch to DM_I2C

Enable DM_I2C to avoid board removal warning.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Enrico Leto <enrico.leto@siemens.com>
5 months agoboard: keymile: convert to CONFIG_DM_I2C
Anatolij Gustschin [Fri, 19 Jul 2024 23:24:22 +0000 (01:24 +0200)]
board: keymile: convert to CONFIG_DM_I2C

The conversion to DM_I2C is mandatory, rework to remove
use of legacy I2C API.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachienergy.com>
Cc: Holger Brunck <holger.brunck@hitachienergy.com>
Cc: Tomas Alvarez Vanoli <tomas.alvarez-vanoli@hitachienergy.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
5 months agoarm: Remove omap3_beagle board
Tom Rini [Mon, 15 Jul 2024 19:35:55 +0000 (13:35 -0600)]
arm: Remove omap3_beagle board

This board has not been converted to CONFIG_DM_I2C by the deadline.
Remove it.

Acked-by: Robert Nelson <robertcnelson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoarm: Remove devkit3250 board
Tom Rini [Mon, 15 Jul 2024 19:35:54 +0000 (13:35 -0600)]
arm: Remove devkit3250 board

This board has not been converted to CONFIG_DM_I2C by the deadline.
Remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoarm: ti: Remove omap4 platform support
Tom Rini [Mon, 15 Jul 2024 19:35:53 +0000 (13:35 -0600)]
arm: ti: Remove omap4 platform support

There are no longer any OMAP4 platforms in U-Boot, remove the related
functionality.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoarm: Remove omap4_sdp4430 board
Tom Rini [Mon, 15 Jul 2024 19:35:52 +0000 (13:35 -0600)]
arm: Remove omap4_sdp4430 board

This board has not been converted to CONFIG_DM_I2C by the deadline.
Remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoarm: Remove omap4_panda board
Tom Rini [Mon, 15 Jul 2024 19:35:51 +0000 (13:35 -0600)]
arm: Remove omap4_panda board

This board has not been converted to CONFIG_DM_I2C by the deadline.
Remove it.

Acked-by: Robert Nelson <robertcnelson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoboard: beagle: convert to CONFIG_DM_I2C
Anatolij Gustschin [Fri, 19 Jul 2024 21:51:23 +0000 (23:51 +0200)]
board: beagle: convert to CONFIG_DM_I2C

Rework to remove use of legacy I2C API.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Tom Rini <trini@konsulko.com>
5 months agoPrepare v2024.10-rc1
Tom Rini [Tue, 23 Jul 2024 00:21:18 +0000 (18:21 -0600)]
Prepare v2024.10-rc1

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoMerge tag 'u-boot-imx-master-20240722' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 22 Jul 2024 23:56:14 +0000 (17:56 -0600)]
Merge tag 'u-boot-imx-master-20240722' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx

CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/21728

- Conversions to DM_I2C and DM_SERIAL.
- Support for I2C3 and PWM1 for the imx6q clock driver.
- Improvements for udoo-neo
- Describe the i.MX93 CPU clocks in the devicetree to fix CPU clock printing
- Fix for SPI and NANC clk-imx8mn clock driver

5 months agokontron-sl-mx6ul: switch to DM_SERIAL
Anatolij Gustschin [Sat, 20 Jul 2024 15:54:00 +0000 (17:54 +0200)]
kontron-sl-mx6ul: switch to DM_SERIAL

Enable DM_SERIAL to avoid board removal warning.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
5 months agomx6boards: convert to DM_I2C and DM_SERIAL
Anatolij Gustschin [Sat, 20 Jul 2024 15:35:39 +0000 (17:35 +0200)]
mx6boards: convert to DM_I2C and DM_SERIAL

Rework to remove use of legacy I2C API. Also switch
to DM_SERIAL to avoid board removal warning.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Eric BĂ©nard <eric@eukrea.com>
5 months agonitrogen6x: convert to DM_I2C and DM_SERIAL
Anatolij Gustschin [Sat, 20 Jul 2024 12:48:03 +0000 (14:48 +0200)]
nitrogen6x: convert to DM_I2C and DM_SERIAL

Rework to remove use of legacy I2C API. Also switch
to DM_SERIAL to avoid board removal warning.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Troy Kisky <troy.kisky@boundarydevices.com>
5 months agoudoo-neo: Convert to OF_UPSTREAM
Fabio Estevam [Fri, 19 Jul 2024 20:33:11 +0000 (17:33 -0300)]
udoo-neo: Convert to OF_UPSTREAM

Instead of using the local imx6sx-udoo-neo  devicetree copies from U-Boot,
convert the imx6sx-udoo-neo boards to OF_UPSTREAM so that the upstream
kernel devicetrees can be used instead.

Tested on a imx6sx-udoo-neo-full board.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 months agoudoo-neo: Do not print devicetree model
Fabio Estevam [Fri, 19 Jul 2024 20:33:10 +0000 (17:33 -0300)]
udoo-neo: Do not print devicetree model

The udoo_neo_defconfig target supports several board variants.
All of these variants use the imx6sx-udoo-neo-basic devicetree in U-Boot.

Currently, the devicetree model as well as the board variant name
are shown:

...
Model: UDOO Neo Basic
Board: UDOO Neo FULL
...

Printing the devicetree model that is used internally by U-Boot
may confuse users.

Unselect the CONFIG_DISPLAY_BOARDINFO option and move the board printing
inside board_init() so that only the real board name that is detected
in run-time is printed.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 months agoudoo_neo: Select LTO
Fabio Estevam [Fri, 19 Jul 2024 20:33:09 +0000 (17:33 -0300)]
udoo_neo: Select LTO

u-boot.img has grown in such a way that it overwrites the
environment region.

Select CONFIG_LTO to help reducing the U-Boot binary size
and add a build-time size check to avoid U-Boot to overlap
the environment region.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 months agoudoo_neo: Convert to watchdog driver model
Fabio Estevam [Fri, 19 Jul 2024 20:33:08 +0000 (17:33 -0300)]
udoo_neo: Convert to watchdog driver model

Commit 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") caused
the 'reset' command in U-Boot to not cause a board reset.

Fix it by switching to the watchdog driver model via sysreset, which
is the preferred method for implementing the watchdog reset.

With the watchdog driver model in place, it is no longer needed
to have board code to initialize the watchdog, so remove
its related board code.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 months agoimx93-u-boot: Describe the CPU clocks in the devicetree
Fabio Estevam [Thu, 18 Jul 2024 16:54:54 +0000 (13:54 -0300)]
imx93-u-boot: Describe the CPU clocks in the devicetree

Currently, there is an error when the i.MX93 CPU frequency is
read:

Could not read CPU frequency: -2
CPU:   NXP i.MX93(52) Rev1.1 A55 at 0 MHz

Fix it by describing the A55 clock nodes in the devicetree, like done
on other i.MX SoCs.

With this change, the CPU frequency error is gone and it can be correctly
retrieved:

CPU:   NXP i.MX93(52) Rev1.1 A55 at 1700 MHz
CPU:   Industrial temperature grade  (-40C to 105C) at 35C

As the upstream imx93.dtsi does not describe the CPU clocks,
keep the clock node in imx93-u-boot.dtsi for now.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
5 months agoclk: imx6q: Add definition for IMX6QDL_CLK_PWM1
Emil Kronborg [Mon, 22 Jul 2024 16:14:58 +0000 (13:14 -0300)]
clk: imx6q: Add definition for IMX6QDL_CLK_PWM1

Enabling CONFIG_CMD_PWM, and consequently CONFIG_DM_PWM, causes the pwm
command to fail due to a missing clock.

    => pwm enable 0 0
    Enable clock-controller@20c4000 failed
    Failed to enable per_clk
    pwm: '0' not found
    Command 'pwm' failed: Error -2

Note that it is trivial to also add the clocks for PWM2, PWM3, and PWM4.
However, I only tested PWM1 and thus only added the clock for that
signal.

Signed-off-by: Emil Kronborg <emil.kronborg@protonmail.com>
5 months agoclk: imx6q: Add definition for IMX6QDL_CLK_I2C3
Emil Kronborg [Fri, 12 Jul 2024 14:19:10 +0000 (14:19 +0000)]
clk: imx6q: Add definition for IMX6QDL_CLK_I2C3

Commit 727fa4539ca2 ("clk: Add support for I2C clocks on NXP's imx6q SoC
which use CCF") added I2C clocks for I2C1 and I2C2, but not I2C3.
Consequently, devices using I2C3 fail after enabling CONFIG_CLK_IMX6Q
and thus CONFIG_CLK. Therefore, this commit adds the last I2C clock.

Signed-off-by: Emil Kronborg <emil.kronborg@protonmail.com>
5 months agoclk: imx8mp: Make parent names arrays const pointers
Michael Trimarchi [Sun, 7 Jul 2024 08:20:01 +0000 (10:20 +0200)]
clk: imx8mp: Make parent names arrays const pointers

The arrays containing the mux selectors need to be of const pointer
to const char.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
5 months agoclk: imx8mm: Make parent names arrays const pointers
Michael Trimarchi [Sun, 7 Jul 2024 08:20:00 +0000 (10:20 +0200)]
clk: imx8mm: Make parent names arrays const pointers

The arrays containing the mux selectors need to be of const pointer
to const char.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
5 months agoclk: imx8mn: Make parent names arrays const pointers
Michael Trimarchi [Sun, 7 Jul 2024 08:19:59 +0000 (10:19 +0200)]
clk: imx8mn: Make parent names arrays const pointers

The arrays containing the mux selectors need to be of const pointer
to const char.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
5 months agoclk: imx: clk-imx8mn Fix nand and spi clock parent
Michael Trimarchi [Sun, 7 Jul 2024 08:19:58 +0000 (10:19 +0200)]
clk: imx: clk-imx8mn Fix nand and spi clock parent

The osc_24m is the clock-output-name and not the one that
is used as internal name reference from the strcmp. The clock
that use osc_24m, will not be able to reparent it as they should.
We need anyway register the osc_24m clock fixed factor in the clock
tree.

Fixes: 710c4ffb890 ("clk: imx: clk-imx8mn add gpmi nand clocks")
Fixes: 85b1c11989c ("clk: imx: Add ECSPI to iMX8MN")
Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
5 months agoMerge patch series "Generalize PHYTEC Overlay Handling"
Tom Rini [Mon, 22 Jul 2024 19:48:24 +0000 (13:48 -0600)]
Merge patch series "Generalize PHYTEC Overlay Handling"

Daniel Schultz <d.schultz@phytec.de> says:

The overlays are specified in the bootenv.txt file that is loaded into
the environment. Then these overlays get loaded and applied via a script.
These scripts for loading and applying devicetree overlays are identical
for many phytec boards.
Create a common overlays.env that can be included.
Add support for devicetree overlays to phycore-imx8mp and include the
overlays.env for phycore-imx93.
Rename existing environment variables according to bootstd doc.
Move MMC boot logic into a common k3_mmc.env file and include the new
overlays.env file as well.

5 months agoboard: phytec: phycore_am64x: Use k3_mmc.env logic
Daniel Schultz [Wed, 17 Jul 2024 05:11:34 +0000 (22:11 -0700)]
board: phytec: phycore_am64x: Use k3_mmc.env logic

Use our common environment file to implement MMC boot.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agoboard: phytec: phycore_am62x: Use k3_mmc.env logic
Daniel Schultz [Wed, 17 Jul 2024 05:11:33 +0000 (22:11 -0700)]
board: phytec: phycore_am62x: Use k3_mmc.env logic

Use our common environment file to implement MMC boot.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agoinclude: env: phytec: k3_mmc: Apply overlays during boot
Daniel Schultz [Wed, 17 Jul 2024 05:11:32 +0000 (22:11 -0700)]
include: env: phytec: k3_mmc: Apply overlays during boot

Include the overlays.env file and run the apply routine before
booting the Kernel.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agoinclude: env: phytec: Add common mmc boot for K3 SoMs
Daniel Schultz [Wed, 17 Jul 2024 05:11:31 +0000 (22:11 -0700)]
include: env: phytec: Add common mmc boot for K3 SoMs

This environment include can be used to boot from a
MMC device for PHYTEC's K3-based SoMs.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agoinclude: env: phytec: renaming of variables according to bootstd doc
Benjamin Hahn [Wed, 17 Jul 2024 05:11:30 +0000 (22:11 -0700)]
include: env: phytec: renaming of variables according to bootstd doc

Rename existing environment variables according to the bootstd doc.
Renamed variables are fdto_addr, bootenv_addr, fdt_addr.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agoboard: phytec: renaming of variables according to bootstd doc
Benjamin Hahn [Wed, 17 Jul 2024 05:11:29 +0000 (22:11 -0700)]
board: phytec: renaming of variables according to bootstd doc

Rename existing environment variables according to the bootstd doc.
Renamed variables are fdto_addr, bootenv_addr, fdt_addr and
fdt_file.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agophycore_imx93: include common overlays.env
Benjamin Hahn [Wed, 17 Jul 2024 05:11:28 +0000 (22:11 -0700)]
phycore_imx93: include common overlays.env

Include the common overlays env file for phycore_imx93.
The common overlays env file supports disabling loading overlays by
setting the no_overlays variable.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agophycore-imx8mp: Add overlay and bootenv.txt support
Benjamin Hahn [Wed, 17 Jul 2024 05:11:27 +0000 (22:11 -0700)]
phycore-imx8mp: Add overlay and bootenv.txt support

Add support for loading bootenv.txt as well as loading and applying
overlays during boot from mmc and net.

${no_bootenv}: Prevent loading external bootenv.txt environment. Use
       ${overlays} variable directly from u-boot environment.
${no_overlay}: Do not load overlays defined in ${overlays} variable.
       Overlays loaded over the extension command are still
       being applied.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agoinclude: env: phytec: Create env file for loading and applying overlays
Benjamin Hahn [Wed, 17 Jul 2024 05:11:26 +0000 (22:11 -0700)]
include: env: phytec: Create env file for loading and applying overlays

The env scripts for loading and applying overlays are identical for many
PHYTEC Boards. Create a common env that can be included.

The env variables bootenv_addr and fdto_addr are board specific and need
to be set in the board specific file. The env variable get_cmd also
needs to be set in board specific files and can be set to tftp or dhcp.

Signed-off-by: Benjamin Hahn <B.Hahn@phytec.de>
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 months agoMerge patch series "drivers: ata: Remove duplicate newlines"
Tom Rini [Mon, 22 Jul 2024 16:54:13 +0000 (10:54 -0600)]
Merge patch series "drivers: ata: Remove duplicate newlines"

Drop all duplicate newlines from the driver directory files.

5 months agodrivers: watchdog: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:41:05 +0000 (14:41 +0200)]
drivers: watchdog: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agodrivers: video: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:41:04 +0000 (14:41 +0200)]
drivers: video: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agodrivers: usb: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:41:03 +0000 (14:41 +0200)]
drivers: usb: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agodrivers: tpm: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:41:02 +0000 (14:41 +0200)]
drivers: tpm: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agodrivers: timer: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:41:01 +0000 (14:41 +0200)]
drivers: timer: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agodrivers: thermal: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:41:00 +0000 (14:41 +0200)]
drivers: thermal: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agodrivers: sysreset: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:40:59 +0000 (14:40 +0200)]
drivers: sysreset: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agodrivers: spi: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:40:58 +0000 (14:40 +0200)]
drivers: spi: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Michal Simek <michal.simek@amd.com>
5 months agodrivers: sound: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:40:57 +0000 (14:40 +0200)]
drivers: sound: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agodrivers: soc: Remove duplicate newlines
Marek Vasut [Sat, 20 Jul 2024 12:40:56 +0000 (14:40 +0200)]
drivers: soc: Remove duplicate newlines

Drop all duplicate newlines. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>