summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2024-01-16clk/qcom: move ipq4019 driver from mach-ipq40xxCaleb Connolly
This driver is just a stub, but it's necessary to support the upcoming reset driver changes. Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-01-16clk/qcom: move from mach-snapdragonCaleb Connolly
Clock drivers don't belong here, move them to the right place and declutter mach-snapdragon a bit. To de-couple these drivers from specific "target" platforms, add additional config options to enable each clock driver gated behind a common CLK_QCOM option and enable them by default for the respective targets. This will make future work easier as we move towards a generic Qualcomm target. Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-01-15mtd: rawnand: omap_gpmc: fix OF based partition parsing for NANDRoger Quadros
Set NAND chip ofnode and device so OF based partition parsing can work. Signed-off-by: Roger Quadros <[email protected]> Link: https://www.mail-archive.com/[email protected]/msg499178.html Signed-off-by: Dario Binacchi <[email protected]>
2024-01-15mtd: rawnand: omap_gpmc: Use DT provided IO addressRoger Quadros
For DM case we can get the NAND chip's IO address from DT so we don't need to rely on CFG_SYS_NAND_BASE. Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Dario Binacchi <[email protected]> Link: https://www.mail-archive.com/[email protected]/msg499177.html Signed-off-by: Dario Binacchi <[email protected]>
2024-01-15memory: ti-gpmc: Fix buildRoger Quadros
sys_proto.h no longer exists for K3 platform so drop it. Include sizes.h to so SZ_16M is visible. Signed-off-by: Roger Quadros <[email protected]> Reviewed-by: Dario Binacchi <[email protected]> Link: https://www.mail-archive.com/[email protected]/msg499176.html Signed-off-by: Dario Binacchi <[email protected]>
2024-01-15mtd: rawnand: omap_elm: Fix elm_init definitionRoger Quadros
The macro ELM_BASE is defined in mach/hardware.h and is not visible at the omap_elm.h header file. Avoid using it in omap_elm.h. Reported-by: Hong Guan <[email protected]> Fixes: 7363cf0581a3 ("mtd: rawnand: omap_elm: u-boot driver model support") Signed-off-by: Roger Quadros <[email protected]> Link: https://lore.kernel.org/all/[email protected] Signed-off-by: Dario Binacchi <[email protected]>
2024-01-15mtd: nand: omap_gpmc: Fix NAND in SPL for AM335xRoger Quadros
AM335x uses a special driver "am335x_spl_bch.c" as SPL NAND loader. This driver expects 1 sector at a time ECC and doesn't work well with multi-sector ECC that was implemented in commit 04fcd2587321 ("mtd: rawnand: omap_gpmc: Fix BCH6/16 HW based correction") Additionally, the omap_elm driver does not support multi sector ECC and will need more work and tests to get multi sector working correctly on all platforms. Switch back to 1 sector at a time read/ECC. Fixes: 04fcd2587321 ("mtd: rawnand: omap_gpmc: Fix BCH6/16 HW based correction") Signed-off-by: Roger Quadros <[email protected]> Tested-by: Enrico Leto <[email protected]> Tested-by: Heiko Schocher <[email protected]> Link: https://lore.kernel.org/all/[email protected]/ Signed-off-by: Dario Binacchi <[email protected]>
2024-01-15mtd: nand: check nand_mtd_to_devnum() argumentDario Binacchi
If the "mtd" parameter is NULL, the search will definitely yield a negative result. In that case, it's better to exit immediately. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2024-01-15mtd: nand: complete nand_register() arguments checkDario Binacchi
The patch checks that the "mtd" parameter is accessible before proceeding. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Michael Trimarchi <[email protected]> Link: https://lore.kernel.org/all/[email protected]
2024-01-14clk: renesas: Synchronize RZ R8A774E1 RZ/G2H clock tables with Linux 6.6.3Marek Vasut
Synchronize RZ R8A774E1 RZ/G2H clock tables with Linux 6.6.3, commit bd3a9e5771a8b332f466d06f7c130a69cab0d526 . Signed-off-by: Marek Vasut <[email protected]>
2024-01-14clk: renesas: Synchronize RZ R8A774C0 RZ/G2E clock tables with Linux 6.6.3Marek Vasut
Synchronize RZ R8A774C0 RZ/G2E clock tables with Linux 6.6.3, commit bd3a9e5771a8b332f466d06f7c130a69cab0d526 . Signed-off-by: Marek Vasut <[email protected]>
2024-01-14clk: renesas: Synchronize RZ R8A774B1 RZ/G2N clock tables with Linux 6.6.3Marek Vasut
Synchronize RZ R8A774B1 RZ/G2N clock tables with Linux 6.6.3, commit bd3a9e5771a8b332f466d06f7c130a69cab0d526 . Signed-off-by: Marek Vasut <[email protected]>
2024-01-14clk: renesas: Synchronize RZ R8A774A1 RZ/G2M clock tables with Linux 6.6.3Marek Vasut
Synchronize RZ R8A774A1 RZ/G2M clock tables with Linux 6.6.3, commit bd3a9e5771a8b332f466d06f7c130a69cab0d526 . Signed-off-by: Marek Vasut <[email protected]>
2024-01-14clk: renesas: Synchronize R-Car R8A77995 D3 clock tables with Linux 6.6.3Marek Vasut
Synchronize R-Car R8A77995 D3 clock tables with Linux 6.6.3, commit bd3a9e5771a8b332f466d06f7c130a69cab0d526 . Signed-off-by: Marek Vasut <[email protected]>
2024-01-14clk: renesas: Synchronize R-Car R8A77990 E3 clock tables with Linux 6.6.3Marek Vasut
Synchronize R-Car R8A77990 E3 clock tables with Linux 6.6.3, commit bd3a9e5771a8b332f466d06f7c130a69cab0d526 . Signed-off-by: Marek Vasut <[email protected]>
2024-01-14clk: renesas: Synchronize R-Car R8A77965 M3-N clock tables with Linux 6.6.3Marek Vasut
Synchronize R-Car R8A77965 M3-N clock tables with Linux 6.6.3, commit bd3a9e5771a8b332f466d06f7c130a69cab0d526 . Signed-off-by: Marek Vasut <[email protected]>
2024-01-14clk: renesas: Synchronize R-Car R8A77960 M3-W and R8A77961 M3-W+ clock ↵Marek Vasut
tables with Linux 6.6.3 Synchronize R-Car R8A77960 M3-W and R8A77961 M3-W+ clock tables with Linux 6.6.3, commit bd3a9e5771a8b332f466d06f7c130a69cab0d526 . Add ZG clock macro into rcar-gen3-cpg.h to cover the new clock type . Signed-off-by: Marek Vasut <[email protected]>
2024-01-11phy: phy-mtk-tphy: add properties for phy tuningChunfeng Yun
Add properties to improve eye diagram which sometimes need adjust some parameters of u2phy; Add a property to tune disconnect threshold; Signed-off-by: Chunfeng Yun <[email protected]>
2024-01-11Merge patch series "net fixes prior lwip"Tom Rini
Maxim Uvarov <[email protected]> says: Add small net fixes prior lwip patches.
2024-01-11driver/net/rtl8139: remove debug printMaxim Uvarov
debug print delays reset of the driver. Finally I see bunch of "rx error FFFF" errors in the screen. CI can not handle many prints. While network works fine there Reproduced with: make CROSS_COMPILE=sh2-linux- r2dplus_defconfig all qemu-system-sh4 -M r2d -nographic -serial null \ -serial mon:stdio -net user,tftp=`pwd` \ -net nic,model=rtl8139 -kernel ./u-boot.bin Signed-off-by: Maxim Uvarov <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-11net/smc911x: fix return from smc911x_sendMaxim Uvarov
return value of smc911x_send is ignored, but on sucesseful send we need return 0 and or error -ETIMEOUT, not opposite. Signed-off-by: Maxim Uvarov <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-11Merge tag 'u-boot-dfu-20240111' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu u-boot-dfu-20240111 - Implement fastboot multi-response. This allows multi-line response and most importantly, finally adds support for fastboot getvar all command. - New 'fastboot oem console' command. Useful for debugging to send data the u-boot shell via fastboot - Console recording fixes
2024-01-09Merge tag 'smbios-2024-04-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request smbios-2024-04-rc1 * make table_compute_checksum() arguments const * remove duplicate function verify_checksum() * enable setting processor family > 0xff * set correct SMBIOS processor family value for RISC-V * avoid importing ofnode.h in smbios.h * provide a UEFI tool to dump SMBIOS table
2024-01-09Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-samsungTom Rini
2024-01-09pinctrl: exynos: Convert to use livetree API for fdt accessSam Protsenko
Use counterpart dev_read_* functions instead of fdt* ones. It fixes checkpatch warnings like this: WARNING: Use the livetree API (dev_read_...) #54: FILE: drivers/pinctrl/exynos/pinctrl-exynos.c:137: pinvals[idx] = fdtdec_get_int(fdt, node, and also makes it possible to avoid using the global data pointer in the driver. No functional change. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-09pinctrl: exynos: Reduce variables scopeSam Protsenko
Pull some variables declared in exynos_pinctrl_set_state() into its loop, to reduce their scope. Style commit, no functional change. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-09pinctrl: exynos: Refactor handling the pin related dt propertiesSam Protsenko
All pin related dt properties (pin-function, pin-pud and pin-drv) are handled in a very similar way. Get rid of that code duplication by extracting the corresponding data knowledge into an actual data structure (array), and then just iterating over it. No functional change, it's a refactoring commit. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-09pinctrl: exynos: Support different register types in pin banksSam Protsenko
Get rid of hard-coded register offsets and widths. Instead provide a way for pinctrl drivers to specify different pin bank register offsets and widths. This in turn makes it possible to add support for new SoCs that have registers with offset/width values different than generic ones already available in pinctrl-exynos driver. Offset constants (now unused in pinctrl-exynos.c) are moved to pinctrl-exynos7420 driver, which is the single user of those constants. The design of this patch follows Linux kernel pinctrl-exynos driver design, in terms of added data structures and types. This patch doesn't add support for any new SoCs and shouldn't introduce any functional changes. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-09pinctrl: exynos: Rework pin_to_bank_base() to obtain data by nameSam Protsenko
Rework pin_to_bank_base() function to obtain bank data structure by bank name instead of getting bank base address by pin name, and rename it to get_bank() to reflect this change. This in turn leads to the extraction of parse_pin(), so the caller has to use it before calling get_bank(). No functional change. This is a refactoring commit which prepares pinctrl driver code for handling different sizes of register fields, which will be added next. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-09pinctrl: exynos: Extract pin parsing code into a separate functionSam Protsenko
Next commits are going to re-design the pin_to_bank_base() function and its usage in a way that the pin parsing code will be called separately. Extract it into a separate function first, as a refactoring commit. No functional change. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-09pinctrl: exynos: Improve coding styleSam Protsenko
Style commit, no functional change. Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-09fastboot: add oem console command supportIon Agorria
"oem console" serves to read console record buffer. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-01-09fastboot: implement "getvar all"Ion Agorria
This commit implements "fastboot getvar all" listing by iterating the existing dispatchers that don't require parameters (as we pass NULL), uses fastboot multiresponse. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-01-09fastboot: multiresponse supportIon Agorria
Currently u-boot fastboot can only send one message back to host, so if there is a need to print more than one line messages must be kept sending until all the required data is obtained. This behavior can be adjusted using multiresponce ability (getting multiple lines of response) proposed in this patch. Signed-off-by: Ion Agorria <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2024-01-09cpu: riscv: set correct SMBIOS processor family valueHeinrich Schuchardt
The SMBIOS specification requires to set the processor family in the type 4 (Processor Information) table to specific values depending only on the bitness of the system (0x200 for RV32 and 0x201 for RV64). With this patch dmidecode shows Handle 0x0004, DMI type 4, 48 bytes Processor Information Socket Designation: Not Specified Type: Central Processor Family: RV64 for qemu-riscv64_smode_defconfig. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-09rng: detect RISC-V Zkr RNG device in bind methodHeinrich Schuchardt
The existence of devices should be checked in the bind method and not in the probe method. Adjust the RISC-V Zkr RNG driver accordingly. Use ENOENT (and not ENODEV) to signal that the device is not available. Fixes: ceec977ba1a9 ("rng: Provide a RNG based on the RISC-V Zkr ISA extension") Reported-by: Andre Przywara <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-09rng: fix ARMv8.5 RNDR driverHeinrich Schuchardt
In different parts of our code we assume that the first RNG device is the one to be used. Therefore it is preferable to detect the availability of the RNDR register already in the bind method. For signaling the non-existence of a device the driver model requires using ENOENT (and not ENODEV). Fixes: 31565bb0aa2d ("driver: rng: Add DM_RNG interface for ARMv8.5 RNDR registers") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Tested-by: Andre Przywara <[email protected]>
2024-01-07acpi: enable writing ACPI tables on QEMUHeinrich Schuchardt
Invoke write_acpi_tables() via EVT_LAST_STAGE_INIT on QEMU except on X86. X86 calls write_acpi_tables() in write_tables(). Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-07acpi: carve out qfw_acpi.cHeinrich Schuchardt
Move the code related to copying tables from QEMU to a separate code module. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-01-07acpi: Kconfig symbol CONFIG_QFW_ACPIHeinrich Schuchardt
We have two implementations of write_acpi_tables(). One for writing ACPI tables based on ACPI_WRITER() entries another based on copying tables from QEMU. Create a symbol CONFIG_QFW_ACPI that signifies copying ACPI tables from QEMU and use it consistently. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-03Merge tag 'v2024.01-rc6' into nextTom Rini
Prepare v2024.01-rc6
2023-12-27cache: add sifive private L2 cache driverZong Li
This driver is currently responsible for enabling the clock gating feature of SiFive pre core's private L2 cache. Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-12-26spi: npcm_pspi: Fix the wrong clock divider calculationJim Liu
Fix the wrong clock divider calculation. Signed-off-by: Jim Liu <[email protected]>
2023-12-21iommu: add qcom-hyp-smmuCaleb Connolly
Add a basic implementation of the ARM SMMU. This driver is intended for use on Qualcomm platforms where the SMMU has been configured by a previous bootloader, cannot be turned off, and doesn't support BYPASS streams. It keeps all existing stream mappings and only creates new ones for stream ids that aren't already configured. This driver is necessary to support peripherals that perform DMA which weren't configured by the previous stage bootloader (for example USB). It works by allocating a context bank using identity mapping (as U-Boot doesn't use virtual addresses). Signed-off-by: Caleb Connolly <[email protected]>
2023-12-21iommu: add a connect opCaleb Connolly
Add an optional iommu callback to be invoked before a device probes. This can be used to configure the IOMMU in preparation for the device (e.g. by allocating a context bank) Signed-off-by: Caleb Connolly <[email protected]>
2023-12-21iommu: fix compilation when CONFIG_PCI disabledCaleb Connolly
The dev_pci_iommu_enable() function is only available when CONFIG_PCI is enabled, replace the runtime check with a preprocessor one to fix compilation with pci disabled. Signed-off-by: Caleb Connolly <[email protected]>
2023-12-21global: Remove duplicate common.h inclusionsTom Rini
These files include <common.h> twice. Start by removing the second inclusion of the file. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-12-21global: Drop common.h inclusionTom Rini
In order to make it easier to move on to dropping common.h from code directly, remove common.h inclusion from the rest of the header file which had been including it. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-12-21arm: Partial cleanup and audit usage of <config.h>Tom Rini
We need to include <config.h> directly when a file needs to have something such as CFG_SYS_SDRAM_SIZE referenced as this file is not automatically globally included and is most commonly indirectly included via common.h. Remove most cases of arm including config.h directly, but add it where needed. This includes a few board-specific fixes. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-12-21global: Restrict use of '#include <linux/kconfig.h>'Tom Rini
In general terms, we -include include/linux/kconfig.h and so normal U-Boot code does not need to also #include it. However, for code which is shared with userspace we may need to add it so that either our full config is available or so that macros such as CONFIG_IS_ENABLED() can be evaluated. In this case make sure that we guard these includes with a test for USE_HOSTCC so that it clear as to why we're doing this. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>