summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2026-03-22video: ltl106hl02: adjust power supply nameSvyatoslav Ryhel
Rename vdd-supply to power-supply according to the latest schema. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22video: r61307: adjust property nameSvyatoslav Ryhel
Rename renesas,inversion to renesas,column-inversion according to latest schema. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22input: cpcap_pwrbutton: simplify parent verificationSvyatoslav Ryhel
Check for 'cpcap' within the compatible string, as various CPCAP compositions always include this component. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22input: cpcap_pwrbutton: set default keycode fallbackSvyatoslav Ryhel
Set a default fallback value if no keycode is defined Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22power: cpcap: make regulator node names case independentSvyatoslav Ryhel
The Linux kernel CPCAP driver uses uppercase regulator node names, while this driver uses lowercase. Since regulator names can be case-insensitive, update the driver to support both uppercase and lowercase node names. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22power: pmic: cpcap: add Mapphone and Mot compatiblesSvyatoslav Ryhel
Add Mapphone and Mot compatibles supported by Linux kernel. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22power: regulator: cpcap: remove bit_offset_from_cpcap_lowest_voltageSvyatoslav Ryhel
The bit_offset_from_cpcap_lowest_voltage value was inherited from the downstream kernel as a quirk. With the correct voltage table, it is no longer needed. An additional benefit is that SW1, SW2, and SW4 now share the same voltage table. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22pwm: tegra: properly calculate pulse and frequency divider fieldsIon Agorria
The pulse width field requires better precision during calculation. Add a proper frequency divider calculation based on the PWM clock instead of hardcoding it to 1. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22pwm: tegra: fix pulse_width calculationJonas Schwöbel
The pulse_width is expressed as N/256. A 100% duty cycle is only possible when multiplied by 256 instead of 255. Signed-off-by: Jonas Schwöbel <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22pwm: tegra: add set_invert PWM operationJonas Schwöbel
Add active-low support to the PWM controller, useful for active-low pwm-leds. Signed-off-by: Jonas Schwöbel <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-22pwm: tegra: add probe functionJonas Schwöbel
When PWM config was updated the clock was restarted which caused loss of previous configuration of other channels. Further this fixes a bug/hang that can happen when set_enable was called before set_config. Signed-off-by: Jonas Schwöbel <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2026-03-18Merge patch series "bootm: Clean up arch-specific, pre-OS clean-up"Tom Rini
Simon Glass <[email protected]> says: Each arch does something slightly different before booting the OS. Some archs even do different things depending on the CPU type. It is quite hard to know what actually happens in the final milliseconds before the OS boot. This series attempts to start cleaning up U-Boot in this area. The basic intent is to create a new bootm_final() function which can be called by all archs. It provides some flags for a couple of necessary variations but otherwise it is generic. All architectures are converted over to use this new function. board_quiesce_devices() is moved into bootm_final() so that all archs benefit from it. This series fixes a bug in device_remove() is fixed where removing a parent with specialised flags (e.g. DM_REMOVE_ACTIVE_ALL) could leave children activated, since they do not match the flags. This fixes is needed to avoid bootm_final() causing test failures on sandbox. Future work could take this a little further: - Convert EFI loader to use the same function - Improve comments for cleanup_before_linux() across architectures - Support fake-run tracing on all archs Link: https://lore.kernel.org/r/[email protected]
2026-03-18dm: Remove children when parent is removed by flagsSimon Glass
When dm_remove_devices_active() removes devices using specialised flags like DM_REMOVE_ACTIVE_ALL, a parent device may match (e.g. MMC has DM_FLAG_OS_PREPARE) while its children do not. This deactivates the parent but leaves children activated, an inconsistent state. Later, when uclass_destroy() calls device_remove() with DM_REMOVE_NORMAL on the already-deactivated parent, it returns early without touching the children. The subsequent device_unbind() then fails because the children are still activated. Fix this by dropping only the DM_REMOVE_ACTIVE_ALL requirement for child removal when the parent is being removed. This ensures children are removed along with their parent, while still preserving other flags like DM_REMOVE_NON_VITAL so that vital devices remain protected. Signed-off-by: Simon Glass <[email protected]>
2026-03-18dm: Move flags_remove() check before child removalSimon Glass
Move the flags_remove() call before device_chld_remove() and save the result in a separate variable. This is just a refactoring with no behaviour change, preparing for the next commit which needs to know whether the parent will be removed before deciding how to remove its children. Signed-off-by: Simon Glass <[email protected]>
2026-03-18Merge patch series "led: remove legacy API"Tom Rini
Quentin Schulz <[email protected]> says: This migrates the last user of the legacy LED API, IMX233-OLinuXino and net/bootp.c, to the modern LED framework. I do have concern about being able to use BOOTP in SPL? In which case, I should probably add an additional check on CONFIG_IS_ENABLED(LED) in addition to IS_ENABLED(CONFIG_LED_BOOT)? I haven't tested this as I do not own an IMX233-OLinuXino, so please give this a try if you own this device. Then, since there's no user left of this legacy API, it is entirely removed. Link: https://lore.kernel.org/r/[email protected]
2026-03-18led: remove legacy APIQuentin Schulz
No user of the legacy LED API anymore (except Sunxi with the PinePhone but that is now a Sunxi-specific implementation), so let's remove anything related. Signed-off-by: Quentin Schulz <[email protected]>
2026-03-18Merge tag 'mediatek-for-master-2026-03-17' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mediatek * A fix for mt7622 infracfg and pericfg clocks that were unusable.
2026-03-18Merge tag 'u-boot-imx-next-20260318' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29557 - Add support for i.MX952. - Add support for XPI1 on imx943_evk.
2026-03-18Merge tag 'mediatek-for-next-2026-03-17' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mediatek into next - A fix for mt8188 clock oscillator rates. - New driver for mt8189 clocks. - The rest is a first wave of a larger effort to refactor and clean up the mediatek clocks to replace various hacks that built up over time with something that is easier to understand and maintain.
2026-03-18Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv ↵Tom Rini
into next CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/29548 - board: starfive: Add Xunlong OrangePi RV - board: starfive: Add VisionFive 2 Lite - board: beagle: Add BeagleV-Fire
2026-03-17clk: mediatek: set CLK_PARENT_XTAL on fixed factor clocksDavid Lechner
Explicitly set the CLK_PARENT_XTAL flag for fixed factor clocks. Prior to this, it was assumed that clock ID 0 was CLK_XTAL and other IDs used a different clock tree when no parent was explicitly set. Making the parent explicit will allow us to remove this confusing behavior in the future. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-8-b253b49f17b2@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: move common PARENT macros to headerDavid Lechner
Move repeated *_PARENT() macros from chip-specific .c files to the common mtk-clk.h file. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-4-b253b49f17b2@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: add MUX_GATE_MIXED macrosDavid Lechner
Add new MUX_GATE_MIXED and MUX_GATE_MIXED_FLAGS macros for mixed parent muxes that have a gate. These will be used in a few drivers where we already have this type of mux clocks. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-3-b253b49f17b2@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: rename CLK_DOMAIN_SCPSYSDavid Lechner
Rename CLK_DOMAIN_SCPSYS to CLK_MUX_DOMAIN_SCPSYS to make it more clear that this flag only applies to MUX clocks and not other clock types. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-2-b253b49f17b2@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: rename HAVE_RST_BARDavid Lechner
Rename HAVE_RST_BAR to CLK_PLL_HAVE_RST_BAR. This makes it more clear that this flag only applies to PLL clocks. Also add a blank line between CLK_PLL_HAVE_RST_BAR and the CLK_MUX_ macros to keep the grouping of the flags consistent. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-1-b253b49f17b2@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: add clock driver for MT8189Chris Chen
Add new clock driver for MedaiTek MT8189 and compatible SoCs. Signed-off-by: Chris Chen <[email protected]> Co-developed-by: David Lechner <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Reviewed-by: Macpaul Lin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: add MUX_MIXED_CLR_SET_UPD_FLAGS() macroDavid Lechner
Add a new MUX_MIXED_CLR_SET_UPD_FLAGS() macro. This is the same as MUX_CLR_SET_UPD_FLAGS() except that it uses the parent_flags member of the union instead of parent. This will be needed by the incoming mt8189 clock driver. Reviewed-by: Julien Stephan <[email protected]> Reviewed-by: Macpaul Lin <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: add CLK_PARENT_EXTDavid Lechner
Add support for external clock parent type in MediaTek clock driver to allow multiple external clock sources. This is intended to eventually replace CLK_PARENT_XTAL which only allows a single external clock source. Replacing CLK_PARENT_XTAL is not trivial since it would required touching all chip-specific drivers. So that is saved for another day. Before this change, the only way to add additional external clocks was to use a clock ID mapping and add the external clock in the fixed clocks portion of the CLK_PARENT_TOPCKGEN clocks. After this change, such hacks are no longer necessary and external clocks can be added in a cleaner way. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: add mtk_clk_id_is_* helper functionsDavid Lechner
Add helper functions to check if a clock ID corresponds to a particular clock type (mux, gate, fdiv). This simplifies the code and makes it more readable. Additionally, it removes the restriction that fdivs_offs < muxes_offs < gates_offs by making the checking more strict in some places. This will allow future drivers to not have to define a mapping to meet this requirement. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: refactor parent rate lookup functionsDavid Lechner
Refactor duplicate parent rate lookup code into a common function. Instead of relying on rules like X is always the parent of Y, we use the driver ops pointer to make sure we are actually getting the correct parent clock device. This allows the same function to be called from different clock types and will allow future chip-specific clock drivers to not have to follow the rules as strictly. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: use correct struct type for infrasys clocksDavid Lechner
Fix the private data type struct type in a couple of infrasys clock functions. struct mtk_cg_priv is a superset of struct mtk_clk_priv and has the same layout at the beginning so there was no compile errors or runtime bugs. This could only be found by inspecting the code. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: mt8188: fix CLK_TOP_CLK{13,26}M ratesDavid Lechner
Change CLK_TOP_CLK13M rate from 130_000_000 to 13_000_000 and CLK_TOP_CLK26M rate from 260_000_000 to 26_000_000. As the names suggest, these clocks are 13/26 MHz, not 130/260 MHz. Fixes: 5e9bbbdab003 ("clk: mediatek: mt8188: add missing fixed clock") Fixes: 11f3cc46322a ("clk: mediatek: add MT8188 clock driver") Reviewed-by: Julien Stephan <[email protected]> Tested-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-17clk: mediatek: mt7622: fix infracfg and pericfg clock operationsDaniel Golle
The MT7622 infracfg and pericfg drivers both use mtk_common_clk_infrasys_init() for probe, which populates struct mtk_clk_priv and stores gate definitions in the clk_tree. However, both drivers were incorrectly wired to mtk_clk_gate_ops which expects struct mtk_cg_priv with separately populated gates/num_gates/gates_offs fields from mtk_common_clk_gate_init(). Since those fields were never set, any attempt to enable an infracfg or pericfg gate clock (e.g. CLK_INFRA_TRNG) would fail with -EINVAL. Switch both to mtk_clk_infrasys_ops and struct mtk_clk_priv to match the init function. Fixes: 72ab603b201 ("clk: mediatek: add driver for MT7622") Signed-off-by: Daniel Golle <[email protected]> Reviewed-by: David Lechner <[email protected]> Signed-off-by: David Lechner <[email protected]>
2026-03-16misc: ele_api: Add support for XSPI SET GMID commandYe Li
The XSPI SET GMID command is used to assign GMID ownership to the requester, allowing access to protected XSPI control registers. This API must be called in SPL if XSPI GMID-protected settings need to be modified. Otherwise, XSPI configuration depends on the previous GMID owner to provide the correct settings. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-03-16spi: nxp_xspi: Add new driver for NXP XSPI controllerAlice Guo
Add new driver to support NXP XSPI controller for NOR and NAND flash. XSPI controller also uses a programmable sequence engine to provide flexibility to support existing and future memory devices. It supports single, dual, quad, octal modes of operation. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]>
2026-03-16misc: imx_ele: Fix compile without CMD_FUSENiko Mauno
If CONFIG_CMD_FUSE is not enabled in imx93_11x11_evk_defconfig, then compilation fails with various undefined references to 'fuse_read', such as: | .../arch/arm/mach-imx/imx9/soc.c:188:(.text.get_cpu_rev+0x38): undefined reference to `fuse_read' therefore remove the 'fuse' command dependency in order to compile fuse.c unconditionally to mitigate the issue. Signed-off-by: Niko Mauno <[email protected]>
2026-03-16cpu: imx952: Add i.MX952 supportAlice Guo
This patch is used to add the imx type string of i.MX952 so that the i.MX952 CPU info can be printed. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-03-16pinctrl: nxp: Add i.MX952 supportYe Li
Multiple pads can drive the same module input pin, and a daisy chain register is used to select the active input path. This patch defines DAISY_OFFSET_IMX952 (0x460) and allows binding on i.MX952. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-03-17pcie: starfive: Add a optional power gpio supportHal Feng
Get and enable a optional power gpio. This feature is ported from the jh7110 pcie driver in Linux. VisionFive 2 Lite needs this gpio to enable the PCI bus device (M.2 M-Key) power. Signed-off-by: Hal Feng <[email protected]>
2026-03-16scsi: Adjust SCSI inquiry command data lengthMacpaul Lin
Per the SCSI SPC-4 specification, the standard inquiry data length should not be less than 36 bytes. The current implementation uses 512 bytes, which causes detection failures on some UFS devices (e.g., Longsys) that do not expect a transfer length exceeding the standard inquiry size. Align the default standard inquiry length with the Linux kernel's implementation (see drivers/scsi/scsi_scan.c), which uses 36 bytes as the default. Devices requiring vendor-specific inquiry lengths should be handled through quirk settings in the future. Signed-off-by: ht.lin <[email protected]> Signed-off-by: Macpaul Lin <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2026-03-16Merge patch series "Add PCIe Boot support for TI J784S4 SoC"Tom Rini
Siddharth Vadapalli <[email protected]> says: This series adds PCIe endpoint boot support for the TI J784S4 SoC. Series is based on commit f9ffeec4bdc ("board: toradex: Make A53 get RAM size from DT in K3 boards") of the master branch of U-Boot. PCIe Boot Logs (J784S4-EVM running Linux as Root-Complex transfers bootloaders to another J784S4-EVM configured for PCIe Boot): https://gist.github.com/Siddharth-Vadapalli-at-TI/2d157003818441fe79a139d0dec1058a Link: https://lore.kernel.org/r/[email protected]
2026-03-16phy: ti: Add config to enable J721E WIZ SERDES wrapper at SPL stageHrushikesh Salunke
Add SPL_PHY_J721E_WIZ configuration option to enable the WIZ SERDES wrapper driver in SPL stage. This is required for PCIe boot support where SERDES configuration must be done early in the boot sequence before loading the bootloader image over PCIe. Signed-off-by: Hrushikesh Salunke <[email protected]> Signed-off-by: Siddharth Vadapalli <[email protected]>
2026-03-16phy: cadence: Add config to enable Cadence Torrent PHY at SPL stageHrushikesh Salunke
Add SPL_PHY_CADENCE_TORRENT configuration option to enable the Cadence Torrent PHY driver in SPL stage. This is required for PCIe boot support where SERDES configuration must be done early in the boot sequence before loading the bootloader image over PCIe. Signed-off-by: Hrushikesh Salunke <[email protected]> Signed-off-by: Siddharth Vadapalli <[email protected]>
2026-03-16Merge tag 'u-boot-dfu-20260316' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-20260316 DFU: * Make DFU_WRITE_ALT symbol available outside of DFU * Fix PCI subclass_code warning in spl_dfu Usb Gadget: * Mark udc_disconnect() as static
2026-03-16dfu: Make the DFU_WRITE_ALT symbol available outside of DFUTom Rini
The DFU_WRITE_ALT symbol is used both directly and indirectly (via UPDATE_COMMON) for EFI capsule updates (FIT or raw), but does not depend on DFU itself. Move this symbol outside of "if DFU" to remove a Kconfig dependency problem. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-03-13Merge patch series "Minor fixes for the k3_fuse driver"Tom Rini
Anshul Dalal <[email protected]> says: This series adds some minor *non-critical* fixes to the k3_fuse misc driver in U-Boot. Link: https://lore.kernel.org/r/[email protected]
2026-03-13misc: k3_fuse: Limit writes to 25bit valuesVignesh Raghavendra
K3 OTP bits can only be programmed 25bits at a time. Limit the value accordingly using a 25 bit mask. Signed-off-by: Vignesh Raghavendra <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
2026-03-13misc: k3_fuse: Enable fuse Sense supportVignesh Raghavendra
fuse sense is essentially read, map it to fuse read. Signed-off-by: Vignesh Raghavendra <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
2026-03-13misc: k3_fuse: Check readback on fuse progVignesh Raghavendra
Error out if readback value doesn't match the programmed value. Signed-off-by: Vignesh Raghavendra <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
2026-03-13misc: k3_fuse: Fix printing of error codesVignesh Raghavendra
Use signed int format to print error codes so that its more readable Fixes: ed5f2e5bed91 ("drivers: k3_fuse: Add fuse sub-system func calls") Signed-off-by: Vignesh Raghavendra <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>