]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
15 hours agoqemu_arm: Select CONFIG_SYS_EARLY_PCI_INIT next
Fabio Estevam [Thu, 14 Aug 2025 18:14:36 +0000 (15:14 -0300)] 
qemu_arm: Select CONFIG_SYS_EARLY_PCI_INIT

Select CONFIG_SYS_EARLY_PCI_INIT so that eMMC emulation can
work.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Tested-by: Jan Kiszka <jan.kiszka@siemens.com>
15 hours agoKconfig: Convert SYS_EARLY_PCI_INIT to Kconfig
Fabio Estevam [Thu, 14 Aug 2025 18:14:35 +0000 (15:14 -0300)] 
Kconfig: Convert SYS_EARLY_PCI_INIT to Kconfig

The CONFIG_SYS_EARLY_PCI_INIT symbol is currently not supported
by Kconfig.

Make it a Kconfig symbol so that users could select it via defconfig.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
15 hours agoremoteproc: k3: update compatible for am654 syscon
Anshul Dalal [Thu, 14 Aug 2025 15:21:43 +0000 (20:51 +0530)] 
remoteproc: k3: update compatible for am654 syscon

The existing compatible name for U-Boot's k3 system controller driver
i.e "ti,am625-system-controller" has been added to linux[1] device-tree.
This compatible in kernel is meant for configuring the Control Module
registers (CTRL_MMR0).

However in U-Boot, the matching driver was being used to load the system
firmware on the secure M-cores by the R5 SPL and therefore must be
updated to a different compatible to avoid conflicts.

Therefore, this patch renames all references of the compatible to
"ti,am654-tisci-rproc-r5". The "-r5" is appended so as to avoid any
future conflicts since r5 specific compatibles should only be useful for
U-Boot.

[1]: 5959618631fe ("dt-bindings: mfd: ti,j721e-system-controller: Add compatible string for AM654")
     https://lore.kernel.org/r/20250421214620.3770172-2-afd@ti.com

Signed-off-by: Anshul Dalal <anshuld@ti.com>
15 hours agomach-sc5xx: generate U-Boot proper in ADI ldr format
Philip Molloy [Thu, 14 Aug 2025 13:28:13 +0000 (13:28 +0000)] 
mach-sc5xx: generate U-Boot proper in ADI ldr format

Generating an ldr boot stream containing U-Boot Proper was never added
to U-Boot because it is done by the ADI Yocto layer. Add it to U-Boot to
support projects that do not use that layer.

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
19 hours agoremoteproc: k3-r5: Add support for single cpu mode
Hari Nagalla [Wed, 13 Aug 2025 21:47:05 +0000 (16:47 -0500)] 
remoteproc: k3-r5: Add support for single cpu mode

Add early boot support for AM64 single cpu mode configuration.
In single CPU mode the 2nd core of the R5F cluster can't be used or
unavailable.

Signed-off-by: Hari Nagalla <hnagalla@ti.com>
19 hours agoboard: phytec: common: k3: Making setup_mac_from_eeprom optional
John Ma [Wed, 13 Aug 2025 21:31:16 +0000 (14:31 -0700)] 
board: phytec: common: k3: Making setup_mac_from_eeprom optional

Making the setup_mac_from_eeprom optional for boards without
CONFIG_PHYTEC_SOM_DETECTION_BLOCKS.

Signed-off-by: John Ma <jma@phytec.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
19 hours agocommon: spl: fix compilation warning
Leo Yu-Chi Liang [Wed, 13 Aug 2025 06:16:35 +0000 (14:16 +0800)] 
common: spl: fix compilation warning

Explicitly specify the type by replacing macro with variable
to fix the possible compilation warning.

Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
19 hours agoserial-uclass: set GD_FLG_SERIAL_READY only when cur_serial_dev is assigned
Maxim Kochetkov [Wed, 13 Aug 2025 05:54:32 +0000 (08:54 +0300)] 
serial-uclass: set GD_FLG_SERIAL_READY only when cur_serial_dev is assigned

serial_find_console_or_panic() may left cur_serial_dev unassigned if
REQUIRE_SERIAL_CONSOLE is not set. Setting GD_FLG_SERIAL_READY in
this situation confuses serial console code. It tries to use
unassigned driver instead of debug port and stops printing.
So check cur_serial_dev before setting GD_FLG_SERIAL_READY to allow
console to keep printing via debug port.

Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
19 hours agosound: maxim_codec: Fix coding mistake
Andrew Goodbody [Tue, 12 Aug 2025 10:26:06 +0000 (11:26 +0100)] 
sound: maxim_codec: Fix coding mistake

In maxim_i2c_read the code mistakenly just returned the return value
from dm_i2c_read leaving the following code unreachable. Instead assign
ret to be the return value from dm_i2c_read so that the following code
can operate as expected.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
38 hours agoMerge patch series "env: fat: Add support for NVME"
Tom Rini [Wed, 20 Aug 2025 20:24:57 +0000 (14:24 -0600)] 
Merge patch series "env: fat: Add support for NVME"

This series from Fabio Estevam <festevam@gmail.com> adds support for
having the environment be found on an NVMe device that contains a FAT
filesystem.

Link: https://lore.kernel.org/r/20250812174612.1159634-1-festevam@gmail.com
38 hours agoenv: fat: Standardize the interface type check
Fabio Estevam [Tue, 12 Aug 2025 17:46:12 +0000 (14:46 -0300)] 
env: fat: Standardize the interface type check

Make the interface type check consistent among the other interface types
by checking it agains the ifname string.

The ifname string contains the string returned by env_fat_get_intf(), which
returns the CONFIG_ENV_FAT_INTERFACE value.

No functional change.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
38 hours agoenv: ext4: Add support for NVME
Fabio Estevam [Tue, 12 Aug 2025 17:46:11 +0000 (14:46 -0300)] 
env: ext4: Add support for NVME

Add support for retrieving the EXT4 environment from an NVME device, the
same way it can be retrieved from MMC, SCSI, or VIRTIO.

To use the EXT4 environment from an NVME device, pass
CONFIG_ENV_EXT4_INTERFACE="nvme" in the defconfig.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
38 hours agoenv: fat: Add support for NVME
Fabio Estevam [Tue, 12 Aug 2025 17:46:10 +0000 (14:46 -0300)] 
env: fat: Add support for NVME

Add support for retrieving the FAT environment from an NVME device, the
same way it can be retrieved from MMC, SCSI, or VIRTIO.

To use the FAT environment from an NVME device, pass
CONFIG_ENV_FAT_INTERFACE="nvme" in the defconfig.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
41 hours agoMerge patch series "Add support for Ethernet boot"
Tom Rini [Wed, 20 Aug 2025 17:07:22 +0000 (11:07 -0600)] 
Merge patch series "Add support for Ethernet boot"

Chintan Vankar <c-vankar@ti.com> says:

This series adds bind method for CPSW to avoid explicit probing, removes
explicit probing of CPSW, adds support for Ethernet boot on SK-AM68,
SK-AM62P-LP, J722S, SK-AM69.

Link: https://lore.kernel.org/r/20250731075956.605474-1-c-vankar@ti.com
42 hours agoconfigs: am69_sk_a72_ethboot: Add configs to enable Ethernet boot
Chintan Vankar [Thu, 31 Jul 2025 07:59:56 +0000 (13:29 +0530)] 
configs: am69_sk_a72_ethboot: Add configs to enable Ethernet boot

Add configs required to enable Ethernet boot for SK-AM69.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoconfigs: am69_sk_r5_ethboot: Add configs to enable Ethernet boot in R5SPL
Chintan Vankar [Thu, 31 Jul 2025 07:59:55 +0000 (13:29 +0530)] 
configs: am69_sk_r5_ethboot: Add configs to enable Ethernet boot in R5SPL

Add configs required to enable Ethernet boot for SK-AM69.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoarm: mach-k3: j784s4_spl: Alias Ethernet boot to CPGMAC
Chintan Vankar [Thu, 31 Jul 2025 07:59:54 +0000 (13:29 +0530)] 
arm: mach-k3: j784s4_spl: Alias Ethernet boot to CPGMAC

This is required to enable spl_net boot on SK-AM69.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoarm: mach-k3: j784s4: Update SoC auto-gen data to enable Ethernet boot
Chintan Vankar [Thu, 31 Jul 2025 07:59:53 +0000 (13:29 +0530)] 
arm: mach-k3: j784s4: Update SoC auto-gen data to enable Ethernet boot

Update dev-data and clk-data to include CPSW device which is required to
enable Ethernet boot for SK-AM69.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoconfigs: j722s_evm_a53_ethboot: Enable configs required for Ethernet boot
Chintan Vankar [Thu, 31 Jul 2025 07:59:52 +0000 (13:29 +0530)] 
configs: j722s_evm_a53_ethboot: Enable configs required for Ethernet boot

Enable configs required to support Ethernet boot for J722S.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoconfigs: j722s_evm_r5_ethboot: Add configs to enable Ethernet boot in R5SPL
Chintan Vankar [Thu, 31 Jul 2025 07:59:51 +0000 (13:29 +0530)] 
configs: j722s_evm_r5_ethboot: Add configs to enable Ethernet boot in R5SPL

Add configs to enable Ethernet boot in R5SPL, also disable not required
configs to avoid memory limitation.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoboard: ti: j722s: evm: Enable cache for J722s
Chintan Vankar [Thu, 31 Jul 2025 07:59:50 +0000 (13:29 +0530)] 
board: ti: j722s: evm: Enable cache for J722s

Enable cache for J722s to optimize performance of CPU to access data from
memory.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoarm: mach-k3: j722s: Update SoC autogenerated data to enable Ethernet boot
Chintan Vankar [Thu, 31 Jul 2025 07:59:49 +0000 (13:29 +0530)] 
arm: mach-k3: j722s: Update SoC autogenerated data to enable Ethernet boot

Update dev-data and clk-data to include CPSW device which is required to
enable Ethernet boot.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoconfigs: am62px_evm_a53_ethboot: Enable configs required for Ethboot
Chintan Vankar [Thu, 31 Jul 2025 07:59:48 +0000 (13:29 +0530)] 
configs: am62px_evm_a53_ethboot: Enable configs required for Ethboot

Enable config options needed to support Ethernet boot on SK-AM62P-LP.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoconfigs: am62px_evm_r5_ethboot: Add configs to enable Ethernet boot in R5SPL
Andreas Dannenberg [Thu, 31 Jul 2025 07:59:47 +0000 (13:29 +0530)] 
configs: am62px_evm_r5_ethboot: Add configs to enable Ethernet boot in R5SPL

Add configs for enabling Ethernet boot in R5SPL, also disable not required
configs to avoid memory limitation.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoboard: ti: am62px: evm: Enable cache for AM62p
Andreas Dannenberg [Thu, 31 Jul 2025 07:59:46 +0000 (13:29 +0530)] 
board: ti: am62px: evm: Enable cache for AM62p

Enable cache for AM62p to optimize performance of CPU to access data from
memory.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoarm: mach-k3: am62p: Update SoC auto-gen data to enable Ethernet boot
Andreas Dannenberg [Thu, 31 Jul 2025 07:59:45 +0000 (13:29 +0530)] 
arm: mach-k3: am62p: Update SoC auto-gen data to enable Ethernet boot

Update dev-data and clk-data to enable Ethernet boot using CPSW on
SK-AM62P-LP.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoconfigs: am68_sk_a72_ethboot: Enable configs required for Ethernet boot
Chintan Vankar [Thu, 31 Jul 2025 07:59:44 +0000 (13:29 +0530)] 
configs: am68_sk_a72_ethboot: Enable configs required for Ethernet boot

Enable config options needed to support Ethernet boot on AM68-SK.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoconfigs: am68_sk_r5_ethboot: Add configs for enabling Ethernet boot in R5SPL
Chintan Vankar [Thu, 31 Jul 2025 07:59:43 +0000 (13:29 +0530)] 
configs: am68_sk_r5_ethboot: Add configs for enabling Ethernet boot in R5SPL

Add configs for enabling Ethernet boot in R5SPL, also disable not required
configs to avoid memory limitation.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agonet: ti: Kconfig: Enable SPL_SYSCON config for CPSW
Chintan Vankar [Thu, 31 Jul 2025 07:59:42 +0000 (13:29 +0530)] 
net: ti: Kconfig: Enable SPL_SYSCON config for CPSW

TI's Ethernet switch needs system controllers enabled in R5SPL stage while
booting via Ethernet. Enable SPL_SYSCON config for
CONFIG_TI_AM65_CPSW_NUSS.

Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoarm: mach-k3: j721s2_spl: Alias Ethernet boot to CPGMAC
Chintan Vankar [Thu, 31 Jul 2025 07:59:41 +0000 (13:29 +0530)] 
arm: mach-k3: j721s2_spl: Alias Ethernet boot to CPGMAC

This is required to enable spl_net boot on SK-AM68.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoarm: mach-k3: j721s2: Update SoC auto-gen data to enable Ethernet boot
Chintan Vankar [Thu, 31 Jul 2025 07:59:40 +0000 (13:29 +0530)] 
arm: mach-k3: j721s2: Update SoC auto-gen data to enable Ethernet boot

Update dev-data and clk-data to include CPSW device which is required to
enable Ethernet boot.

Reviewed-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoRevert "arm: mach-k3: am62x: am625_init: Probe AM65 CPSW NUSS"
Chintan Vankar [Thu, 31 Jul 2025 07:59:39 +0000 (13:29 +0530)] 
Revert "arm: mach-k3: am62x: am625_init: Probe AM65 CPSW NUSS"

This reverts commit 35bddf889652081f150f60740618851b5d4817f4.

Bind method of "am65_cpsw_nuss" driver will ensure binding of it's child
driver "am65_cpsw_nuss_ports", and there is no need to probe CPSW driver
explicitly.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoRevert "mach-k3: am642_init: Probe AM65 CPSW NUSS for R5/A53 SPL"
Chintan Vankar [Thu, 31 Jul 2025 07:59:38 +0000 (13:29 +0530)] 
Revert "mach-k3: am642_init: Probe AM65 CPSW NUSS for R5/A53 SPL"

This reverts commit 93c43a8365fae0f188ac091d129542470ddaf62d.

Bind method of "am65_cpsw_nuss" driver will ensure binding of it's child
driver "am65_cpsw_nuss_ports", and there is no need to probe CPSW driver
explicitly.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agoarch: mach-k3: common: Remove explicit probing of CPSW driver
Chintan Vankar [Thu, 31 Jul 2025 07:59:37 +0000 (13:29 +0530)] 
arch: mach-k3: common: Remove explicit probing of CPSW driver

This reverts commit e58d9284850fa78d364d264087fe744717963675.

Bind method of am65_cpsw_nuss driver will ensure binding of it's child
driver am65_cpsw_nuss_ports, and there is no need to call CPSW driver
explicitly. Remove explicit probing of CPSW driver for AM62x.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
42 hours agonet: ti: am65-cpsw-nuss: Define bind method for CPSW driver
Chintan Vankar [Thu, 31 Jul 2025 07:59:36 +0000 (13:29 +0530)] 
net: ti: am65-cpsw-nuss: Define bind method for CPSW driver

CPSW driver is defined as UCLASS_MISC driver which needs to be probed
explicitly. Define bind method for CPSW driver to scan and bind
ethernet-ports with UCLASS_ETH driver which will eventually probe CPSW
driver and avoid probing CPSW driver explicitly.

Signed-off-by: Chintan Vankar <c-vankar@ti.com>
2 days agoMerge patch series "ram: k3-ddrss: Support partial inline ECC"
Tom Rini [Tue, 19 Aug 2025 17:26:39 +0000 (11:26 -0600)] 
Merge patch series "ram: k3-ddrss: Support partial inline ECC"

Neha Malcom Francis <n-francis@ti.com> says:

Currently, the inline ECC implementation enables inline ECC across the
entire DDR space. However this is not always required and a more common
ask is to have only a portion of the DDR protected as enabling ECC
impacts read/write performance metrics.

This series aims to modify the logic to firstly support partial inline
ECC in its' most basic form which works for single controllers. Then it
introduces an algorithm to support multi DDR controllers where
interleaving plays a role. Since interleaving is handled by the MSMC, it
only makes sense to have the MSMC decide the inline ECC ranges for each
DDR.

This series also introduces support for multiple partial regions of inline
ECC however due to complexity only support for single DDR is present now.

WIP: A commandline test case patch for verifying the correct behaviour
of inline ECC including partial case. Was targeted for v2 however a little
tricky to make it a general test case especially for multi-DDR cases, so
have not combined it in this series for now.

Testing:
- Memtester runs for J721S2 and J784S4 platforms with and without ECC
  enablement runs fine.
- Along with patches that add support for the commandline test (see WIP
  note above) J784S4 shows expected behavior for three sets of partial
  inline ECC regions (non-overlapping, and after modifying J784S4 to
  have single DDR instead of multi-DDR):
  https://gist.github.com/nehamalcom/bde7e14e96485e4a188c3af3af6d75d6

Link: https://lore.kernel.org/r/20250812124324.124306-1-n-francis@ti.com
2 days agoram: k3-ddrss: Support multiple ECC regions for a single controller
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:24 +0000 (18:13 +0530)] 
ram: k3-ddrss: Support multiple ECC regions for a single controller

K3 Inline ECC mechanism can support up to 3 regions of inline ECC, add
this support for single controller.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoram: k3-ddrss: Add support for partial inline ECC in multi-DDR systems
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:23 +0000 (18:13 +0530)] 
ram: k3-ddrss: Add support for partial inline ECC in multi-DDR systems

The existing approach does not account for interleaving in the DDRs when
setting up regions. There is support for MSMC to calculate the regions
for each DDR, so modify k3_ddrss_probe to set the regions accordingly
for multi-DDR systems.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoram: k3-ddrss: Add support for MSMC calculation of DDR inline ECC regions
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:22 +0000 (18:13 +0530)] 
ram: k3-ddrss: Add support for MSMC calculation of DDR inline ECC regions

Add support for calculation of the protected regions for each DDR in
multi-DDR systems. Since MSMC is the parent node of the individual DDRs
as well as responsible for their interleaving, it only makes sense for
MSMC to contain the logic for dividing the regions.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoram: k3-ddrss: Add support for number of controllers under MSMC
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:21 +0000 (18:13 +0530)] 
ram: k3-ddrss: Add support for number of controllers under MSMC

In K3 multi-DDR systems, the MSMC is responsible for the interleave
mechanism across all the DDR controllers. Add support for MSMC to obtain
the number of controllers it's responsible for using the DT.

Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoram: k3-ddrss: Add CONFIG_K3_MULTI_DDR
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:20 +0000 (18:13 +0530)] 
ram: k3-ddrss: Add CONFIG_K3_MULTI_DDR

As we increase the functionalities that the K3 DDRSS sub-system support,
it is becoming more evident that the same logic cannot apply to both
single as well as multiple DDR controller devices. Add
CONFIG_K3_MULTI_DDR to be used to differentiate between the two.

Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoram: k3-ddrss: Add support for a partial inline ECC region
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:19 +0000 (18:13 +0530)] 
ram: k3-ddrss: Add support for a partial inline ECC region

Instead of defaulting to choosing the entire DDR region when enabling
inline ECC, allow picking of a range within the DDR space using DT to
enable.

It expects such a node within the memory node, in the absence of which
we resort to enabling inline ECC for the entire DDR region:

inline_ecc: protected@9e780000 {
        device_type = "ecc";
        reg = <0x9e780000 0x0080000>;
        bootph-all;
};

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoram: k3-ddrss: Add comment about ecc_reserved_space
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:18 +0000 (18:13 +0530)] 
ram: k3-ddrss: Add comment about ecc_reserved_space

The reserved space needed for storing the parity remains the same no
matter the size of the region that is being protected. Add this as a
comment for better code understanding.

Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoram: k3-ddrss: s/K3_DDRSS_MAX_ECC_REGIONS/K3_DDRSS_MAX_ECC_REG
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:17 +0000 (18:13 +0530)] 
ram: k3-ddrss: s/K3_DDRSS_MAX_ECC_REGIONS/K3_DDRSS_MAX_ECC_REG

To prevent checkpatch warning once we start using this macro more
frequently, shorten the length of it. While at it, also move the
structure k3_ddrss_ecc_region above k3_msmc so that future patches can
have it as a member of k3_msmc.

Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoram: k3-ddrss: Use DDR address instead of system address for ecc_regions
Neha Malcom Francis [Tue, 12 Aug 2025 12:43:16 +0000 (18:13 +0530)] 
ram: k3-ddrss: Use DDR address instead of system address for ecc_regions

Let ecc_regions[x].start reflect the start of the ECC region in terms of
DDR addressing rather than system addressing. This will make it easier
to extend the usage of the same ecc_regions structure for multi-DDR
systems as well.

Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 days agoMerge patch series "soc: ti: k3-navss-ringacc: Fix Smatch reported issues"
Tom Rini [Tue, 19 Aug 2025 17:26:16 +0000 (11:26 -0600)] 
Merge patch series "soc: ti: k3-navss-ringacc: Fix Smatch reported issues"

Andrew Goodbody <andrew.goodbody@linaro.org> says:

Smatch reported issues including a derference of a pointer before its
NULL check and the use of an uninitialised variable.

Link: https://lore.kernel.org/r/20250812-k3-navss-v1-0-a88f7db58998@linaro.org
2 days agosoc: ti: k3-navss-ringacc: Do not use uninitialised variable
Andrew Goodbody [Tue, 12 Aug 2025 10:13:50 +0000 (11:13 +0100)] 
soc: ti: k3-navss-ringacc: Do not use uninitialised variable

In k3_nav_ringacc_probe_dt there can be no error code returned from
dev_read_u32_default so ret is not assigned to and should not be used.
Remove the use of ret from the dev_err call as it is unitialised.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2 days agosoc: ti: k3-navss-ringacc: NULL check before dereference
Andrew Goodbody [Tue, 12 Aug 2025 10:13:49 +0000 (11:13 +0100)] 
soc: ti: k3-navss-ringacc: NULL check before dereference

Move the first dereference of ring to after the NULL check has occurred.
This will prevent any possible dereference of NULL.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2 days agoMerge patch series "remoteproc: k3: Fix two Smatch issue reports"
Tom Rini [Tue, 19 Aug 2025 17:26:03 +0000 (11:26 -0600)] 
Merge patch series "remoteproc: k3: Fix two Smatch issue reports"

Andrew Goodbody <andrew.goodbody@linaro.org> says:

Smatch reported two issues, firstly attempting to compare a u8 to a 16
bit macro and secondly a potentially uninitialised variable.

Link: https://lore.kernel.org/r/20250808-remoteproc_tik3-v1-0-f7dae0b177b2@linaro.org
2 days agoremoteproc: k3-r5: Ensure ret is initialised
Andrew Goodbody [Fri, 8 Aug 2025 12:00:23 +0000 (13:00 +0100)] 
remoteproc: k3-r5: Ensure ret is initialised

In k3_r5f_split_reset and k3_r5f_unprepare ret may not have been
assigned to before the code reaches the return ret at the function exit.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2 days agoremoteproc: ti_k3_arm64: Cannot set or compare u8 to 16bits
Andrew Goodbody [Fri, 8 Aug 2025 12:00:22 +0000 (13:00 +0100)] 
remoteproc: ti_k3_arm64: Cannot set or compare u8 to 16bits

In the struct ti_sci_proc the fields proc_id and host_id are declared as
u8 so cannot be set to nor compared with a macro defined with a value
using 16 bits. Change the macro to only use 8 bits to make the code work
as expected.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2 days agosandbox: Add generic asm/atomic.h
Tom Rini [Tue, 12 Aug 2025 17:59:08 +0000 (11:59 -0600)] 
sandbox: Add generic asm/atomic.h

In order to compile code that uses <asm/atomic.h> on sandbox, we must
provide this header. RISC-V shows us today how to do so with the generic
header implementation, so copy that.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 days agosandbox: Improve dummy local_irq_save implementation
Tom Rini [Tue, 12 Aug 2025 17:59:07 +0000 (11:59 -0600)] 
sandbox: Improve dummy local_irq_save implementation

Normally, local_save_flags is used as part of the local_irq_* macros, so
remove that as it's unused. Make local_irq_save do something to the
passed variable so that it won't trigger unused variable warnings later.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 days agosound: rt5677: Cannot test unsigned for being negative
Andrew Goodbody [Tue, 12 Aug 2025 10:36:53 +0000 (11:36 +0100)] 
sound: rt5677: Cannot test unsigned for being negative

In rt5677_bic_or the call to rt5677_i2c_read returns an int so old
should also be an int to receive that value and then be able to test it
for being negative which would indicate an error.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
2 days agotools: aisimage: Make aisimage_check_params() static
Ilias Apalodimas [Tue, 12 Aug 2025 06:10:20 +0000 (09:10 +0300)] 
tools: aisimage: Make aisimage_check_params() static

We are trying to enable -Wmissing-prototypes and this functiion is only
used locally. Mark it as static.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 days agotools: fit_info: Make usage() static
Ilias Apalodimas [Tue, 12 Aug 2025 06:03:25 +0000 (09:03 +0300)] 
tools: fit_info: Make usage() static

The function is only used locally so declare it as static.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 days agopinctrl: nexell: Cannot test unsigned to be negative
Andrew Goodbody [Thu, 7 Aug 2025 09:16:55 +0000 (10:16 +0100)] 
pinctrl: nexell: Cannot test unsigned to be negative

In s5pxx18_pinctrl_set_state testing count to be negative will always
fail as count is unsigned despite receiving the return value of a
function that returns an int. Change count and idx to be of type int to
allow the test to work as expected and remove the need for any implicit
casts. Also change pin to be u32 which is what all called functions
expect.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
3 days agoMerge patch series "test/py: Correctly restore the DT after capsule tests"
Tom Rini [Mon, 18 Aug 2025 22:42:13 +0000 (16:42 -0600)] 
Merge patch series "test/py: Correctly restore the DT after capsule tests"

This series from Ilias Apalodimas <ilias.apalodimas@linaro.org> fixes a
number of issues with running the EFI capsule tests in CI.

Link: https://lore.kernel.org/r/20250807080819.1058411-1-ilias.apalodimas@linaro.org
3 days agotest/py: Fix capsule update tests
Ilias Apalodimas [Thu, 7 Aug 2025 08:08:17 +0000 (11:08 +0300)] 
test/py: Fix capsule update tests

Capsule updates tests have been skipped since
commit 659f97eb1fc3 ("scripts/Makefile.lib: EFI: Use capsule CRT instead of ESL file")

Remove that check since it's not needed anymore and re-enable the tests.

Fixes: 659f97eb1fc3 ("scripts/Makefile.lib: EFI: Use capsule CRT instead of ESL file")
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 days agotest/py: Fix race conditions on EFI capsule tests
Ilias Apalodimas [Thu, 7 Aug 2025 08:08:16 +0000 (11:08 +0300)] 
test/py: Fix race conditions on EFI capsule tests

efi_capsule_data() is called in each of the EFI tests to create and
setup the files we need. However, it also recreates the spi.bin file
that holds the SPI flash contents we rely on for the test validation.

This leads to weird errors since reading from the flash returns 0,
instead of the expected value if the file has been recreated.

Always restart our sandbox instance if the files are recreated.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 days agotest/py: Read from the correct offset when initializing capsules
Ilias Apalodimas [Thu, 7 Aug 2025 08:08:15 +0000 (11:08 +0300)] 
test/py: Read from the correct offset when initializing capsules

The current code writes values to a flash offset defined by a function
argument. However, when reading it back we always read from a static
offset. Adjust the reads to use the correct offset.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
3 days agotest/py: Correctly restore the DT after capsule tests
Ilias Apalodimas [Thu, 7 Aug 2025 08:08:14 +0000 (11:08 +0300)] 
test/py: Correctly restore the DT after capsule tests

Some capsule tests are changing the sandbox DT to test various features,
e.g authenticated capsule updates, versioning support etc. However, no one
restores the original DT and the CI pops errors looking like

/u-boot
Bloblist at 100 not found (err=-2)
Failed to find FDT file '/tmp/sandbox/persistent-data/scratch/EFI/CapsuleTestData/test_ver.dtb'
initcall_run_f(): initcall fdtdec_setup() failed

if sandbox is restarted.

So let's restore the proper DT after done with the capsule testing.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
3 days agoMerge patch series "modify npcm7xx/8xx feature and bug fixed"
Tom Rini [Mon, 18 Aug 2025 22:41:50 +0000 (16:41 -0600)] 
Merge patch series "modify npcm7xx/8xx feature and bug fixed"

Jim Liu <jim.t90615@gmail.com> says:

modify npcm7xx/8xx feature and bug fixed

Link: https://lore.kernel.org/r/20250807053224.2169557-1-JJLIU0@nuvoton.com
3 days agoconfigs: npcm: remove CONFIG_SYS_SKIP_UART_INIT
Jim Liu [Thu, 7 Aug 2025 05:32:24 +0000 (13:32 +0800)] 
configs: npcm: remove CONFIG_SYS_SKIP_UART_INIT

Set the uart clock frequency according to dts by default.
If CONFIG_SYS_SKIP_UART_INIT is not enabled, no need to
do board_set_console to change the console bootarg.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
3 days agomisc: npcm_host_intf: Disable pending KCS/BPC interrupts
Jim Liu [Thu, 7 Aug 2025 05:32:23 +0000 (13:32 +0800)] 
misc: npcm_host_intf: Disable pending KCS/BPC interrupts

If there is an unhandled KCS/BPC pending interrupt after reboot,
the KCS/BPC Linux driver may trigger interrupts immediately upon
registering the irq. However, since the driver is not yet initialized
to handle them, this can lead to unexpected behavior.

To prevent this, disable KCS/BPC interrupts in u-boot to avoid pending
interrupts from being raised before the Linux driver is fully initialized.

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
3 days agomisc: npcm_host_intf: Add Arbel eSPI workaround
Jim Liu [Thu, 7 Aug 2025 05:32:22 +0000 (13:32 +0800)] 
misc: npcm_host_intf: Add Arbel eSPI workaround

Enabling an eSPI channel(e.g. Peripheral Channel) during
an eSPI transaction might cause the BMC eSPI module to
transition to a wrong state and therefore respond with
FATAL_ERROR on incoming transaction.
Add workaround to avoid the module getting into the wrong
state.

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
3 days agoarm: dts: nuvoton: Change timer node
Jim Liu [Thu, 7 Aug 2025 05:32:21 +0000 (13:32 +0800)] 
arm: dts: nuvoton: Change timer node

npcm_timer driver is changed to use SECCNT counter.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
3 days agoi2c: npcm: fix consecutive dm_i2c_read/write error
Stanley Chu [Thu, 7 Aug 2025 05:32:20 +0000 (13:32 +0800)] 
i2c: npcm: fix consecutive dm_i2c_read/write error

When doing a dm_i2c_read followed by a dm_i2c_write, the subsequent
transaction may get npcm_i2c_check_sda error because the module is
still busy in STOP condition in previous dm_i2c_read.
Always check and wait for module to be out of busy before starting
an i2c transaction.

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
3 days agopinctrl: npcm8xx: add support for setting VCD input source
Stanley Chu [Thu, 7 Aug 2025 05:32:19 +0000 (13:32 +0800)] 
pinctrl: npcm8xx: add support for setting VCD input source

Add pinmux for the VCD input to use the HSYNC signal.

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
3 days agoarm: dts: npcm8xx: add pinmux for VCD input
Stanley Chu [Thu, 7 Aug 2025 05:32:18 +0000 (13:32 +0800)] 
arm: dts: npcm8xx: add pinmux for VCD input

Add pinmux to select the HSYNC signal as the VCD input.

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
6 days agopinctrl: stmfx: Remove duplicated code
Andrew Goodbody [Thu, 7 Aug 2025 10:04:03 +0000 (11:04 +0100)] 
pinctrl: stmfx: Remove duplicated code

In stmfx_read_reg there is duplicated code to detect ret < 0 and return
ret if so. Remove one version of it.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
6 days agopinctrl: single: Remove unreachable code
Andrew Goodbody [Thu, 7 Aug 2025 10:04:02 +0000 (11:04 +0100)] 
pinctrl: single: Remove unreachable code

In single_read there is a switch block with a default label. All cases
in the switch block, including the default, return directly. So any code
following the switch block is unreachable. Remove the unreachable code.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
6 days agoram: k3-ddrss: Use logical and not bitwise
Andrew Goodbody [Fri, 8 Aug 2025 10:47:43 +0000 (11:47 +0100)] 
ram: k3-ddrss: Use logical and not bitwise

The test for the interrupt LPDDR4_INTR_BIST_DONE is using a bitwise and
but the test is simple logic so use the more appropriate logical and.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
6 days agophy: ti: j721e-wiz: Set error code before goto
Andrew Goodbody [Wed, 6 Aug 2025 17:03:26 +0000 (18:03 +0100)] 
phy: ti: j721e-wiz: Set error code before goto

In j721e_wiz_probe the test for too many lanes jumps to the error exit
path without assigning an error code which could lead to calling code
silently ignoring the failure. Set the error code.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
6 days agophy: keystone-usb: Do not negate return code
Andrew Goodbody [Wed, 6 Aug 2025 15:47:46 +0000 (16:47 +0100)] 
phy: keystone-usb: Do not negate return code

In keystone_usb_init the return code from psc_enable_module should be
returned as is rather than being negated.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
6 days agotimer: Tighten some timer driver dependencies
Tom Rini [Wed, 6 Aug 2025 14:55:03 +0000 (08:55 -0600)] 
timer: Tighten some timer driver dependencies

A few timer drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agotimer: fttmr010_timer: Remove unused driver
Tom Rini [Wed, 6 Aug 2025 14:55:02 +0000 (08:55 -0600)] 
timer: fttmr010_timer: Remove unused driver

This driver is unused. Remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agonet: ti: icssg: Remove impossible test
Andrew Goodbody [Wed, 6 Aug 2025 10:56:58 +0000 (11:56 +0100)] 
net: ti: icssg: Remove impossible test

port_id is an unsigned variable so cannot be negative. Remove the test
checking for port_id being less than 0.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
6 days agonet: ti: am65-cpsw-nuss: Initialise ret
Andrew Goodbody [Wed, 6 Aug 2025 10:43:47 +0000 (11:43 +0100)] 
net: ti: am65-cpsw-nuss: Initialise ret

In am65_cpsw_phy_init it is not certain that ret will be assigned to
before it reaches the 'return ret' statement. Initialise ret to ensure
that ret is valid.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
6 days agonet: phy: cortina: Ensure memory allocated is freed
Andrew Goodbody [Tue, 5 Aug 2025 16:10:26 +0000 (17:10 +0100)] 
net: phy: cortina: Ensure memory allocated is freed

In cs4340_upload_firmware a buffer is allocated with malloc but this is
never freed. The pointer to this buffer, addr, is not even kept
unchanged. But in some cases addr is not a buffer allocated by malloc.
Introduce the use of another pointer to keep track of the buffer and to
know if it needs to be freed.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
7 days agoram: Tighten some ram driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:54:23 +0000 (15:54 -0600)] 
ram: Tighten some ram driver dependencies

A few ram drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agoserial: linflexuart: Remove unused driver
Tom Rini [Mon, 4 Aug 2025 21:57:14 +0000 (15:57 -0600)] 
serial: linflexuart: Remove unused driver

This driver is unused. Remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agoserial: Tighten some serial driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:57:13 +0000 (15:57 -0600)] 
serial: Tighten some serial driver dependencies

A few serial drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agortc: pl031: Correct function type of pl031_write_reg
Tom Rini [Mon, 4 Aug 2025 21:57:12 +0000 (15:57 -0600)] 
rtc: pl031: Correct function type of pl031_write_reg

When calling writel we do not have a return value to check or pass
along. This function should therefore be void and not return what writel
gives us.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agortc: mc146818: Fix building on more architectures
Tom Rini [Mon, 4 Aug 2025 21:57:11 +0000 (15:57 -0600)] 
rtc: mc146818: Fix building on more architectures

This driver makes calls to in8/out8(). On PowerPC these are separate and
real calls but elsewhere they are able to simply be wrappers to
inb/outb. Rework this logic to be able to build this driver on more
platforms.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agortc: Tighten some rtc driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:57:10 +0000 (15:57 -0600)] 
rtc: Tighten some rtc driver dependencies

The Marvell RTC rtc driver cannot build without access to some
platform specific header files. Express that requirements in Kconfig as
well.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agosysreset: Tighten some sysreset driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:57:19 +0000 (15:57 -0600)] 
sysreset: Tighten some sysreset driver dependencies

The MPC83xx sysreset driver cannot build without access to some
architecture specific header files. Express that requirements in Kconfig
as well.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agosound: Tighten some sound driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:57:16 +0000 (15:57 -0600)] 
sound: Tighten some sound driver dependencies

A few sound drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agosoc: Tighten some soc driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:57:15 +0000 (15:57 -0600)] 
soc: Tighten some soc driver dependencies

The Qualcomm Snapdragon "SoC" driver cannot build without access to some
ARM64 specific functionality. Express that requirements in Kconfig as
well.

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agoremoteproc: Tighten some remoteproc driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:54:24 +0000 (15:54 -0600)] 
remoteproc: Tighten some remoteproc driver dependencies

The TI IPU remoteproc driver cannot build without access to some
platform specific header files. Express that requirements in Kconfig as
well.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agoreset: Tighten some reset driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:54:25 +0000 (15:54 -0600)] 
reset: Tighten some reset driver dependencies

A few reset drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agopwm: pwm-aspeed: Add missing <linux/log2.h> to pwm-aspeed.c
Tom Rini [Mon, 4 Aug 2025 21:53:54 +0000 (15:53 -0600)] 
pwm: pwm-aspeed: Add missing <linux/log2.h> to pwm-aspeed.c

This driver references the logarithmic macros while relying on an
indirection inclusion of <linux/log2.h>. Add the missing include
directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agopwm: Tighten some pwm driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:53:53 +0000 (15:53 -0600)] 
pwm: Tighten some pwm driver dependencies

A few pwm drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agopinctrl: Tighten some pinctrl driver dependencies
Tom Rini [Mon, 4 Aug 2025 21:52:53 +0000 (15:52 -0600)] 
pinctrl: Tighten some pinctrl driver dependencies

A few pinctrl drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agosm: Rework the Kconfig logic here
Tom Rini [Mon, 4 Aug 2025 21:51:11 +0000 (15:51 -0600)] 
sm: Rework the Kconfig logic here

The symbol "SM" is a library symbol and should not be prompted for. It
should be selected by the drivers that use it. In this case we need to
add a SANDBOX_SM symbol for the sandbox driver. The meson SM driver
cannot build on other platforms, so add the appropriate dependency.

Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agosandbox: Add an additional dummy sync macro
Tom Rini [Mon, 4 Aug 2025 21:50:08 +0000 (15:50 -0600)] 
sandbox: Add an additional dummy sync macro

There are some drivers which call a "dmb" for a type of sync. Add that
as well to sandbox.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agonet: e1000: Free temporary buffer on exit
Andrew Goodbody [Mon, 4 Aug 2025 15:32:51 +0000 (16:32 +0100)] 
net: e1000: Free temporary buffer on exit

In do_e1000_spi_checksum a temporary buffer is allocated but never
freed. Add code to free on exit. Also refactor the code to make the exit
code common.

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
8 days agorockchip: add /chosen/bootsource to U-Boot proper DT
Quentin Schulz [Wed, 30 Jul 2025 12:03:18 +0000 (14:03 +0200)] 
rockchip: add /chosen/bootsource to U-Boot proper DT

U-Boot typically can be loaded from different storage media, such as
eMMC, SD card, SPI flash, but also from non-persistent media such as USB
(via proprietary protocols loading directly into SRAM, or fastboot, DFU,
 etc..), JTAG, ...

This information is usually reported by the BootROM via some proprietary
mechanism (some specific address in registers/DRAM for example). For
Rockchip, that information is stored in a register
(BROM_BOOTSOURCE_ID_ADDR).

While we already have the information about which medium was used to
load U-Boot proper from SPL (via /chosen/u-boot,spl-boot-device), this
new property represents the medium used to load U-Boot first phase
(depending on configuration, can be VPL/TPL/SPL) which absolutely may
differ from the one used to load U-Boot proper!

It would be useful to know which medium was used to load the first phase
of U-Boot, for example to check fallback mechanisms (proper loaded from
a different medium than first phase) are actually working.

For now, this only applies to Rockchip's U-Boot proper DT but could be
applied to the kernel's as well and possibly for other architectures or
vendors.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
10 days agopinctrl: sx150x: reformat and fixup Copyright header
Neil Armstrong [Wed, 30 Jul 2025 08:03:39 +0000 (10:03 +0200)] 
pinctrl: sx150x: reformat and fixup Copyright header

The Linux pinctrl-sx150 was originally written as a GPIO driver
and fully rewritten by me as a Pinctrl driver and extended by
other contributors.

Fixup the Copyright header style and correctly report the
Copyright headers from the Linux driver.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
10 days agopinctrl: gpio: sx150x: fix compilation warnings.
Chali Anis [Wed, 30 Jul 2025 02:19:08 +0000 (22:19 -0400)] 
pinctrl: gpio: sx150x: fix compilation warnings.

Fixes: 5451504256d3 ("pinctrl: gpio: sx150x: add Semtech SX150x I2C GPIO expander and pinctrl driver")
Signed-off-by: Chali Anis <chalianis1@gmail.com>