summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-08-20board: microsoft: add Microsoft Surface 2 supportJonas Schwöbel
Surface 2 is a Surface-series Windows RT hybrid tablet computer created by Microsoft. Surface 2 uses a 1.7 GHz quad-core Nvidia Tegra 4 chipset with 2 GB of RAM, features 10.6 inch FullHD ClearType HD screen with 16:9 aspect ratio and 32/64 GB of internal memory that can be supplemented with a microSDXC card giving up to 64 GB of additional storage. Signed-off-by: Jonas Schwöbel <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-08-19Merge patch series "ram: k3-ddrss: Support partial inline ECC"Tom Rini
Neha Malcom Francis <[email protected]> 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/[email protected]
2025-08-19ram: k3-ddrss: Support multiple ECC regions for a single controllerNeha Malcom Francis
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 <[email protected]>
2025-08-19ram: k3-ddrss: Add support for partial inline ECC in multi-DDR systemsNeha Malcom Francis
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 <[email protected]>
2025-08-19ram: k3-ddrss: Add support for MSMC calculation of DDR inline ECC regionsNeha Malcom Francis
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 <[email protected]>
2025-08-19ram: k3-ddrss: Add support for number of controllers under MSMCNeha Malcom Francis
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 <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]>
2025-08-19ram: k3-ddrss: Add CONFIG_K3_MULTI_DDRNeha Malcom Francis
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 <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]>
2025-08-19ram: k3-ddrss: Add support for a partial inline ECC regionNeha Malcom Francis
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 <[email protected]>
2025-08-19ram: k3-ddrss: Add comment about ecc_reserved_spaceNeha Malcom Francis
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 <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]>
2025-08-19ram: k3-ddrss: s/K3_DDRSS_MAX_ECC_REGIONS/K3_DDRSS_MAX_ECC_REGNeha Malcom Francis
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 <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]>
2025-08-19ram: k3-ddrss: Use DDR address instead of system address for ecc_regionsNeha Malcom Francis
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 <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]>
2025-08-19Merge patch series "soc: ti: k3-navss-ringacc: Fix Smatch reported issues"Tom Rini
Andrew Goodbody <[email protected]> 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/[email protected]
2025-08-19soc: ti: k3-navss-ringacc: Do not use uninitialised variableAndrew Goodbody
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 <[email protected]>
2025-08-19soc: ti: k3-navss-ringacc: NULL check before dereferenceAndrew Goodbody
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 <[email protected]>
2025-08-19Merge patch series "remoteproc: k3: Fix two Smatch issue reports"Tom Rini
Andrew Goodbody <[email protected]> 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/[email protected]
2025-08-19remoteproc: k3-r5: Ensure ret is initialisedAndrew Goodbody
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 <[email protected]>
2025-08-19remoteproc: ti_k3_arm64: Cannot set or compare u8 to 16bitsAndrew Goodbody
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 <[email protected]>
2025-08-19sandbox: Add generic asm/atomic.hTom Rini
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 <[email protected]>
2025-08-19sandbox: Improve dummy local_irq_save implementationTom Rini
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 <[email protected]>
2025-08-19sound: rt5677: Cannot test unsigned for being negativeAndrew Goodbody
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 <[email protected]>
2025-08-19tools: aisimage: Make aisimage_check_params() staticIlias Apalodimas
We are trying to enable -Wmissing-prototypes and this functiion is only used locally. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-08-19tools: fit_info: Make usage() staticIlias Apalodimas
The function is only used locally so declare it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-08-19pinctrl: nexell: Cannot test unsigned to be negativeAndrew Goodbody
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 <[email protected]>
2025-08-18Merge patch series "test/py: Correctly restore the DT after capsule tests"Tom Rini
This series from Ilias Apalodimas <[email protected]> fixes a number of issues with running the EFI capsule tests in CI. Link: https://lore.kernel.org/r/[email protected]
2025-08-18test/py: Fix capsule update testsIlias Apalodimas
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 <[email protected]>
2025-08-18test/py: Fix race conditions on EFI capsule testsIlias Apalodimas
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 <[email protected]>
2025-08-18test/py: Read from the correct offset when initializing capsulesIlias Apalodimas
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 <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-08-18test/py: Correctly restore the DT after capsule testsIlias Apalodimas
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 <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-08-18Merge patch series "modify npcm7xx/8xx feature and bug fixed"Tom Rini
Jim Liu <[email protected]> says: modify npcm7xx/8xx feature and bug fixed Link: https://lore.kernel.org/r/[email protected]
2025-08-18configs: npcm: remove CONFIG_SYS_SKIP_UART_INITJim Liu
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 <[email protected]>
2025-08-18misc: npcm_host_intf: Disable pending KCS/BPC interruptsJim Liu
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 <[email protected]> Signed-off-by: Jim Liu <[email protected]>
2025-08-18misc: npcm_host_intf: Add Arbel eSPI workaroundJim Liu
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 <[email protected]> Signed-off-by: Jim Liu <[email protected]>
2025-08-18arm: dts: nuvoton: Change timer nodeJim Liu
npcm_timer driver is changed to use SECCNT counter. Signed-off-by: Jim Liu <[email protected]>
2025-08-18i2c: npcm: fix consecutive dm_i2c_read/write errorStanley Chu
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 <[email protected]> Signed-off-by: Jim Liu <[email protected]>
2025-08-18pinctrl: npcm8xx: add support for setting VCD input sourceStanley Chu
Add pinmux for the VCD input to use the HSYNC signal. Signed-off-by: Stanley Chu <[email protected]> Signed-off-by: Jim Liu <[email protected]>
2025-08-18arm: dts: npcm8xx: add pinmux for VCD inputStanley Chu
Add pinmux to select the HSYNC signal as the VCD input. Signed-off-by: Stanley Chu <[email protected]> Signed-off-by: Jim Liu <[email protected]>
2025-08-18Merge tag 'net-20250818' of https://source.denx.de/u-boot/custodians/u-boot-netTom Rini
Pull request net-20250818. This is mostly code cleanup and fixes, mainly for issues reported by the Smatch tool, plus two small features for NET_LWIP as well as support for the BCM54612E phy. net-common: - Fix a bunch of issues reported by Smatch - Introduce CONFIG_DNS - Add support for BCM54612E phy net-legacy: - Add missing SPDX-License-Identifier for files originating from LiMon net-lwip: - ping: initialize net_try_count to 1 - sntp: remove redundant sys_check_timeouts() - tftp: resend initial request - Add Kconfig option to show ICMP unreachable errors
2025-08-18phy: cadence: torrent: Set an error code for returnAndrew Goodbody
In cdns_torrent_phy_probe the test for too many lanes configured does not set an error code before taking the error path. This could lead to a silent failure if the calling code does not detect the error. Add the code to return -EINVAL in this case. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-18phy: cadence: sierra: Remove variable that is not assigned toAndrew Goodbody
In cdns_sierra_pll_bind_of_clocks the variable 'i' is declared but never assigned to before its value is used in a dev_err. Replace clk_names[i] by the name passed to device_bind(), i.e., "pll_mux_clk". With that, the clk_names[] array is unused and can therefore be removed. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> [jf: update description] Signed-off-by: Jerome Forissier <[email protected]>
2025-08-18net: ks8851_mll: Remove unreachable codeAndrew Goodbody
In ks8851_mll_detect_chip the if..else code detects the case of (val & 0xfff0) != CIDER_ID and returns if found. So testing for this again will always fail and the code is unreachable. Just remove the test and code block. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-18net: lwip: ping: set net_try_count to 1Jerome Forissier
The legacy network stack sets net_try_count to 1 at the beginning of the net_loop() function. This is required for net_start_again() to work properly. Therefore, set the variable accordingly in the do_ping() function when NET_LWIP=y. This fixes an issue where a ping to an unreachable destination would run twice on the same network device. For example with qemu_arm64_lwip_defconfig: => dhcp DHCP client bound to address 10.0.2.15 (3 ms) => ping 10.0.0.1 Using virtio-net#32 device ping failed; host 10.0.0.1 is not alive Using virtio-net#32 device ping failed; host 10.0.0.1 is not alive => QEMU: Terminated Signed-off-by: Jerome Forissier <[email protected]>
2025-08-18net: cortina_ni: Fix typo accessing wrong phyAndrew Goodbody
In ca_phy_probe when checking for an external phy it uses a field from the internal phy due to what is assumed to be a copy/paste typo. Make the obvious fix to use the field from the external phy. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-18lwip: sntp: remove redundant sys_check_timeouts()Jerome Forissier
Now that sys_check_timeouts() is called in net_lwip_rx(), there is no need to call it from the SNTP receive loop. Remove the redundant call. Signed-off-by: Jerome Forissier <[email protected]>
2025-08-18lwip: tftp: resend initial requestJerome Forissier
The TFTP implementation does not resend the initial request if there is no response from the server. Since TFTP is based on UDP, there should be a mechanism to deal with unreliable transmissions at this point, similar to what we have for data packets. Therefore, introduce request retransmission. Signed-off-by: Jerome Forissier <[email protected]> CC: Venkatesh Abbarapu <[email protected]> CC: Michal Simek <[email protected]> CC: Ilias Apalodimas <[email protected]>
2025-08-18net: introduce CONFIG_DNSJerome Forissier
Introduce the DNS Kconfig symbol so that various network commands may use host names without the dns command (CMD_DNS) being selected. Signed-off-by: Jerome Forissier <[email protected]> CC: E Shattow <[email protected]>
2025-08-18net: octeontx2: NULL check before dereferenceAndrew Goodbody
In rvu_af_init if the code fails to allocate memory for nix_af it will take the error path with nix_af == NULL which will dereference nix_af. Add the appropriate NULL check. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-18net: octeontx2: Restore default value for errAndrew Goodbody
In nix_lf_setup there is a default value assigned to err in case an error is detected. However this default value will be overwritten in the for loop so that later code does not return an error code from the function. Add a new assignment to restore err to the default error code. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-18net: mvpp2: Use field just assigned in error testAndrew Goodbody
In mvpp2_probe the code attempts to get a value for "gop-port-id" and assigns it to port->gop_id but it then tests port->id for being equal to -1. That is an impossible test as port->id is a field of type u8 so cannot be negative. Change the test to port->gop_id. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-18net: mvpp2: Cannot test unsigned variable to be negativeAndrew Goodbody
In phy_info_parse all uses of the variable phyaddr are as an int so declaring as u32 is not useful and prevents the test for an error return from fdtdec_get_int ever detecting an error. Change phyaddr to be an int. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-18net: mvpp2: Return -ENOMEM for failed allocAndrew Goodbody
Instead of returning -1 on a failed alloc, return -ENOMEM. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>