summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2025-05-14gpio: pca953x: Add missing <asm/byteorder.h>Tom Rini
This driver takes a long implicit include path to get this header which it directly uses. Add it. Signed-off-by: Tom Rini <[email protected]>
2025-05-14global: Add <linux/string.h> instead of long indirect include pathTom Rini
In a number of cases we have C files which rely on a chain of indirect include paths to get <linux/string.h> to be included via <command.h>. To facilitate cleaning up <command.h> make this code directly include <linux/string.h>. Signed-off-by: Tom Rini <[email protected]> --- Cc: Andrew Davis <[email protected]> Cc: Bin Meng <[email protected]> Cc: Dai Okamura <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Francesco Dolcini <[email protected]> Cc: Ilias Apalodimas <[email protected]> Cc: Jens Wiklander <[email protected]> Cc: Kunihiko Hayashi <[email protected]> Cc: Mingkai Hu <[email protected]> Cc: Priyanka Jain <[email protected]> Cc: Shengzhou Liu <[email protected]> Cc: Simon Glass <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Svyatoslav Ryhel <[email protected]> Cc: Thierry Reding <[email protected]> Cc: William Zhang <[email protected]>
2025-05-12net: fsl_enetc: fix imdio register calculationThomas Schaefer
With commit cc4e8af2c552, fsl_enetc register accessors have been split to handle different register offsets on different SoCs. However, for internal MDIO register calculation, only ENETC_PM_IMDIO_BASE was fixed without adding the SoC specific MAC register offset. As a result, the network support for the Kontron SMARC-sAL28 and probably other boards based on the LS1028A CPU is broken. Add the SoC specific MAC register offset to calculation of imdio.priv to fix this. Fixes: cc4e8af2c552 ("net: fsl_enetc: Split register accessors") Signed-off-by: Thomas Schaefer <[email protected]> Signed-off-by: Heiko Thiery <[email protected]> Reviewed-by: Michael Walle <[email protected]> Reviewed-by: Vladimir Oltean <[email protected]> Tested-by: Vladimir Oltean <[email protected]> # LS1028A Tested-by: Tim Harvey <[email protected]> # imx95_19x19_evk Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Alice Guo <[email protected]>
2025-05-12spi: fspi: dev_dbg() call assumes fdt_addr_t always a long longJonathan Currier
On 32-bit systems, e.g. i.mxrt-1170 fdt_addr_t may only be 32-bit. Cast to a "long long" for garbage avoidance. Signed-off-by: Jonathan Currier <[email protected]>
2025-05-12spi: fspi: Add imxrt1170 device dataJonathan Currier
Add the device specific driver data, and the clock configuration. Signed-off-by: Jonathan Currier <[email protected]>
2025-05-12spi: fspi: involve lut_num for struct nxp_fspi_devtype_dataJonathan Currier
The flexspi on different SoCs may have different number of LUTs. So involve lut_num in nxp_fspi_devtype_data to make distinguish. This patch prepare for the adding of imx8ulp. Fixes: ef89fd56bdfc ("arm64: dts: imx8ulp: add flexspi node") Cc: [email protected] Signed-off-by: Haibo Chen <[email protected]> Reviewed-by: Frank Li <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]> (Picked from linux 190b7e2efb1ed8435fc7431d9c7a2447d05d5066) Signed-off-by: Jonathan Currier <[email protected]>
2025-05-12clk: Fix clk_set_parent() regressionJonas Karlman
The commit ac30d90f3367 ("clk: Ensure the parent clocks are enabled while reparenting") add a call to clk_enable() for the parent clock. For clock drivers that do not implement the enable() ops, like most Rockchip clock drivers, this now cause the set_parent() ops to never be called when CLK_CCF=n (default for Rockchip). clk_enable() typically return -ENOSYS when the enable() ops is not implemented by the clock driver, with CLK_CCF=y clk_enable() instead return 0 when the enable() ops is unimplemented. Change to ignore -ENOSYS from the newly introduced clk_enable() call to fix this regression and restore the old behavior of set_parent() ops being called regardless of if enable() ops is implemented or not. Fixes: ac30d90f3367 ("clk: Ensure the parent clocks are enabled while reparenting") Signed-off-by: Jonas Karlman <[email protected]> Tested-by: Dang Huynh <[email protected]> Acked-by: Miquel Raynal <[email protected]>
2025-05-09net: dwc: xgmac: Allow DMA buffers above 4GBNikunj Kela
Currently, Synopsis xgmac driver only works if DMA region is under 4GB. This change enables the DMA buffers allocations above 4GB memory regions. Signed-off-by: Nikunj Kela <[email protected]>
2025-05-09x86: apl: Correct usage of IS_ENABLED() macro in acpi-pmc-uclass.cTom Rini
This file was using IS_ENABLED() to test for CONFIG flags but omitted the CONFIG_ prefix and so did not work as expected. Signed-off-by: Tom Rini <[email protected]>
2025-05-08Merge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegraTom Rini
2025-05-08Merge tag 'u-boot-rockchip-20250508' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/26117 - New Board support: rk3566 LCKFB TaishanPi, rk3588 Xunlong Orange Pi 5 Max; - Add rk3288 rmii support; - pinctrl driver fix; - binman description update;
2025-05-08video: backlight: add Skyworks/Analogictech AAT2870 led controller driverSvyatoslav Ryhel
Add support for Skyworks AAT2870 LED Backlight Driver and Multiple LDO Lighting Management Unit. Only backlight is supported as for now. Supported backlight level range is from 2 to 255 with step of 1. Tested-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-05-08video: panel: add LG LH400WV3-SD04 MIPI DSI panel driverSvyatoslav Ryhel
LG LH400WV3-SD04 is a color active matrix TFT (Thin Film Transistor) liquid crystal display (LCD). The resolution of a 4" contains 480 x 800 pixels. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-05-08video: panel: add Hitachi TX10D07VM0BAA MIPI DSI panel driverSvyatoslav Ryhel
Hitachi TX10D07VM0BAA is a color active matrix TFT (Thin Film Transistor) liquid crystal display (LCD). The resolution of a 4" contains 480 x 800 pixels. Tested-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-05-08video: tegra: add 8-bit CPU driven protocolSvyatoslav Ryhel
Add support for 8-bit CPU driven (primary and secondary) display signal interface found in Tegra 2 and Tegra 3 SoC. Tested-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-05-08sysreset: implement MAX9807 sysreset functionsSvyatoslav Ryhel
MAX8907 PMIC has embedded poweroff function used by some device to initiane device power off. Implement it as optional sysreset driver guarded by kconfig option and system-power-controller device tree property. Tested-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-05-08power: regulator: max9807: add regulator supportSvyatoslav Ryhel
Added a new regulator driver for the MAXIM MAX8907 PMIC, providing essential regulator functionalities and incorporated the necessary binding framework within the core PMIC driver. Tested-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-05-08power: pmic: add the base MAX8907 PMIC supportSvyatoslav Ryhel
Add basic i2c based read/write functions to access PMIC registers. Tested-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-05-08gpio: tegra_gpio: implement rfree operationSvyatoslav Ryhel
Releasing a GPIO on Tegra necessitates changing its configuration to SFIO to activate its special function. Without this reconfiguration, the special function will be unavailable. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-05-08net: gmac_rockchip: Add RMII support for rk3288Christoph Fritz
Add RMII-specific handling to rk3288_gmac_fix_mac_speed() so that it properly sets the RMII clock (2.5 MHz vs. 25 MHz) and speed bits (10 Mbps vs. 100 Mbps). Also define a new rk3288_gmac_set_to_rmii() function to set the PHY interface field and RMII_MODE bit. Signed-off-by: Christoph Fritz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06mtd: spi-nor: Send write disable cmd after every write enableVenkatesh Yadav Abbarapu
Write enable(06h) command will be sent to a flash device to set the write enable latch bit before every program, erase, write command. After that write disable command (04h) needs to be sent to clear the write enable latch. This write_disable() is missing at the majority of the places in the driver, add it to clear write enable latch. Signed-off-by: Ashok Reddy Soma <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://gist.github.com/PrasanthBabuMantena/c12f39744de188a9d08cd5ca51dc2a7b Tested-by: Prasanth Babu Mantena <[email protected]>
2025-05-06mtd: spi-nor-core: Fixup SNOR_F_IO_MODE_EN_VOLATILE for MT35XVaishnav Achath
MT35XU512ABA has only BFPT and 4-Byte Address Instruction Table in SFDP. commit bebdc237507c ("mtd: spi-nor: Parse SFDP SCCR Map") added checks in spi_nor_octal_dtr_enable() to bail out if the 22nd DWORD in SCCR does not indicate DTR Octal Mode Enable, since MT35XU512ABA device supports octal DTR mode, add this property in SFDP fixup. Signed-off-by: Vaishnav Achath <[email protected]> Signed-off-by: Prasanth Babu Mantena <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2025-05-06rockchip: io-domain: Enable by default for all supported SoCsChen-Yu Tsai
The IO domain driver controls the I/O voltage for various pins, MMC included. Enable it by default for all supported Rockchip SoCs. Signed-off-by: Chen-Yu Tsai <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Paul Kocialkowski <[email protected]> Reviewed-by: Jonas Karlman <[email protected]> Reviewed-by: Anand Moon <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RV1108Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3399Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3368Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3328Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3308Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3288Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3228Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3188Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3128Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3066Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for RK3036Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: constify rockchip_pin_ctrl for PX30Quentin Schulz
There's no need to modify private data from the controller, so let's make that struct const. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-06pinctrl: rockchip: fix bank's pin_base computingQuentin Schulz
The logic in the core reads the nr_pins of the controller and uses it as the index of the first pin in the bank (pin_base) it currently parses. It then increments the number of pins in the controller before going to the next bank. This works "fine" for controllers where nr_pins isn't defined in their rockchip_pin_ctrl struct as it defaults to 0. However, when it is already set, it'll make the index pin of each bank offset by the number in nr_pins declared in the struct at initialization, and it'll keep growing while adding banks, which means the total number of pins in the controller will be misrepresented. Additionally, U-Boot proper may probe this driver twice (pre-reloc and true proper) and not reset nr_pins of the controller in-between meaning the second probe will have an offset of the actual correct nr_pins. Instead, let's just store locally the number of pins in the controller and make sure it's reset between probes. Finally, this stops modifying a const struct which will soon be triggering a CPU abort at runtime. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2025-05-05firmware: ti_sci: Add Initialization of dev_info head nodeUdit Kumar
On K3 devices two drivers ti_sci and ti_sci_dm are supporting firmware functions. At run time one of driver is used. Driver ti_sci already initializing head for dev_list in its probe function, but it was missed in ti_sci_dm driver. So add head list init support for ti_sci_dm driver. While at this, move init of list before usages in both functions. Fixes: 5d5a699855a7("firmware: ti_sci: Add support for Resoure Management at R5 SPL stage") Reviewed-by: Neha Malcom Francis <[email protected]> Signed-off-by: Udit Kumar <[email protected]> Reviewed-by: Nishanth Menon <[email protected]>
2025-05-05eth: Support E1000E I225-VZhiJie.zhang
1. Add pcie device id 0x15f3 2. Add IIC phy id 0x67C9DC00 Signed-off-by: ZhiJie.Zhang <[email protected]>
2025-05-05Merge tag 'u-boot-stm32-20250505' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm - CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/26081 - STM32 MCUs: - Fix console cmdline - Add support NT35510 panel controller on stm32f769i-disco board - Fix dfu alt buffer clearing - Enable scan and start for AB schema on STM32MP15 DHSOM - Add stm32mp2 support for dwc_eth_qos
2025-05-05net: dwc_eth_qos: add support of stm32mp2 platformChristophe Roullier
Add compatible "st,stm32mp25-dwmac" to manage STM32MP2 boards Signed-off-by: Christophe Roullier <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2025-05-05video: support FRIDA FRD400B25025-A-CTKDario Binacchi
[backport from Linux commits 9b26d5c044d6a29ebfb1845408e0f2a7c5f89818 and 219a1f49094f50bf9c382830d06149e677f76bed] The patch adds the FRIDA FRD400B25025-A-CTK panel, which belongs to the Novatek NT35510-based panel family. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-05-05mtd: ubi: Put MTD device after it is not usedAlexander Vickberg
The MTD device reference is dropped via put_mtd_device, however its field ->index is read and passed to ubi_msg. To fix this, the patch moves the reference dropping after calling ubi_msg. Signed-off-by: Pan Bian <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Signed-off-by: Richard Weinberger <[email protected]> Upstream Linux commit: b95f83ab762dd6211351b9140f99f43644076ca8 Signed-off-by: Alexander Vickberg <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2025-05-04net: ravb: Add RZ/G2L SupportPaul Barker
The Renesas R9A07G044L (RZ/G2L) SoC includes two Gigabit Ethernet interfaces which can be supported using the ravb driver. Some RZ/G2L specific steps need to be taken during initialization due to differences between this SoC and previously supported SoCs. We also need to ensure that the module reset is de-asserted after the module clock is enabled but before any Ethernet register reads/writes take place. Signed-off-by: Paul Barker <[email protected]>
2025-05-04net: ravb: Add optional reset deassertionPaul Barker
In order to add support for the Renesas RZ/G2L Ethernet IP in a subsequent patch, we introduce optional de-assertion and re-assertion of a reset signal in ravb_probe() and ravb_remove(). Signed-off-by: Paul Barker <[email protected]>
2025-05-04net: ravb: Refactor out R-Car specific codePaul Barker
In order to add support for the Renesas RZ/G2L Ethernet IP in a subsequent patch, we move all R-Car specific code into new functions and introduce a device_ops function pointer table. Signed-off-by: Paul Barker <[email protected]>
2025-05-04net: ravb: Fix RX error handlingMarek Vasut
Correctly handle RX errors in ravb_recv() by returning 0 instead of -EAGAIN on RX error. In case the RAVB driver detects an RX error in ravb_recv(), it must not return the -EAGAIN, but instead must return 0. Both error codes are handled in eth-uclass.c eth_rx() and -EAGAIN is rewritten to 0 at the end of eth_rx(), but negative return code from the .recv() callback does not trigger .free_pkt() callback, which would clean up and re-enqueue the descriptor which holds the currently received corrupted packet. The .free_pkt() must be called for this descriptor, otherwise the follow up received data become corrupted too, even if those packets are correctly received. Returning 0 from the .recv() callback assures the corrupted packet is not processed by the network stack, but is skipped instead. For TFTP loading, an RX error produces the timeout "T" output and resumes the TFTP loading operation shortly afterward, without any data corruption. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2025-05-03cpu: imx95: add i.MX95 supportAlice Guo
This patch is used to add the imx type string of i.MX95 ao that the i.MX95 CPU info can be printed. Signed-off-by: Alice Guo <[email protected]>
2025-05-03scmi_protocols: update struct scmi_base_discover_list_protocols_outYe Li
@protocols is an array of protocol identifiers that are implemented, excluding the Base protocol. Four protocol identifiers are packed into each array element. The number of elements of @protocols is specified by callee-side. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]>
2025-05-03sandbox: add SCMI clock control permissions to sandboxAlice Guo
This patch is used to add SCMI clock control permissions to sandbox for testing. Signed-off-by: Alice Guo <[email protected]>
2025-05-03clk: scmi: check the clock state/parent/rate control permissionsAlice Guo
Clock driver based on SCMI clock management protocol in Linux checks clock state, parent and rate control permissions. To be consistent with the kernel driver, add this check here. CLOCK_GET_PERMISSIONS is from ARM System Control and Management Interface Platform Design Document 3.2. When using common clock framework (CCF), use the clock signal ID to get the clock registered by clk_register() in scmi_clk_probe(), and then obatin the struct clk_scmi variable with container_of(). Signed-off-by: Alice Guo <[email protected]> Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>