[PATCH v2 0/9] spi: zynqmp-gqspi: Support multiple buses and add GPIO support
Sean Anderson
sean.anderson at linux.dev
Mon Jun 16 15:00:45 PDT 2025
This device really has two SPI buses but they are currently determined
by the slave's CS. Decouple bus selection from CS, and add support for
GPIO chipselects. This allows adding arbitrary devices on either bus.
This version does the bus selction using a spi-buses property in
slaves's node, as opposed to having separate nodes for the upper and
lower buses. This should be backwards compatible with existing bindings,
and could allow supporting "parallel" memories in the future (identical
flashes on both buses controlled in lockstep).
Changes in v2:
- Add spi-buses property
- Update spi-zynqmp-qspi.yaml with new binding style
- Support multi-bus controllers
- Add flag to determine default bus
- Support multiple buses with spi-buses instead of explicit
upper/lower/merged buses
David Lechner (2):
dt-bindings: spi: Add spi-buses property
spi: Support multi-bus controllers
Sean Anderson (7):
dt-bindings: spi: zynqmp-qspi: Add example dual upper/lower bus
spi: Add flag to determine default bus
spi: zynqmp-gqspi: Support multiple buses
spi: zynqmp-gqspi: Pass speed directly to config_op
spi: zynqmp-gqspi: Configure SPI mode dynamically
spi: zynqmp-gqspi: Support GPIO chip selects
ARM64: xilinx: zynqmp: Add spi-buses property
.../bindings/spi/spi-peripheral-props.yaml | 10 ++
.../bindings/spi/spi-zynqmp-qspi.yaml | 22 ++-
.../boot/dts/xilinx/zynqmp-sm-k26-revA.dts | 1 +
.../boot/dts/xilinx/zynqmp-zc1254-revA.dts | 1 +
.../dts/xilinx/zynqmp-zc1751-xm015-dc1.dts | 1 +
.../dts/xilinx/zynqmp-zc1751-xm018-dc4.dts | 1 +
.../boot/dts/xilinx/zynqmp-zcu102-revA.dts | 1 +
.../boot/dts/xilinx/zynqmp-zcu104-revA.dts | 1 +
.../boot/dts/xilinx/zynqmp-zcu104-revC.dts | 1 +
.../boot/dts/xilinx/zynqmp-zcu106-revA.dts | 1 +
.../boot/dts/xilinx/zynqmp-zcu111-revA.dts | 1 +
.../boot/dts/xilinx/zynqmp-zcu1275-revA.dts | 1 +
drivers/spi/spi-zynqmp-gqspi.c | 155 ++++++++++++++----
drivers/spi/spi.c | 31 +++-
include/linux/spi/spi.h | 15 ++
15 files changed, 208 insertions(+), 35 deletions(-)
--
2.35.1.1320.gc452695387.dirty
More information about the linux-arm-kernel
mailing list