summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-26qconfig: Make KconfigScanner a functionSimon Glass
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 <[email protected]>
2024-07-26qconfig: Drop the try_expand() functionSimon Glass
This is not used anymore, so drop it. Signed-off-by: Simon Glass <[email protected]>
2024-07-26qconfig: Fix pylint error in read_database()Simon Glass
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 <[email protected]>
2024-07-26Merge branch 'qcom-main' of ↵Tom Rini
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.
2024-07-26arm: dts: add IPQ4019 ESS EDMA U-Boot additionsRobert Marko
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 <[email protected]>
2024-07-26net: add Qualcomm ESS EDMA adapterRobert Marko
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 <[email protected]> Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: Robert Marko <[email protected]>
2024-07-26clock: qcom: ipq4019: add missing networking resetsRobert Marko
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 <[email protected]> Reviewed-by: Caleb Connolly <[email protected]>
2024-07-26dt-bindings: clock: qcom: ipq4019: drop downstream fileRobert Marko
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 <[email protected]> Reviewed-by: Sumit Garg <[email protected]>
2024-07-26clock: qcom: ipq4019: add ESS clockRobert Marko
ESS clock is the Ethernet Subsystem clock, so lets add it as its already configured by SBL1. Signed-off-by: Robert Marko <[email protected]> Reviewed-by: Caleb Connolly <[email protected]> Reviewed-by: Sumit Garg <[email protected]>
2024-07-26qcom_defconfig: enable rpmh regulatorsCaleb Connolly
Enable RPMh, cmd-db, and RPMh regulators. Additionally enable CMD_REGULATOR for debugging. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26power: regulator: qcom-rpmh-regulator: add build infraCaleb Connolly
Add Kconfig and Makefile entries for this driver now that it can build for U-Boot. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26power: regulator: qcom-rpmh-regulator: adjust probe for U-BootCaleb Connolly
Refactor initialization to use U-Boot's driver model and API. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26power: regulator: qcom-rpmh-regulator: port ops to U-BootCaleb Connolly
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 <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26power: regulator: qcom-rpmh-regulator: remove unused regulatorsCaleb Connolly
Initially just include the few regulators needed for the RB5 board. Others can be added back as-needed. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26power: regulator: qcom-rpmh-regulator: adjust structs for U-BootCaleb Connolly
Switch to our linear_range helpers and remove unused/unsupported linux-isms. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26power: regulator: qcom-rpmh-regulator: port over lineage_range helpersCaleb Connolly
Import struct linear_range() and builder macro from Linux regulator core. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26power: regulator: qcom-rpmh-regulator: adjust headers for U-BootCaleb Connolly
Remove unused/unsupported Linux headers and add necessary U-Boot ones. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26power: regulator: import qcom-rpmh-regulator from LinuxCaleb Connolly
Import the driver from Linux 6.10-rc6. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: add build infrastructureCaleb Connolly
Add Kconfig / Makefiles to build rpmh and cmd-db drivers. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: rpmh: U-Boot API changesCaleb Connolly
Fix build errors, add some debug logging. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: rpmh: drop unused functionsCaleb Connolly
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 <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: rpmh: adjust headers for U-BootCaleb Connolly
Drop unused/unsupported Linux headers and add dm/device.h for U-Boot. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: rpmh-rsc: remaining U-Boot API changesCaleb Connolly
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 <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: rpmh-rsc: adjust probe for U-BootCaleb Connolly
Rework the rpmh-rsc initialization to use U-Boot's driver model and initialize cmd-db. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: rpmh-rsc: adjust headers for U-BootCaleb Connolly
Remove unsupported / unused Linux headers and add those needed for U-Boot. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: rpmh-rsc: drop unused multi-threading and non-active TCS supportCaleb Connolly
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 <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: cmd-db: adjust for U-Boot APICaleb Connolly
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 <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: cmd-db: adjust probe for U-BootCaleb Connolly
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 <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: cmd-db: drop unused functionsCaleb Connolly
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 <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: cmd-db: adjust headers for U-BootCaleb Connolly
Replace unused/unsupported Linux headers with appropriate U-Boot alternatives. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26soc: qcom: import rpmh and cmd-db drivers from LinuxCaleb Connolly
Import RPMh and cmd-db framework from Linux 6.10-rc6. Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26linux/bitmap.h: add bitmap_empty helperCaleb Connolly
Import this function from Linux as of 6.10-rc6 Reviewed-by: Tom Rini <[email protected]> Acked-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-26dm: core: scan reserved-memory nodesCaleb Connolly
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 <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-07-25Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-samsungTom Rini
2024-07-24arm: exynos: Enable TRNG on E850-96 boardSam Protsenko
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 <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-07-24rng: Add Exynos TRNG driverSam Protsenko
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 <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-07-24clk: exynos: Add SSS clocks for Exynos850Sam Protsenko
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 <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-07-24board: samsung: e850-96: Load LDFW firmware on board initSam Protsenko
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 <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-07-24board: samsung: e850-96: Add default partitionsSam Protsenko
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 <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-07-23Merge branch '2024-07-23-remove-or-update-some-platforms'Tom Rini
- Update a few platforms to use DM_I2C finally, and remove a number of other older platforms.
2024-07-23pxm2: switch to DM_I2CAnatolij Gustschin
Enable DM_I2C to avoid board removal warning. Signed-off-by: Anatolij Gustschin <[email protected]> Cc: Enrico Leto <[email protected]>
2024-07-23board: keymile: convert to CONFIG_DM_I2CAnatolij Gustschin
The conversion to DM_I2C is mandatory, rework to remove use of legacy I2C API. Signed-off-by: Anatolij Gustschin <[email protected]> Cc: Aleksandar Gerasimovski <[email protected]> Cc: Holger Brunck <[email protected]> Cc: Tomas Alvarez Vanoli <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2024-07-23arm: Remove omap3_beagle boardTom Rini
This board has not been converted to CONFIG_DM_I2C by the deadline. Remove it. Acked-by: Robert Nelson <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-07-23arm: Remove devkit3250 boardTom Rini
This board has not been converted to CONFIG_DM_I2C by the deadline. Remove it. Signed-off-by: Tom Rini <[email protected]>
2024-07-23arm: ti: Remove omap4 platform supportTom Rini
There are no longer any OMAP4 platforms in U-Boot, remove the related functionality. Signed-off-by: Tom Rini <[email protected]>
2024-07-23arm: Remove omap4_sdp4430 boardTom Rini
This board has not been converted to CONFIG_DM_I2C by the deadline. Remove it. Signed-off-by: Tom Rini <[email protected]>
2024-07-23arm: Remove omap4_panda boardTom Rini
This board has not been converted to CONFIG_DM_I2C by the deadline. Remove it. Acked-by: Robert Nelson <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-07-23board: beagle: convert to CONFIG_DM_I2CAnatolij Gustschin
Rework to remove use of legacy I2C API. Signed-off-by: Anatolij Gustschin <[email protected]> Cc: Tom Rini <[email protected]>
2024-07-22Prepare v2024.10-rc1v2024.10-rc1Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2024-07-22Merge tag 'u-boot-imx-master-20240722' 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/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