summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-02-18bootcount: Use predefined count/magic bit masksNiko Mauno
Use predefined bit masks in operations where only the magic half or only the count half of the 32-bit value are processed. Signed-off-by: Niko Mauno <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-02-18Merge patch series "test: cmd: Add test for zip/unzip/gzwrite commands"Tom Rini
Marek Vasut <[email protected]> says: Enable zip command in sandbox so it is always build tested. Add simple test for zip/unzip/gzwrite commands so they are unit tested. Link: https://lore.kernel.org/r/[email protected]
2026-02-18test: cmd: Add test for zip/unzip/gzwrite commandsMarek Vasut
Add simple test for zip/unzip/gzwrite commands. The test works as follows. First, create three buffers with a bit of space between each of them, fill them with random data, then compress data in buffer 1 into buffer 2, decompress data in buffer 2 either directly into buffer 3 or into MMC 1 and then read them back into buffer 3, and finally compare buffer 1 and buffer 3, they have to be identical. The buffers are filled with random data to detect out of bounds writes. Test for various sizes, both small and large and unaligned. The test uses ut_assert_skip_to_line() to skip over gzwrite progress bar. Since the progress bar updates fill up the console record buffer, increase the size of it to compensate. Reviewed-by: Mattijs Korpershoek <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2026-02-18configs: sandbox: Enable zip commandMarek Vasut
What is not being built and tested in CI, breaks. Enable the 'zip' command in sandbox to get it build tested in preparation for an actual unit test. Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2026-02-18arm: dts: k3-am64-phycore-som-ddr4: Update DDR timingsWadim Egorov
Update DDR timings to increase stability in higher temperature ranges. Update DDR settings: - SysConfig DDR tool v0.09.05 - Package: ALV - Extended temperature range -40C to 105C - Lower tREFI (ns) to 3900 Signed-off-by: Wadim Egorov <[email protected]> Tested-by: Daniel Schultz <[email protected]>
2026-02-18Merge patch series "arm: dts: mt7622: use generic node names"Tom Rini
David Lechner <[email protected]> says: While compile-testing things to make sure I wasn't breaking other platforms when making mach-wide changes for mediatek, I kept getting a warning about a a SPI controller node with the wrong name in mt7622.dtsi. The first patch addresses this. And since we are here, I added a second patch to generic names in general in that file even if they aren't causing warnings. Link: https://lore.kernel.org/r/20260209-mtk-dtb-fix-spi-bus-bridge-warning-v1-0-84e3e2d8352d@baylibre.com
2026-02-18arm: dts: mt7622: Use generic node namesDavid Lechner
Replace node names in mt7622.dtsi with generic names. This makes it more consistent with the upstream bindings. Signed-off-by: David Lechner <[email protected]>
2026-02-18arm: dts: mt7622: Fix SPI bus bridge warningDavid Lechner
Change SPI node name to generic "spi" in mt7622.dtsi. This fixes the following compile warning: w+../arch/arm/dts/mt7622.dtsi:56.22-65.4: Warning (spi_bus_bridge): /snor@11014000: node name for SPI buses should be 'spi' w+arch/arm/dts/mt7622-rfb.dtb: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge' Signed-off-by: David Lechner <[email protected]>
2026-02-18pinctrl: mediatek: set MT798x rev as MTK_PINCTRL_V1Shiji Yang
The MT798x series SoCs have IES regiter definitions. They should belong to the pinctrl v1 revision. Signed-off-by: Shiji Yang <[email protected]>
2026-02-18pinctrl: mediatek: add pinctrl driver for MT8195Chris-QJ Chen
Add support for MT8195 pinctrl. The driver is based on the kernel one. Signed-off-by: Chris-QJ Chen <[email protected]> Signed-off-by: Julien Stephan <[email protected]>
2026-02-18Merge patch series "Add MT8195 support"Tom Rini
Julien Stephan <[email protected]> says: This series adds basic support for Mediatek soc MT8195: - clock driver - watchdog - add a new macro helper to define gate clock. Other driver can be cleaned later to use the new macro Other driver will be added later. It will also serve as basis for board support such as MT8395_EVK based on MT8195. Link: https://lore.kernel.org/r/[email protected]
2026-02-18clk: mediatek: add MT8195 clock driverChris-QJ Chen
The following clocks have been added for MT8195 SoC: apmixedsys, topckgen, infracfg These clocks driver are based on the ones present in the kernel: drivers/clk/mediatek/clk-mt8195-* Signed-off-by: Chris-QJ Chen <[email protected]> Signed-off-by: Julien Stephan <[email protected]>
2026-02-18clk: mediatek: implement GATE_FLAGS macroJulien Stephan
Add helper macro for mtk_gate, the same way, there are macros for FIXED_CLK, MUX and FACTOR. Signed-off-by: Julien Stephan <[email protected]>
2026-02-18arm: mediatek: add support for MediaTek MT8195 SoCJulien Stephan
This adds basic support for MediaTek MT8195 SoC. Add watchdog support by adding upstream compatible string. Signed-off-by: Julien Stephan <[email protected]>
2026-02-18Merge patch series "clk: mediatek: mt8188: fix clocks"Tom Rini
Julien Stephan <[email protected]> says: I recently submitted the clock driver for MT8188. I naively submitted a driver that was ported from the kernel driver, and mostly work to boot a kernel. Recently David Lechner, added support for the clk dump command for Mediatek clock drivers, so I used it to check the MT8188 and found several issues fixed on this series: - removed topckgen_cg, gates are now part of topckgen - fixed several parents clocks - added missing fixed clocks While at it, I also refactored a bit the driver to improve readability, and future additions to it. Link: https://lore.kernel.org/r/[email protected]
2026-02-18clk: mediatek: mt8188: refactor driver to improve readabilityJulien Stephan
Refactor some part of the driver to improve readability and future additions: - use CLK_TOP_NR_CLK for added clocks - rename the id map to make it more clear that the map applies to top clocks only - refactor the id map to improve readability - xtal2_rate is only used for PLL clocks, so only the apmixedsys clock tree needs it. Remove it elsewhere. Signed-off-by: Julien Stephan <[email protected]>
2026-02-18clk: mediatek: mt8188: fix some clock parentsJulien Stephan
Fix a number of clock parent definitions for MT8188 clocks. Signed-off-by: Julien Stephan <[email protected]>
2026-02-18clk: mediatek: mt8188: add missing fixed clockJulien Stephan
CLK_TOP_CLK13M was missing, add it. Signed-off-by: Julien Stephan <[email protected]>
2026-02-18clk: mediatek: mt8188: fix circular clock dependencyJulien Stephan
FACTOR1(CLK_TOP_APLL1_D4, CLK_TOP_APLL1, 1, 3) --> CLK_TOP_APLL1_D4 declares CLK_TOP_APLL1 as it's parents MUX_GATE(CLK_TOP_APLL1, apll1_parents, 0x0F8, 0, 4, 7) --> CLK_TOP_APLL1 declares apll1_parents as it's parents static const int apll1_parents[] = { CLK_TOP_CLK26M, CLK_TOP_APLL1_D4 }; --> CLK_TOP_APLL1_D4 is a parent of CLK_TOP_APLL1 Fix this, by correctly setting CLK_TOP_APLL1_DX parent to CLK_APMIXED_APLLX Signed-off-by: Julien Stephan <[email protected]>
2026-02-18clk: mediatek: mt8188: remove separate topckgen-cg driverJulien Stephan
Remove the separate topckgen-cg driver for handling clock gates in the topckgen address space. Commit 8aeeeff50d46 ("clk: mediatek: allow gates in topckgen drivers") added support for gates in topckgen driver. This commit fixes MT8188 driver, the same way commit ba207d7f54f9 ("clk: mediatek: mt8365: remove separate topckgen-cg driver") does for MT8365. Signed-off-by: Julien Stephan <[email protected]>
2026-02-18board: mediatek: add MT8370 EVK board supportJulien Stephan
This adds support for the MT8370 EVK board with the following features enabled/tested: Boot, UART, Watchdog and MMC. MT8370 is based on MT8188. Reviewed-by: Macpaul Lin <[email protected]> Signed-off-by: Julien Stephan <[email protected]>
2026-02-18Merge patch series "arm: mediatek: clean up some redundant board init"Tom Rini
David Lechner <[email protected]> says: Before adding more targets, we take a moment to clean up some some redundant code in existing Mediatek SoC support. The first three patches are removing no-op functions. The last patch generalizes the mem_map code so that it can be shared between all Mediatek ARMv8 SoCs. Link: https://lore.kernel.org/r/20260209-mtk-mach-clean-up-duplicates-v2-0-e3b22282c74d@baylibre.com
2026-02-18arm: mediatek: add CONFIG_MTK_MEM_MAP_DDR_BASE_PHYDavid Lechner
Add a CONFIG_MTK_MEM_MAP_DDR_BASE_PHY variable to specify the DDR base physical address for the Mediatek ARMv8 memory map. This will be used by MT8196 in the future which has a different DDR base address than other Mediatek SoCs. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Macpaul Lin <[email protected]>
2026-02-18arm: mediatek: consolidate ARMv8 memory mapsDavid Lechner
Consolidate all mem_map definitions for MediaTek ARMv8 platforms into a single file. The size of the DDR and MMIO regions can vary, so Kconfig options are added to configure them by target. Signed-off-by: David Lechner <[email protected]>
2026-02-18board/mediatek: move EVK MAINTAINERS to common fileDavid Lechner
Move the mt8365_evk and mt8390_evk MAINTAINERS files to a common MAINTAINERS file. We will be deleting the board-specific directories soon but we need to keep the MAINTAINERS for the defconfig entries. Signed-off-by: David Lechner <[email protected]>
2026-02-18arm: mediatek: make mtk_pll_early_init() staticDavid Lechner
Make the mtk_pll_early_init() function static in several files. It is only used within those files, so there is no need to have it in the global namespace. Reviewed-by: Macpaul Lin <[email protected]>
2026-02-18arm: mediatek: mt8183: remove unused functionDavid Lechner
Remove the mtk_pll_early_init() function as it is not used anywhere. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Macpaul Lin <[email protected]>
2026-02-18board: mediatek: mt8390_evk: remove empty board_init()David Lechner
Remove empty board_init() function and adjust defconfig to not require it. Signed-off-by: David Lechner <[email protected]> Reviewed-by: Macpaul Lin <[email protected]>
2026-02-18arm: mediatek: use default weak mtk_soc_early_init()David Lechner
Add a weak default implementation of mtk_soc_early_init() in spl.c to avoid having to define it in every SoC init.c file that does not need any additional early initialization. The init.h header file is no longer needed in this case and is removed. Signed-off-by: David Lechner <[email protected]>
2026-02-18Merge patch series "Implement all missing SMBIOS types required by distro ↵Tom Rini
tooling" Raymond Mao <[email protected]> says: From: Raymond Mao <[email protected]> This series finish the last missing puzzle of required SMBIOS types by: 1) Fixing duplicated handles when multiple instances exist in one type; 2) Implementing the rest of required types 9/16/17/19; 3) Adding version control when printing properties for all types. Type 9/16/17/19 are generally DT-based, the idea is to write these tables using a hybrid approach: Explicit DT definitions under existing '/smbios/smbios' take precedence, with fallback to scan and interpret values from the entire DT. Moreover, all below APIs: smbios_get_val_si() smbios_get_u64_si() smbios_add_prop_si() are on top of sysinfo, thus allow vendors to get values from other subsystems by implementing their own sysinfo driver if needed. Link: https://lore.kernel.org/r/[email protected]
2026-02-18smbios: print the properties only when they exist in a specified version of specRaymond Mao
By checking the payload length, we can know the version of the spec and skip the ones which are not expected to exist. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: add support for dynamic generation of Type 19 tableRaymond Mao
This commit implements SMBIOS Type 19 (Memory Array Mapped Address) generation with a hybrid approach supporting both: 1. Explicit definition via Device Tree 'smbios' node: Child node under '/smbios/smbios/memory-array-mapped-address' will be used to populate as individual Type 19 structure directly. - Properties follow SMBIOS field names with lowercase letters and hyphen-separated words (e.g., 'starting-address', 'ending-address', 'partition-width', etc.). - This method supports precise platform-defined overrides and system descriptions. 2. Fallback to automatic DT-based discovery: If child node under '/smbios/smbios/memory-array-mapped-address' does not exist, the implementation will: - Scan all top-level 'memory@' nodes to populate Type 19 structure with inferred size and location data. - Scan nodes named or marked as 'memory-controller' and parse associated 'dimm@' subnodes (if present) to extract DIMM sizes and map them accordingly. This dual-mode support enables flexible firmware SMBIOS reporting while aligning with spec-compliant naming and runtime-detected memory topology. Type 19 support is under GENERATE_SMBIOS_TABLE_VERBOSE to avoid increasing rom size for those platforms which only require basic SMBIOS support. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: add support for dynamic generation of Type 17 tableRaymond Mao
This commit implements SMBIOS Type 17 (Memory Device) generation with a hybrid approach supporting both: 1. Explicit definition via Device Tree 'smbios' node: Child node under '/smbios/smbios/memory-device' will be used to populate as individual Type 17 structure directly. - Properties follow SMBIOS field names with lowercase letters and hyphen-separated words (e.g., 'physical-memory-array-handle', ' memory-error-information-handle', 'configured-memory-speed', etc.). - This method supports precise platform-defined overrides and system descriptions. 2. Fallback to automatic DT-based discovery: If child node under '/smbios/smbios/memory-device' does not exist, the implementation will: - Scan all top-level 'memory@' nodes to populate Type 17 structure with inferred size and location data. - Scan nodes named or marked as 'memory-controller' and parse associated 'dimm@' subnodes (if present) to extract DIMM sizes and map them accordingly. This dual-mode support enables flexible firmware SMBIOS reporting while aligning with spec-compliant naming and runtime-detected memory topology. Type 17 support is under GENERATE_SMBIOS_TABLE_VERBOSE to avoid increasing rom size for those platforms which only require basic SMBIOS support. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: add support for dynamic generation of Type 16 tableRaymond Mao
This commit implements SMBIOS Type 16 (Physical Memory Array) generation with a hybrid approach supporting both: 1. Explicit definition via Device Tree 'smbios' node: Child node under '/smbios/smbios/memory-array' will be used to populate as individual Type 16 structure directly. - Properties follow SMBIOS field names with lowercase letters and hyphen-separated words (e.g., 'memory-error-correction', 'maximum-capacity', 'extended-maximum-capacity', etc.). - This method supports precise platform-defined overrides and system descriptions. 2. Fallback to automatic DT-based discovery: If child node under '/smbios/smbios/memory-array' does not exist, the implementation will: - Scan all top-level 'memory@' nodes to populate Type 16 structure with inferred size and location data. - Scan nodes named or marked as 'memory-controller' and parse associated 'dimm@' subnodes (if present) to extract DIMM sizes and map them accordingly. This dual-mode support enables flexible firmware SMBIOS reporting while aligning with spec-compliant naming and runtime-detected memory topology. Type 16 support is under GENERATE_SMBIOS_TABLE_VERBOSE to avoid increasing rom size for those platforms which only require basic SMBIOS support. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: add support for dynamic generation of Type 9 system slot tablesRaymond Mao
This commit introduces support for generating SMBIOS Type 9 (System Slot) tables using a hybrid approach: 1. Explicit Device Tree definitions: Child node under '/smbios/smbios/system-slot' will be interpreted as individual slot definitions. - Each child represents a slot (e.g., isa, pcmcia, etc.). - Properties follow the SMBIOS specification using lowercase hyphen-separated names such as 'slot-type', 'slot-id', 'segment-group-number', 'bus-number', 'slot-information', etc. - This approach allows full customization of each system slot and is especially suitable for platforms with well-defined slot topology. 2. Automatic detection fallback: If child node under '/smbios/smbios/system-slot' does not exist, the implementation will scan the entire device tree for nodes whose 'device_type' matches known slot-related types ("pci", "isa", "pcmcia", etc.). - When a match is found, default values or heuristics are applied to populate to the System Slot table. - This mode is useful for platforms that lack explicit SMBIOS nodes but still expose slot topology via standard DT conventions. Together, two approaches ensure that SMBIOS Type 9 entries are available whether explicitly described or automatically derived. Signed-off-by: Raymond Mao <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-18smbios: Fix duplicated smbios handlesRaymond Mao
Some smbios types can have multiple instances (e.g. Type 7, 9, 16, 17, 19), thus the 'handle' argument should be a pointer so that the value can be accumulated when writing all the instances. This also fix the observed duplicated Type 7 handles. Fixes: bcf456dd369e ("smbios: add detailed smbios information") Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Tested-by: Ilias Apalodimas <[email protected]>
2026-02-17Merge patch series "treewide: Clean up usage of DECLARE_GLOBAL_DATA_PTR"Tom Rini
Peng Fan (OSS) <[email protected]> says: This patch set primarily removes unused DECLARE_GLOBAL_DATA_PTR instances. Many files declare DECLARE_GLOBAL_DATA_PTR and include asm/global_data.h even though gd is never used. In these cases, asm/global_data.h is effectively treated as a proxy header, which is not a good practice. Following the Include What You Use principle, files should include only the headers they actually depend on, rather than relying on global_data.h indirectly. This approach is also adopted in Linux kernel [1]. The first few patches are prepartion to avoid building break after remove the including of global_data.h. A script is for filtering the files: list=`find . -name "*.[ch]"` for source in ${list} do result=`sed -n '/DECLARE_GLOBAL_DATA_PTR/p' ${source}` if [ "${result}" == "DECLARE_GLOBAL_DATA_PTR;" ]; then echo "Found in ${source}" result=`sed -n '/\<gd\>/p' ${source}` result2=`sed -n '/\<gd_/p' ${source}` result3=`sed -n '/\<gd->/p' ${source}` if [ "${result}" == "" ] && [ "${result2}" == "" ] && [ "${result3}" == "" ];then echo "Cleanup ${source}" sed -i '/DECLARE_GLOBAL_DATA_PTR/{N;/\n[[:space:]]*$/d;s/.*\n//;}' ${source} sed -i '/DECLARE_GLOBAL_DATA_PTR/d' ${source} sed -i '/global_data.h/d' ${source} git add ${source} fi fi done [1] https://lpc.events/event/17/contributions/1620/attachments/1228/2520/Linux%20Kernel%20Header%20Optimization.pdf CI: https://github.com/u-boot/u-boot/pull/865 Link: https://lore.kernel.org/r/[email protected]
2026-02-17treewide: Clean up DECLARE_GLOBAL_DATA_PTR usagePeng Fan
Remove DECLARE_GLOBAL_DATA_PTR from files where gd is not used, and drop the unnecessary inclusion of asm/global_data.h. Headers should be included directly by the files that need them, rather than indirectly via global_data.h. Reviewed-by: Patrice Chotard <[email protected]> #STMicroelectronics boards and STM32MP1 ram test driver Tested-by: Anshul Dalal <[email protected]> #TI boards Acked-by: Yao Zi <[email protected]> #TH1520 Signed-off-by: Peng Fan <[email protected]>
2026-02-17socfpga: clock_manager_s10: Add missing header filesPeng Fan
struct udevice and u32 are used in this file. Add missing header to avoid building break after asm/global_data.h is removed from this file. Signed-off-by: Peng Fan <[email protected]>
2026-02-17renesas: common: Include asm-generic/u-boot.hPeng Fan
struct bd_info is defined in asm-generic/u-boot.h. Include it to avoid building error after asm/global_data.h are removed from this file. Signed-off-by: Peng Fan <[email protected]>
2026-02-17pci: layerspace: Add missing header filesPeng Fan
struct fdt_resource, u32 and bool types are used in this header, add missing header files following "include what you use". Signed-off-by: Peng Fan <[email protected]>
2026-02-17nxp: emc2305: Cleanup headersPeng Fan
There is no user of gd, drop the usage of DECLARE_GLOBAL_DATA_PTR and the including of "asm/global_data.h". Include config.h to avoid build error. Signed-off-by: Peng Fan <[email protected]>
2026-02-17rockchip: evk_rk3308: Cleanup headersPeng Fan
There is no user of 'gd', so drop the usage of DECLARE_GLOBAL_DATA_PTR and the including of 'asm/global_data.h'. Also include correct headers to avoid build error. Signed-off-by: Peng Fan <[email protected]>
2026-02-17tegra: pmc: Cleanup headersPeng Fan
No gd users, so remove DECLARE_GLOBAL_DATA_PTR and the including of "asm/global_data.h". And include "asm/arch-tegra/tegra.h" to avoid build error. Signed-off-by: Peng Fan <[email protected]>
2026-02-17toradex: common: Add missing headersPeng Fan
Include linux/types.h and asm-generic/u-boot.h. Missing the two header files will cause building error after cleaning up usage of asm/global_data.h. Signed-off-by: Peng Fan <[email protected]>
2026-02-17xtensa: relocate: Add missing headersPeng Fan
memset and size_t are used in this file, so add missing headers. Signed-off-by: Peng Fan <[email protected]>
2026-02-17test: log_filter: Include vsprintf.hPeng Fan
snprintf is used, need to include vsprintf.h. Otherwise there will be build error after asm/global_data.h is removed. Signed-off-by: Peng Fan <[email protected]>
2026-02-17cmd: mem: Include vsprintf.hPeng Fan
hextoul is used in this file, so include header file vsprintf.h. Signed-off-by: Peng Fan <[email protected]>
2026-02-17common: cli_hush: Include vsprintf.hPeng Fan
sprintf is used in this file, so include header vsprintf.h. Signed-off-by: Peng Fan <[email protected]>
2026-02-17mediatek: mt7622: Drop useless board filesPeng Fan
No functions except reserving gd in the board files. The files are useless, remove them. Signed-off-by: Peng Fan <[email protected]>