mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
spi: Add a driver for the RPI RP2040 GPIO bridge
The Raspberry Pi RP2040 GPIO bridge is an I2C-attached device exposing both a Tx-only SPI controller, and a GPIO controller. Due to the relative difference in transfer rates between standard-mode I2C and SPI, the GPIO bridge makes use of 12 MiB of non-volatile storage to cache repeated transfers. This cache is arranged in ~8 KiB blocks and is addressed by the MD5 digest of the data contained therein. Optionally, this driver is able to take advantage of Raspberry Pi RP1 GPIOs to achieve faster than I2C data transfer rates. Signed-off-by: Richard Oliver <richard.oliver@raspberrypi.com>
This commit is contained in:
committed by
Dom Cobley
parent
1668711044
commit
bba392935b
@@ -19144,6 +19144,7 @@ RASPBERRY PI RP2040 GPIO BRIDGE DRIVER
|
||||
M: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/spi/raspberrypi,rp2040-gpio-bridge.yaml
|
||||
F: drivers/spi/spi-rp2040-gpio-bridge.c
|
||||
|
||||
RASPBERRY PI PISP BACK END
|
||||
M: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
|
||||
|
||||
@@ -873,6 +873,18 @@ config SPI_RB4XX
|
||||
help
|
||||
SPI controller driver for the Mikrotik RB4xx series boards.
|
||||
|
||||
config SPI_RP2040_GPIO_BRIDGE
|
||||
tristate "Raspberry Pi RP2040 GPIO Bridge"
|
||||
depends on I2C && SPI && GPIOLIB
|
||||
help
|
||||
Support for the Raspberry Pi RP2040 GPIO bridge.
|
||||
|
||||
This driver provides support for the Raspberry Pi PR2040 GPIO bridge.
|
||||
It can be used as a GPIO expander and a Tx-only SPI master.
|
||||
|
||||
Optionally, this driver is able to take advantage of Raspberry Pi RP1
|
||||
GPIOs to achieve faster than I2C data transfer rates.
|
||||
|
||||
config SPI_RPCIF
|
||||
tristate "Renesas RPC-IF SPI driver"
|
||||
depends on RENESAS_RPCIF
|
||||
|
||||
@@ -119,6 +119,7 @@ obj-$(CONFIG_SPI_ROCKCHIP) += spi-rockchip.o
|
||||
obj-$(CONFIG_SPI_ROCKCHIP_SFC) += spi-rockchip-sfc.o
|
||||
obj-$(CONFIG_SPI_RB4XX) += spi-rb4xx.o
|
||||
obj-$(CONFIG_MACH_REALTEK_RTL) += spi-realtek-rtl.o
|
||||
obj-$(CONFIG_SPI_RP2040_GPIO_BRIDGE) += spi-rp2040-gpio-bridge.o
|
||||
obj-$(CONFIG_SPI_RPCIF) += spi-rpc-if.o
|
||||
obj-$(CONFIG_SPI_RSPI) += spi-rspi.o
|
||||
obj-$(CONFIG_SPI_RZV2M_CSI) += spi-rzv2m-csi.o
|
||||
|
||||
1219
drivers/spi/spi-rp2040-gpio-bridge.c
Normal file
1219
drivers/spi/spi-rp2040-gpio-bridge.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user