summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
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]>
2026-03-13serial: ns16550: Fix return-type warningNikita Shubin
Fix compiler warning: drivers/serial/ns16550.c: In function ‘serial_in_dynamic’: drivers/serial/ns16550.c:153:1: warning: control reaches end of non-void function [-Wreturn-type] 153 | } | ^ Observed with gcc 15.2.1: $ riscv64-unknown-linux-gnu-gcc --version riscv64-unknown-linux-gnu-gcc (Gentoo 15.2.1_p20260214 p5) 15.2.1 Fixes: 62cbde4c4e46 ("serial: ns16550: Support run-time configuration") Signed-off-by: Nikita Shubin <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-03-13Merge tag 'u-boot-ufs-20260313' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ufs into next - ufs_hba_ops callbacks cleanup - Rockchip UFS reset support - UFS support in SPL
2026-03-13Merge 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/29497 - sifive: switch to OF_UPSTREAM - driver: cache: Remove SiFive PL2 driver - riscv: fixes for non-existent CONFIG
2026-03-13Merge tag 'net-20260312' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-net into next Pull request net-20260312. net: - Move network PHY under NETDEVICES - s/DM_CLK/CLK/ in HIFEMAC_{ETH,MDIO} - Add support for Airoha AN8811HB PHY - airoha: PCS and MDIO support for Airoha AN7581 SoC net-lwip: - Fix issue when TFTP blocksize is >8192 - Adjust PBUF_POOL_SIZE/IP_REASS_MAX_PBUFS for better performance and resource usage. - Enable mii command for NET_LWIP
2026-03-13net: Move network PHY under NETDEVICESTom Rini
A number of network PHY drivers have Kconfig dependencies on various network drivers under NETDEVICES. This is in addition to logical dependencies of network PHYs needing network drivers. Resolve the Kconfig problems by moving the network PHY lines to be after the network devices, within the overall NETDEVICES guard. Signed-off-by: Tom Rini <[email protected]> Acked-by: Jerome Forissier <[email protected]>
2026-03-13net: do not use non-existent CONFIG_DM_CLKHeinrich Schuchardt
For enabling the clock driver we use symbol CONFIG_CLK. Select this symbol for the HiSilicon Fast Ethernet Controller driver. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2026-03-13net: phy: air_en8811: add support for Airoha AN8811HB PHYTommy Shih
Add support for the Airoha AN8811HB 2.5 Gigabit PHY to the existing en8811h driver. This PHY supports 10/100/1000/2500 Mbps speeds. Update the driver to recognize the AN8811HB PHY ID and handle its specific firmware loading requirements. The firmware loading mechanism remains consistent with the existing implementation. This driver is based on: - Linux upstream PHY subsystem (v7.0-rc1) - air_an8811hb v0.0.4 out-of-tree uboot driver written by "Lucien.Jheng <[email protected]>" Tested on MT7987 RFB board. Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=6f1769ec5892ac41d82e820d94dcdc68e904aa99 Link: https://patchwork.kernel.org/project/netdevbpf/patch/[email protected]/ Signed-off-by: Tommy Shih <[email protected]> Reviewed-by: Lucien.Jheng <[email protected]>
2026-03-13driver: cache: Remove SiFive PL2 driverNick Hu
Under single core boot platform, the secondary cores won't enter the u-boot spl. Therefore we move the pl2 driver from u-boot to the Opensbi. Signed-off-by: Nick Hu <[email protected]> Signed-off-by: Jimmy Ho <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2026-03-13sifive: switch to OF_UPSTREAMAndreas Schwab
Tested on HiFive Unleashed and HiFive Unmatched, both SPIFlash and MMC boot. Signed-off-by: Andreas Schwab <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2026-03-12net: airoha: use mt7531 mdio for GDM1Mikhail Kshevetskiy
Current code just bind mt7531 mdio with it's driver, so mdio device may not be probed and hense not usable. This patch: * Forces probing of mt7531 mdio for GDM1 port * Renames the mt7531 mdio bus interface to 'mt7531-mdio'. We may have multiple available MDIO, so the name 'mdio' isn't descriptive enough. * Sets mdio bus for the GDM port device Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-12net: airoha: makes PCS support optionalMikhail Kshevetskiy
It's not possible to disable PCS support just now, an7581 u-boot will not compile. This patch fixes an issue. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-12net: airoha: fill in support for PCS/PHY in Airoha Ethernet driverChristian Marangi
Add required changes to call PCS function to configure the Serdes Port. The Ethernet driver is adapted following Upstream Kernel node structure. Function calling order is the same of Phylink upstream kernel. With the PCS support, also add support for attaching PHY. With "in-band-status" set in DT for the managed property, a rudimental support for SFP module is present. Signed-off-by: Christian Marangi <[email protected]>
2026-03-12net: airoha-pcs: an7581: sync with linux code a bitMikhail Kshevetskiy
based on linux kernel patches from https://github.com/Ansuel/openwrt/commits/openwrt-24.10-airoha-an7581-stable/ created by Christian Marangi <[email protected]> Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-12Merge tag 'mediatek-for-next-2026-03-11' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mediatek into next A fix: * Fixing compiling MT8195 due to some independent changes that were applied around the same time as MT8195 support was merged. (CI would not have caught this since we didn't have a defconfig until now). And few small features: * New defconfig for MT8395/Genio 1200 EVK. * pinctrl support for MT8189-compatible SoCs.
2026-03-12pinctrl: bcm283x: Fix GPIO pull state register values for BCM2711Cibil Pankiras
BCM2711 has different pull-up/down register values compared to BCM2835 - BCM2835: NONE=0, DOWN=1, UP=2 - BCM2711: NONE=0, UP=1, DOWN=2 This patch fixes the pull state register values for BCM2711. Fixes: 2c39d975f87c ("pinctrl: bcm283x: Add GPIO pull-up/down control for BCM2835 and BCM2711") Signed-off-by: Cibil Pankiras <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Tested-by: Peter Robinson <[email protected]>
2026-03-12net: airoha: pcs: improve/fix building rulesMikhail Kshevetskiy
pcs-airoha-common.o should not build unconditionally, also make building rules looks better. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-12net: airoha: add support for Airoha PCS driverChristian Marangi
Add support for Airoha PCS driver present on AN7581 SoC. This is needed to configure the Serdes port for the different PHY mode. Signed-off-by: Christian Marangi <[email protected]>
2026-03-12net: airoha: init switch before GDM port initializationMikhail Kshevetskiy
Call airoha_switch_init() before creating GDM instances, so if allocation of GDM port fails, early created GDM instances will work normally. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-12net: airoha: do not call airoha_fe_init() from GDM port independent codeMikhail Kshevetskiy
We should not call airoha_fe_init() from GDM port independent code, because it do a GDM specific things. Makes airoha_fe_maccr_init() and airoha_fe_init() port dependent and call them from airoha_eth_port_probe() Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-12net: airoha: declare airoha_eth_port as U_BOOT_DRIVER()Mikhail Kshevetskiy
Declare airoha_eth_port as U_BOOT_DRIVER(), fix airoha_alloc_gdm_port() to lookup a driver instead of direct airoha_eth_port usage. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-12net: airoha: avoid out of boundary writing/access to gdm_port_str[] arrayMikhail Kshevetskiy
In the case of an7581 possible GDM port id are: 1, 2 and 4. Initialization of port GDM4 will lead to out of boundary writing to gdm_port_str[] array. Let's increase the array size by 1 to avoid it. Signed-off-by: Mikhail Kshevetskiy <[email protected]>