]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
spi: support controllers with multiple data lanes
authorDavid Lechner <dlechner@baylibre.com>
Fri, 23 Jan 2026 20:37:26 +0000 (14:37 -0600)
committerMark Brown <broonie@kernel.org>
Mon, 2 Feb 2026 12:12:43 +0000 (12:12 +0000)
commit002d561f89c3a61ee17d38070e48ea4eb1243732
treeaca823a29a2c4ada2eb1594b5e9d801d40fa3970
parent31eab8425110b933dd7c818809cb4ffa3b2c6d82
spi: support controllers with multiple data lanes

Add support for SPI controllers with multiple physical SPI data lanes.
(A data lane in this context means lines connected to a serializer, so a
controller with two data lanes would have two serializers in a single
controller).

This is common in the type of controller that can be used with parallel
flash memories, but can be used for general purpose SPI as well.

To indicate support, a controller just needs to set ctlr->num_data_lanes
to something greater than 1. Peripherals indicate which lane they are
connected to via device tree (ACPI support can be added if needed).

The spi-{tx,rx}-bus-width DT properties can now be arrays. The length of
the array indicates the number of data lanes, and each element indicates
the bus width of that lane. For now, we restrict all lanes to have the
same bus width to keep things simple. Support for an optional controller
lane mapping property is also implemented.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20260123-spi-add-multi-bus-support-v6-3-12af183c06eb@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c
include/linux/spi/spi.h