summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2025-02-10pinctrl: mediatek: support reading register base address by nameWeijie Gao
This patch add support to read register base address by name if provided. Also devfdt_get_addr_* is changed to dev_read_addr_* to support DT live tree. Signed-off-by: Weijie Gao <[email protected]>
2025-02-10pinctrl: mediatek: mt7988: remove _base from reg-namesWeijie Gao
The reg-names in mt7988.dtsi have no _base suffix. Remove the suffix will also make it match upstream linux format. Fixes: 8c2cb748ef5 (pinctrl: mediatek: mt7988: rename reg-names to upstream linux format) Signed-off-by: Weijie Gao <[email protected]>
2025-02-07Merge patch series "led: add function naming option from linux"Tom Rini
Heiko Schocher <[email protected]> says: In linux we have the option to create the name of a led optionally through the following properties: - function - color - function-enumerator This series adds support for parsing this properties if there is no label property. Link: https://lore.kernel.org/r/[email protected] [trini: Document name parameter in led.h]
2025-02-07led: add function naming option from linuxHeiko Schocher
in linux we have the option to create the name of a led optionally through the following properties: - function - color - function-enumerator This patch adds support for parsing this properties if there is no label property. The led name is created in led_post_bind() and we need some storage place for it. Currently this patch prevents to use malloc() instead it stores the name in new member : char name[LED_MAX_NAME_SIZE]; of struct led_uc_plat. While at it append led tests for the new feature. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-02-06Merge tag 'xilinx-for-v2025.04-rc2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx changes for v2025.04-rc2 fpga: - Cleanup help - Show xilinx only options on Xilinx devices ospi-versal: - Fix alignment issue - Fix cadence_qspi_flash_reset() prototype zynqmp: - Define usb_pgood_delay - Fix bootseq number versal: - Fix mini_ospi configuration versal2: - Enable OPTEE xilinx: - Enable some flashes - Clean up SYS_MALLOC_F_LEN Kconfig - Some binman fixes - DT updates - Enable mkfwumdata compilation - Enable meminfo command - Switch to LWIP and enable HTTPS
2025-02-06usb: gadget: g_dnl: Fix NULLPTR dereference when serial# is unsetMichael Ferolito
The current behaviour of this function will dereference a null pointer if the serial# environment variable is unset. This was discovered on a board where U-Boot did not have access to the first 256MB of ram, resulting in a board crash. In the event that U-Boot has full access to memory, it will still read from address 0, which is probably not optimal. This simple check is enough to fix it Signed-off-by: Michael Ferolito <[email protected]> Cc: Marek Vasut <[email protected]> Cc: Heiko Schocher <[email protected]> Cc: Kyungmin Park <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-02-05fpga: Avoid ignored-qualifiers warningAlexander Dahl
Fixes annoying warnings of the following type when built with W=1 (for each file including fpga.h): CC drivers/fpga/fpga.o In file included from /mnt/data/adahl/src/u-boot/include/xilinx.h:7, from /mnt/data/adahl/src/u-boot/drivers/fpga/fpga.c:10: /mnt/data/adahl/src/u-boot/include/fpga.h:61:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] 61 | const fpga_desc *const fpga_get_desc(int devnum); | ^~~~~ /mnt/data/adahl/src/u-boot/include/fpga.h:81:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] 81 | const fpga_desc *const fpga_validate(int devnum, const void *buf, | ^~~~~ /mnt/data/adahl/src/u-boot/drivers/fpga/fpga.c:36:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] 36 | const fpga_desc *const fpga_get_desc(int devnum) | ^~~~~ /mnt/data/adahl/src/u-boot/drivers/fpga/fpga.c:53:1: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] 53 | const fpga_desc *const fpga_validate(int devnum, const void *buf, | ^~~~~ Do some type and cast cleanup on that fpga_desc type while at it. Link: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wignored-qualifiers Signed-off-by: Alexander Dahl <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-02-05spi: cadence_qspi: Add missing prototype for cadence_qspi_flash_resetVenkatesh Yadav Abbarapu
Add missing prototype to fix the sparse warning, warning: no previous prototype for 'cadence_qspi_flash_reset' [-Wmissing-prototypes]. Fixes: 6d234a79e9 ("cadence_qspi: Refactor the flash reset functionality") Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-02-05spi: cadence_qspi: Fix OSPI DDR mode alignment issuePadmarao Begari
If the least significant bit of the address is set to one when using the DDR protocol for data transfer then the results are indeterminate for few flash devices. To fix this the least significant bit of the address is set to zero. Signed-off-by: Padmarao Begari <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-02-04net: miiphybb: Update debug() printMarek Vasut
Update the debug() print, use __func__ to always print matching function name, and also print bus name in case there are multiple busses. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2025-02-04net: miiphybb: Convert ifdef DEBUG to debug()Marek Vasut
Replace ifdeffery with plain debug() function call. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2025-02-04remoteproc: renesas: Synchronize caches across coresMarek Vasut
Explicitly flush icache on the CR52 core before jumping to the next stage software to make sure it does not contain any invalid content. Explicitly flash and invalidate dcache on the CA76 core both over the trampoline buffer and over the CR52 firmware, and then trigger full system synchronization, to make sure the data surely land in DRAM, from where the CR52 can surely pick them up. Signed-off-by: Marek Vasut <[email protected]>
2025-02-04Merge patch series "mediatek: final preparation for OF_UPSTREAM support"Tom Rini
Christian Marangi <[email protected]> says: This is the last batch of part to push actual support of OF_UPSTREAM for the mediatek SoC. The plan is to make the current downstream DTS on part with upstream implementation so we can permit a gradual transition to it while we don't cause any regression to any user. This is to have the same node downstream and upstream. Mediatek is working hard upstream to also push all the remaining nodes. All patch are the final changes after the pinctrl patch merged previously. All patch pass CI tests Link: https://github.com/u-boot/u-boot/pull/731 Link: https://lore.kernel.org/r/[email protected]
2025-02-04pinctrl: mediatek: mt7981: rename reg-names to upstream linux formatChristian Marangi
Rename reg-names to upstream linux format. Upstream linux drop the "_base". To make use of upstream DTSI, align to the upstream naming. Signed-off-by: Christian Marangi <[email protected]> Reviewed-by: Weijie Gao <[email protected]> Tested-by: Weijie Gao <[email protected]>
2025-02-03mmc: Allow controlling DM_MMC for VPL buildsSimon Glass
VPL may want to use driver model for MMC even if TPL does not. Update the rule in this driver to support that. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-02-03pinctrl: starfive: Correct driver declaration for starfive_gpioHal Feng
Use the driver macros so that the driver appears in the linker list. Reported-by: Simon Glass <[email protected]> Fixes: 732f01aabf53 ("pinctrl: starfive: Add StarFive JH7110 driver") Signed-off-by: Hal Feng <[email protected]> Reviewed-by: Anand Moon <[email protected]>
2025-01-31net: mediatek: fix coding style of AN8855 switch driverWeijie Gao
This patch fixed the following coding style suggested by checkpatch.pl: 1. Use tab instead of space 2. Use BIT() instead of << 3. Use mdelay for long time delay 4. Remove useless parenthesises Signed-off-by: Weijie Gao <[email protected]>
2025-01-31pinctrl: mediatek: update mt7981 pinctrl driver based on upstream kernelWeijie Gao
Update mt7981 pinctrl driver based on upstream kernel Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-31scsi: do not fill the LUN in the second CDB byteNeil Armstrong
The SCSI specification originally required that the second Command Data Byte contain the LUN value in its high-order bits, but this field has been marked as reserved since the SCSI-3 spec from 1996. Some vendors uses this byte to pass vendor specific data, and specifying the LUN can trigger strange behaviors. For the record, this happened on an UFS device where LUN0 was working perfectly and reading the other LUNs would get the last buffer data that was read for LUN0, making this issue very very hard to debug. It's sane to assume U-Boot will probably never encounter an SCSI-2 multi-LUN device, if somehow it happens the enquiry command would need to get the SCSI level to handle this case. The Linux fix was added in [1] to fix the exact same issue. [1] https://lore.kernel.org/all/[email protected]/ Signed-off-by: Neil Armstrong <[email protected]>
2025-01-31Merge tag 'u-boot-stm32-20250131' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm STM32 MPU: - Remove dt-bindings headers available in dts/upstream - Fixes for stm32prog - Enable CONFIG_SYS_64BIT_LBA for STM32MP15/13/25 defconfigs - Add upport of ck_usbo_48m in pre-reloc stage for STM32MP13 - Clean env_get_location() for STM32MP1 - Fix board_get_usable_ram_top() to fix infinite loop in cache management for STM32MP2. - Fix ck_flexgen_08 frequency for STM32MP2 STM32 MCU: - Tune CYCLIC_MAX_CPU_TIME_US to avoid cyclic warning for STM32F469-Disco - Tune CYCLIC_MAX_CPU_TIME_US to avoid cyclic warning for STM32F769-Disco
2025-01-31fastboot: Fix warning when CONFIG_SYS_64BIT_LBA is enablePatrice Chotard
If CONFIG_SYS_64BIT_LBA is enable, following compilation warning is triggered: CC drivers/fastboot/fb_mmc.o ../drivers/fastboot/fb_mmc.c: In function 'fb_mmc_erase_mmc_hwpart': ../drivers/fastboot/fb_mmc.c:215:35: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'long long unsigned int' [-Wformat=] 215 | printf("........ erased %lu bytes from mmc hwpart[%u]\n", | ~~^ | | | long unsigned int | %llu 216 | dev_desc->lba * dev_desc->blksz, dev_desc->hwpart); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | long long unsigned int ../drivers/fastboot/fb_mmc.c: In function 'fb_mmc_boot_ops': ../drivers/fastboot/fb_mmc.c:261:42: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'long long unsigned int' [-Wformat=] 261 | printf("........ wrote %lu bytes to EMMC_BOOT%d\n", | ~~^ | | | long unsigned int | %llu 262 | blkcnt * blksz, hwpart); | ~~~~~~~~~~~~~~ | | | long long unsigned int Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Acked-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2025-01-31stm32: remove dt-binding headers that are available upstreamPatrick Delaunay
Some dt-binding headers mask the upstream ones which can lead to build failures, or worse: super weird bugs, if they get out of sync. Remove these headers so our devicetree and binding headers will both be in sync with upstream. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-01-30net: phy: Add RGMII RX/TX delay handling to DP83822 PHYMarek Vasut
The TI DP83822 does have support for configurable RGMII RX/TX clock shift, add support for parsing DT properties which describe the RX/TX clock shift configuration and configuration of the matching bits in RCSR register. The shift is only configurable on DP83822, the other PHYs supported by this PHY driver, namely DP83825/DP83826 variants, do not implement this functionality and the RCSR bits used to configure the clock shift are missing from those PHYs. The shift is configurable separately for RX and TX path. Each path can either enable the shift or disable the shift using single bit. In case the shift is disabled, a delay of 0ns is added to the path, otherwise a delay of 3.5ns is added to the path. Note that the two RCSR bits 11 and 12 have inverted logic, RCSR bit 12 enables RX internal shift when SET, while RCSR bit 11 enables TX shift when UNSET. Signed-off-by: Marek Vasut <[email protected]>
2025-01-30Merge patch series "Add support for MediaTek MT7987 SoC"Tom Rini
Weijie Gao <[email protected]> says: This patch series add support for MediaTek MT7987 SoC with its reference boards and related drivers. This patch series add basic boot support on eMMC/SD/SPI-NOR/SPI-NAND for these boards. The clock, pinctrl drivers and the SoC initializaton code are also included. Link: https://lore.kernel.org/r/[email protected]
2025-01-30mmc: mediatek: add support for MediaTek MT7987 SoCsWeijie Gao
This patch adds eMMC/SD support for MT7987 SoC Signed-off-by: Weijie Gao <[email protected]>
2025-01-30pinctrl: mediatek: add pinctrl driver for MT7987 SoCWeijie Gao
This patch adds pinctrl and gpio support for MT7987 SoC Signed-off-by: Weijie Gao <[email protected]>
2025-01-30clk: mediatek: add clock driver support for MediaTek MT7987 SoCWeijie Gao
This patch adds clock driver support for MediaTek MT7987 SoC Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-29net: ravb: Staticize bb_miiphy functionsMarek Vasut
These functions can be static as they are referenced only in this file. Make them static. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2025-01-29net: miiphybb: configs: Drop CONFIG_BITBANGMII_MULTIMarek Vasut
It seems that every remaining system which enables BITBANGMII also enables BITBANGMII_MULTI . Remove the BITBANGMII_MULTI symbol and assume it is always enabled. This allows removal of a bit of legacy code. No functional change intended. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2025-01-29Merge tag 'tpm-master-28012025' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm CI: https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/24375 We have use cases where a previous stage boot loader doesn't have any TPM drivers. Instead of extending the hardware PCRs it produces an EventLog that U-Boot later replays on the hardware. The only real example we have is TF-A, which produces the EventLog using hashing algorithms created at compile time. This creates a problem to the TPM since measurements need to extend all active PCR banks. Up to now we were exiting refusing the extend measurements. TPMs can be instructed to change their active PCR banks, as long as the device resets immediately after a reconfiguration. This PR is adding that functionality. U-Boot can now scan the currently active TPM PCR banks, the ones it was compiled to support and the ones present in an EventLog. It the reconfigures the TPM on the fly with the correct algorithms.
2025-01-28serial: ns16550: Add Intel XScale supportDuje Mihanović
Add compatible string for the Intel XScale variant of the 16550. Needed to match upstream. Signed-off-by: Duje Mihanović <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2025-01-28tcg2: decouple eventlog size from efiRaymond Mao
Move default eventlog size from efi to tpm for using in both efi and measured boot. Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-01-27ram: k3-ddrss: Set SDRAM_IDX using device private data, ddr_ram_sizeSanthosh Kumar K
The SDRAM_IDX in DDRSS_V2A_CTL_REG describes the number of address bits minus 16 that are used to determine the mask used to detect memory rollover and prevent aliasing and false coherency issues. Set SDRAM_IDX using the device private data, ddr_ram_size for K3 family of SoCs. Signed-off-by: Santhosh Kumar K <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2025-01-27Merge tag 'u-boot-imx-master-20250127' 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/24366 - Refactor the imx pinctrl driver. - Enable optional ENETREF clock on i.MX95 - Remove optional from tee-os entry on the i.MX8M u-boot devicetrees.
2025-01-27net: fsl_enetc: Enable optional ENETREF clock on i.MX95Marek Vasut
The ENETCv4 port DT nodes on i.MX95 may contain optional clock phandle to IMX95_CLK_ENETREF "ref" clock. These "ref" clock must be enabled for the ethernet to work. These "ref" clock are enabled after cold boot, but when the system booted Linux and rebooted, those "ref" clock might have been disabled in the process, which would make ethernet inoperable after reboot. Make sure those "ref" clock are always correctly enabled. Signed-off-by: Marek Vasut <[email protected]>
2025-01-26Merge a patch series for mx313xx RTC driversTom Rini
This series of patches from Mark Tomlinson fixes two problems with the mx313xx series of RTC devices. Link: https://lore.kernel.org/r/[email protected]
2025-01-26drivers: rtc: max313xx: Ensure correct date is read after settingMark Tomlinson
When setting the time on the MAX31343, the time is not updated for one second, and reading the time in this interval will give the old time. Wait one second after writing so that the date command will show the correct time when setting the clock. Signed-off-by: Mark Tomlinson <[email protected]> Cc: Chris Packham <[email protected]> Reviewed-by: Chris Packham <[email protected]>
2025-01-26drivers: rtc: max313xx: Fix setting years 2100-2199Mark Tomlinson
An invalid calculation made setting years 2100-2199 impossible. Signed-off-by: Mark Tomlinson <[email protected]> Cc: Chris Packham <[email protected]> Reviewed-by: Chris Packham <[email protected]>
2025-01-25pinctrl: imx: Split MMIO accessors into pinctrl-imx-mmio.cMarek Vasut
Split MMIO accessors into pinctrl-imx-mmio.c and build this file only if Kconfig symbol PINCTRL_IMX_MMIO is selected. Select PINCTRL_IMX_MMIO Kconfig symbol for all but pinctrl-imx8.c driver, which does not use the MMIO accessors. This reduces the amount of code compiled on platforms which do not use the code. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Fold imx_pinctrl_set_state_scu() from pinctrl-imx8.cMarek Vasut
The only user of the SCU pinctrl code is pinctrl-imx8.c , fold the entire pinctrl-scu.c code into pinctrl-imx8.c and remove the matching Kconfig symbols and Makefile entries. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Split imx_pinctrl_set_state_scu() from ↵Marek Vasut
imx_pinctrl_set_state_mmio() Call imx_pinctrl_set_state_common() from imx_pinctrl_scu_conf_pins(), rename imx_pinctrl_scu_conf_pins() to imx_pinctrl_set_state_scu(). Get rid of the unnecessary ifdeffery in pinctrl-imx.h in the process. Remove all SCU support from pinctrl-imx.c imx_pinctrl_set_state_mmio() which makes that function a pure MMIO pinctrl configuration accessor. Update pinctrl-imx8.c to call imx_pinctrl_set_state_scu directly. No functional change. This patch is best viewed with git show -w due to indent change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Split imx_pinctrl_set_state() into common and mmio partsMarek Vasut
Split imx_pinctrl_set_state() into imx_pinctrl_set_state_common() and imx_pinctrl_set_state_mmio(). The former does the common configuration parsing, the later does call imx_pinctrl_set_state_common() and then does pin configuration using either SCU or MMIO accesses. The SCU part is going to be moved out in follow up patches. This is a preparatory patch for follow up pinctrl drivers which do not use the MMIO accessors, but some other means, like SCU or otherwise. Those will call the common imx_pinctrl_set_state_common() function wrapped into some other imx_pinctrl_set_state_*() function, in a way similar to imx_pinctrl_set_state_mmio() does so for MMIO accesses. Update all imx_pinctrl_set_state_mmio() call sites to call imx_pinctrl_set_state_mmio() instead. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Rename imx_pinctrl_remove() to imx_pinctrl_remove_mmio()Marek Vasut
The current implementation of imx_pinctrl_remove() is specific to the MMIO accessor implementation, rename the function to imx_pinctrl_remove_mmio() to make this obvious. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Split imx_pinctrl_probe() into common and mmio partsMarek Vasut
Split imx_pinctrl_probe() into imx_pinctrl_probe_common() and imx_pinctrl_probe_mmio(). The former does the common setup, the later does the common setup and MMIO access configuration. The common setup can be used as-is for SCU based systems, update the pinctrl-imx8 to call only the common setup, update all the other pinctrl drivers to call imx_pinctrl_probe_mmio(). No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Inline struct imx_pinctrl_soc_info access into probeMarek Vasut
The probe function is identical across all the pinctrl drivers. Inline the imx_pinctrl_soc_info access into imx_pinctrl_probe() and drop all the duplicate probe functions. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Drop .remove callback for SCU variantMarek Vasut
The return callback for SCU variant of the pinctrl drivers does nothing but returns 0. Remove the return callback from the SCU driver itself, that has the same effect. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Rename imx_pinctrl_ops to match driversMarek Vasut
Rename the structure instances to match driver names, so they can be easily looked up e.g. in objdump and readelf outputs. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-25pinctrl: imx: Push imx_pinctrl_ops into drivers and staticizeMarek Vasut
Move imx_pinctrl_ops into drivers and staticize. This is preparatory patch for follow up pinctrl drivers which will not use this variant of imx_pinctrl_ops content. This should not change size, as most of the deployments compiled in one pinctrl driver anyway. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2025-01-24treewide: Replace Maximumm with Maximum in Kconfig symbol descriptionMarek Vasut
Replace Maximumm with Maximum in Kconfig symbol description, fix a typo. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Michal Simek <[email protected]>
2025-01-23Merge tag 'u-boot-socfpga-next-20250124' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-socfpga 1. Bug fixed for doorbell in secure device manager mailbox driver 2. Enhancement on SoCFPGA dwc_eth_xgmac driver 3. Enhancement on DW MAC driver 4. Improved the error message and status for SoC64 device FPGA configuration driver 5. Updated existing watchdog in system manager to support new SM device