summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-09-01board: samsung: e850-96: Extract device info from fw loading codeSam Protsenko
Make it possible to provide the information about storage device where LDFW firmware resides to the firmware loading routine. The firmware loader code shouldn't have that data hard-coded anyway, and it also allows for implementing more dynamic behavior later, like choosing the storage device containing LDFW via some environment variables. No functional change. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-09-01board: samsung: e850-96: Configure PMIC regulatorsSam Protsenko
Make use of PMIC configuration routines and enable all LDOs that might be useful for bootloader and kernel. The most crucial regulator being enabled at the moment is LDO24 which provides power to LAN9514 chip. That makes Ethernet controller and USB hub functional. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-09-01board: samsung: e850-96: Add PMIC codeSam Protsenko
Add functions for configuring voltage regulators on S2MPU12 PMIC chip for E850-96 board. The chip is accessed by commanding APM core (via ACPM IPC protocol) to perform corresponding transfers over I3C bus. The most important regulator being set up is LDO24 used for LAN9514 chip power. As LAN9514 implements USB hub and Ethernet controller functionality, it's crucial to enable and configure LDO24 to be able to use it further. While at it, configure the rest of regulators that might be needed later, both in the bootloader and in kernel. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-09-01board: samsung: e850-96: Add ACPM codeSam Protsenko
Add functions to access I3C bus via APM (Active Power Management) core by using ACPM IPC protocol. It will be further used for configuring PMIC chip voltage regulators. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-09-01board: samsung: e850-96: Set ethaddrSam Protsenko
Set the environment variable for Ethernet MAC address (ethaddr). Use the SoC ID to make sure it's unique. It'll be formatted in a way that follows the consecutive style of the serial number ("serial#" variable), i.e.: OTP_CHIPID0 = 0xf51c8113 OTP_CHIPID1 = 0x236 get_chip_id() = 0x236f51c8113 serial# = 00000236f51c8113 ethaddr = 02:36:f5:1c:81:13 where corresponding bytes of the MAC address are: mac_addr[0] = 0x02 // OTP_CHIPID1[15:8] mac_addr[1] = 0x36 // OTP_CHIPID1[7:0] mac_addr[2] = 0xf5 // OTP_CHIPID0[31:24] mac_addr[3] = 0x1c // OTP_CHIPID0[23:16] mac_addr[4] = 0x81 // OTP_CHIPID0[15:8] mac_addr[5] = 0x13 // OTP_CHIPID0[7:0] because OTP_CHIPID1 has only 16 significant bits (with actual ID values), and all 32 bits of OTP_CHIPID0 are significant. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-09-01usb: host: dwc3-of-simple: Add exynos850 compatibleSam Protsenko
Enable support for Exynos850 SoC in DWC3 host glue layer driver. Signed-off-by: Sam Protsenko <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-09-01clk: exynos: Fix always true testAndrew Goodbody
In exynos7420_peric1_get_rate the variable ret is declared as an 'unsigned int' but is then used to receive the return value of clk_get_by_index which returns an int. The value of ret is then tested for being less than 0 which will always fail for an unsigned variable. Fix this by declaring ret as an 'int' so that the test for the error condition is valid. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2025-09-01mmc: core: drop space before newline in trace printfBhimeswararao Matsa
Remove unnecessary whitespace before '\n' in trace printf format strings (checkpatch warning QUOTED_WHITESPACE_BEFORE_NEWLINE). No functional change intended. Signed-off-by: Bhimeswararao Matsa <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01mmc: iproc_sdhci: Cannot test unsigned variable for negativeAndrew Goodbody
In sdhci_iproc_execute_tuning the variable tuning_loop_counter is unsigned and therefore will always fail the test for it being less than 0. Fix this by changing the variable type to be s8. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01power: pmic: pca9450: Add support for reset statusPrimoz Fiser
PCA9450 PMIC supports reading the reset status from the PWRON_STAT register. Bits 7-4 give indication of the PMIC reset cause: - PWRON (BIT7) - Power ON triggered by PMIC_ON_REQ input line, - WDOGB (BIT6) - Boot after cold reset by WDOGB pin (watchdog reset), - SW_RST (BIT5) - Boot after cold reset initiated by the software, - PMIC_RST (BIT4) - Boot after PMIC_RST_B input line trigger. Add support for reading reset status via the sysreset framework in a convenient printable format. Signed-off-by: Primoz Fiser <[email protected]> Reviewed-by: Paul Geurts <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01power: pmic: pca9450: Add support for system resetPrimoz Fiser
The family of PCA9450 PMICs have the ability to perform system resets. Restarting via PMIC is preferred method of restarting the system as all the peripherals are brought to a know state after a power-cycle. The PCA9450 features a cold restart procedure which is initiated by an I2C command 0x14 to the SW_RST register. Support in Linux for restarting via PCA9450 PMIC has been added by Linux commit 6157e62b07d9 ("regulator: pca9450: Add restart handler"). Now add support for it also in the U-Boot via sysreset framework. Signed-off-by: Primoz Fiser <[email protected]> Reviewed-by: Paul Geurts <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01board: samsung: odroid: drop exynos_power_initHenrik Grimler
exynos_power_init sets up regulators for the emmc and sdcard, but these regulators are already marked as always-on and boot-on and hence are handled already by the regulator-uclass. Since we currently try to set them up twice we get error -114 (EALREADY) from exynos_power_init on every boot: LDO20@VDDQ_EMMC_1.8V: set 1800000 uV; enabling (ret: -114) LDO22@VDDQ_EMMC_2.8V: set 2800000 uV; enabling (ret: -114) LDO21@TFLASH_2.8V: set 2800000 uV; enabling (ret: -114) Remove the superfluous exynos_power_init to silence these errors. Signed-off-by: Henrik Grimler <[email protected]> Reviewed-by: Anand Moon <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01ARM: dts: trats: rename max8997-pmic regulators nodeHenrik Grimler
Linux uses just regulators { }; instead of voltage-regulators { };, so this change aligns the DTSes found in the two projects. The max8997 driver does not yet parse the regulators node, so we can safely change its name without breaking anything. Signed-off-by: Henrik Grimler <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01power: pmic: max8997: drop maxim,max8997 compatibleHenrik Grimler
All u-boot users now use maxim,max8997-pmic instead, as does Linux's DTSes, so we can now safely drop the maxim,max8997 compatible. Signed-off-by: Henrik Grimler <[email protected]> Reviewed-by: Anand Moon <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01ARM: dts: exynos4210-trats: use maxim,max8997-pmic compatibleHenrik Grimler
Instead of maxim,max8997. Linux uses maxim,max8997-pmic, so with this change we align the trats DTS with its linux counterpart. Signed-off-by: Henrik Grimler <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01power: pmic: max8997: support maxim,max8997-pmic compatible as wellHenrik Grimler
Linux's DTSes uses maxim,max8997-pmic, so check for this compatible as well so that max8997 pmic driver can support both u-boot and Linux's DTSes. Signed-off-by: Henrik Grimler <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01power: pmic: fix typo and capitalisation in max8997 Kconfig help msgHenrik Grimler
To make the help message slightly easier to understand. Signed-off-by: Henrik Grimler <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01ARM: dts: s5c1xx-goni: rename max8998-pmic regulators nodeHenrik Grimler
Linux uses just regulators { }; instead of voltage-regulators { };, so this change aligns the DTSes found in the two projects. The max8998 driver does not yet parse the regulators node, so we can safely change its name without breaking anything. Signed-off-by: Henrik Grimler <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01ARM: dts: exynos4210-universal_c210: rename max8998 regulators nodeHenrik Grimler
Linux uses just regulators { }; instead of voltage-regulators { };, so this change aligns the DTSes found in the two projects. The max8998 driver does not yet parse the regulators node, so we can safely change its name without breaking anything. Signed-off-by: Henrik Grimler <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01power: pmic: s2mps11: remove check for voltage-regulators nodeHenrik Grimler
All devicetrees that use s2mps11 driver have been converted to use regulators { };, so we can safely drop the voltage-regulators fallback check. Signed-off-by: Henrik Grimler <[email protected]> Reviewed-by: Anand Moon <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01ARM: dts: exynos5422-odroidxu3: rename s2mps11 regulators nodeHenrik Grimler
With this both linux and u-boot uses the same node name, which simplifies devicetree parsing in s2mps11 driver. Signed-off-by: Henrik Grimler <[email protected]> Reviewed-by: Anand Moon <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01power: pmic: s2mps11: look for both {voltage-,}regulatorsHenrik Grimler
Linux's DTSes uses regulators { }; while u-boot's DTSes uses voltage-regulators { };. Look for regulators, and fallback to voltage-regulators if not found, so that both type of DTSes can be used with the driver. Signed-off-by: Henrik Grimler <[email protected]> Reviewed-by: Anand Moon <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01arm: dts: imx8mp-dhcom-som: Remove deprecated sd-vsel-gpiosFrieder Schrempf
The sd-vsel-gpios property in the root of the PMIC node is deprecated and therefore not parsed by the driver anymore. We can safely remove this as it wasn't used anyway due to the pad not having the correct pinmux settings. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01arm: dts: imx8mp-data-modul-edm-sbc: Remove deprecated sd-vsel-gpiosFrieder Schrempf
The sd-vsel-gpios property in the root of the PMIC node is deprecated and therefore not parsed by the driver anymore. We can safely remove this as it wasn't used anyway due to the pad not having the correct pinmux settings. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01pmic: pca9450: Handle hardware with fixed SD_VSEL for LDO5Frieder Schrempf
There are two ways to set the output voltage of the LD05 regulator. First by writing to the voltage selection registers and second by toggling the SD_VSEL signal. Usually board designers connect SD_VSEL to the VSELECT signal controlled by the USDHC controller, but in some cases the signal is hardwired to a fixed low level (therefore selecting 3.3V as initial value for allowing to boot from the SD card). In these cases, the voltage is only determined by the value of the LDO5CTRL_L register. Introduce a property nxp,sd-vsel-fixed-low to let the driver know that SD_VSEL is low and there is no GPIO to actually get that information from dynamically. This is equivalent to the following change in Linux: c8c1ab2c5cb7 ("regulator: pca9450: Handle hardware with fixed SD_VSEL for LDO5") Signed-off-by: Frieder Schrempf <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01pmic: pca9450: Fix control register for LDO5Frieder Schrempf
For LDO5 we need to be able to check the status of the SD_VSEL input in order to know which control register is used. Read the status of the SD_VSEL signal via GPIO and use the correct register accordingly. To use this, the LDO5 node in the devicetree needs the sd-vsel-gpios property to reference the GPIO that is used to read back the SD_VSEL status internally. Please note that the SION bit in the IOMUX must be set if the signal is muxed as VSELECT and controlled by the USDHC controller. This is equivalent to the following change in Linux: 3ce6f4f943dd ("regulator: pca9450: Fix control register for LDO5") Signed-off-by: Frieder Schrempf <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01pmic: pca9450: Fix enable register for LDO5Frieder Schrempf
The LDO5 regulator has two configuration registers, but only LDO5CTRL_L contains the bits for enabling/disabling the regulator. This is equivalent to the following change in Linux: f5aab0438ef1 ("regulator: pca9450: Fix enable register for LDO5") Fixes: 326337fb005f ("pmic: pca9450: Add regulator driver") Signed-off-by: Frieder Schrempf <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01Revert "pmic: pca9450: Add optional SD_VSEL GPIO for LDO5"Frieder Schrempf
This reverts commit 2add0511757e2c5897a88b57c5ea8c912140e60f. It turns out that all boards using the PCA9450 actually have the SD_VSEL input connected to the VSELECT signal of the SoCs SD/MMC interface. Therefore we don't need manual control for this signal via GPIO and there aren't any users. This is equivalent to the following change in Linux: c73be62caabb ("Revert "regulator: pca9450: Add SD_VSEL GPIO for LDO5"") Signed-off-by: Frieder Schrempf <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-01power: regulator: tps65910: Cannot test unsigned for being negativeAndrew Goodbody
The code in tps65910_regulator.c treats the field supply in struct tps65910_regulator_pdata as an int and even tests the value for being negative so change it from a u32 to int so that the code all works as expected. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-08-31test: Update logic for video testTom Rini
The video test here is specific to the sandbox SDL video driver, so only build it when that is enabled rather than VIDEO is enabled. Reported-by: Alison Chaiken <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-08-31Merge patch series "power: regulator: Fix some Smatch reported issues"Tom Rini
Andrew Goodbody <[email protected]> says: Smatch reported some issues in the regulator drivers, mostly repeated instances of testing an unsigned variable for being negative but also an expression needing parenthesis to be interpreted as expected. [trini: Drop 5/6 for now due to changes being requested on review] Link: https://lore.kernel.org/r/[email protected]
2025-08-31Merge patch series "power: Address two Smatch reported issues"Tom Rini
Andrew Goodbody <[email protected]> says: Smatch reported issues with two power drivers due to redundant code and an unitialised variable. Link: https://lore.kernel.org/r/[email protected]
2025-08-31power: Tighten some power driver dependenciesTom Rini
The MediaTek mt6323 power driver cannot build without access to some platform specific header files. Express that requirements in Kconfig as well. Signed-off-by: Tom Rini <[email protected]>
2025-08-31power: Split *POWER_LEGACY portion of <power/pmic.h> out to new headerTom Rini
The commends in include/power/pmic.h say that once SPL_DM_PMIC exists we should update things. This has been true for some time, so let us update this to have the legacy portions in their own header, which should not be directly included. This cleans up the logic within the file too slightly. Signed-off-by: Tom Rini <[email protected]>
2025-08-31power: Correct dependencies on POWER_LEGACYTom Rini
The POWER_LEGACY option functionally depends on not having DM_PMIC enabled, so add that here. Signed-off-by: Tom Rini <[email protected]>
2025-08-30arm: Fix swtiching typoSimon Glass
This should say 'switching', so fix it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-08-30doc: Capitalize the word Buildman whenever it's used as a proper nounAdriano Carvalho
This consistency reads a bit nicer. Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30doc: Rephrase to be more precise and less confusing (build)Adriano Carvalho
It was "... doing the same build ... will not trigger a rebuild". Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30doc: Rephrase to read a bit nicerAdriano Carvalho
Reads better. Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30doc: Rephrase to be more clearAdriano Carvalho
It might not be clear what is meant with "to make sure the shell leaves it alone". Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30doc: Rephrase in a simpler wayAdriano Carvalho
It reads a bit nicer. Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30doc: Add riscv and unfold the list with the architecture/code nameAdriano Carvalho
riscv was missing from the list. To some, the architecture's name may not be obvious from the code name. Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30doc: Use "supports" instead of "has"Adriano Carvalho
Strictly speaking, "has" doesn't make sense. "supports" seems like a better word and it probably was what the original author meant. Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30doc: Quote all long form options using double backticks/grave accentsAdriano Carvalho
Otherwise, the two dashes are rendered as just one. Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30doc: Fix obvious typos and minor improvementsAdriano Carvalho
These are fixes to what looks like obvious typos. Some minor improvments are also included, such as: - Write "symbolic link" instead of symlink - Correct capitalization for LLVM (all caps) - Remove dead link and surrounding sentence Signed-off-by: Adriano Carvalho <[email protected]>
2025-08-30efi: Select also CMD_DHCP from EFI_HTTP_BOOTJan Kiszka
This is needed because distro_efi_read_bootflow_net will then need dhcp_run which is not already enabled by CMD_NET. Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-08-30efi_loader: Make EFI_VARIABLES_PRESEED depend on !COMPILE_TESTTom Rini
When doing compile testing build we cannot rely on having a valid file for EFI_VAR_SEED_FILE to exist, so disable this option when doing compile tests. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Acked-by: Heinrich Schuchardt <[email protected]>
2025-08-30efi: serial: Use correct EFI status typeAndrew Goodbody
int is not sufficient to hold and test the return from an EFI function call. Use efi_status_t instead so that the test can work as expected. This issue was found by Smatch. Fixes: 275854baeeec ("efi: Add a serial driver") Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-08-31rockchip: rk3588-generic: Move usb nodes to board dtsJonas Karlman
After the commit 7a53abb18325 ("rockchip: rk3588: Remove USB3 DRD nodes in u-boot.dtsi") was merged for v2024.10 there is no reason to keep the usb nodes for the Generic RK3588 board in the board u-boot.dtsi. Move usb related nodes from board u-boot.dtsi to main board device tree. While at it, also drop use of the usb3-phy as we only want to enable the usb2-phy to be compatible with as many boards as possible. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-08-31rockchip: rk3576: Disable USB3OTG0 U3 port earlyJonas Karlman
The RK3576 SoC comes with USB OTG support using a DWC3 controller with a USB2 PHY and a USB3 PHY (USBDP PHY). Some board designs may not use the USBDP PHY for USB3 purpose. For these board to use USB OTG the input clock source must change to use UTMI clk instead of PIPE clk. Change to always disable the USB3OTG0 U3 port early and leave it to the USBDP PHY driver to re-enable the U3 port when a usb3-phy is described in the board device tree. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>