zephyr/drivers/spi
Steve Boylan 85cbc7a96e drivers: spi: spi_pico_pio: Add basic support for SPI via PIO
Add fundamental feature support for RP2040 PIO SPI peripherals.
This commit implements synchronous transfer with 8-bit MSB
format.  Using PIO allows any GPIO pins to be assigned the roles
of CS, CLK, MOSI, and MISO.

Optional features not implemented yet:

  - Interrupt based transfer
  - DMA transfer
  - Slave mode
  - Varying word size
  - 3-wire SPI support
  - LSB-first

Updated in response to review comments.
Further updates from second round of review.
Rename spi_pico_pio.c source to match zephyr/MAINTAINERS.yml
Remove unnecessary initialization code.
Resolve merge conflicts

Signed-off-by: Steve Boylan <stephen.boylan@beechwoods.com>
2023-09-01 16:36:41 +02:00
..
CMakeLists.txt drivers: spi: spi_pico_pio: Add basic support for SPI via PIO 2023-09-01 16:36:41 +02:00
Kconfig drivers: spi: spi_pico_pio: Add basic support for SPI via PIO 2023-09-01 16:36:41 +02:00
Kconfig.ambiq drivers: spi: Add Ambiq SPI driver 2023-08-25 10:31:58 +02:00
Kconfig.andes_atcspi200
Kconfig.b91
Kconfig.bitbang
Kconfig.cc13xx_cc26xx
Kconfig.dw
Kconfig.esp32
Kconfig.gd32
Kconfig.gecko
Kconfig.litex
Kconfig.mchp_mss_qspi
Kconfig.mcux_dspi
Kconfig.mcux_flexcomm
Kconfig.mcux_lpspi
Kconfig.nrfx drivers: spi_nrfx_spis: Enable required SPI_SLAVE option in Kconfig 2023-08-17 11:02:24 +02:00
Kconfig.numaker drivers: spi: support for Nuvoton numaker series 2023-08-09 08:24:38 +00:00
Kconfig.nxp_s32
Kconfig.oc_simple
Kconfig.opentitan
Kconfig.pl022
Kconfig.psoc6
Kconfig.pw
Kconfig.rpi_pico drivers: spi: spi_pico_pio: Add basic support for SPI via PIO 2023-09-01 16:36:41 +02:00
Kconfig.rv32m1_lpspi
Kconfig.sam
Kconfig.sam0
Kconfig.sifive
Kconfig.smartbond
Kconfig.spi_emul
Kconfig.stm32
Kconfig.test
Kconfig.xec_qmspi
Kconfig.xlnx
Kconfig.xmc4xxx
spi_ambiq.c drivers: spi: Add Ambiq SPI driver 2023-08-25 10:31:58 +02:00
spi_andes_atcspi200.c
spi_andes_atcspi200.h
spi_b91.c
spi_bitbang.c drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
spi_cc13xx_cc26xx.c
spi_context.h
spi_dw_regs.h
spi_dw.c
spi_dw.h
spi_emul.c emul: Only add enabled DT nodes to bus emulators 2023-07-12 09:25:18 +02:00
spi_esp32_spim.c bugfix: esp32: spi: correct idle polarity and mode configuration 2023-08-29 10:25:45 +02:00
spi_esp32_spim.h drivers: spi: esp32: add option to handle lines state 2023-08-03 12:15:18 -04:00
spi_gd32.c
spi_gecko.c
spi_handlers.c
spi_litespi.c
spi_litespi.h
spi_ll_stm32.c drivers: stm32: SPI: SPI nocache buffers can be in CONFIG_NOCACHE_MEMORY 2023-08-24 15:35:50 +02:00
spi_ll_stm32.h stm32h7: spi: Use TXC instead of EOT 2023-08-30 10:21:05 +02:00
spi_mchp_mss_qspi.c
spi_mcux_dspi.c
spi_mcux_flexcomm.c drivers: spi: mcux_flexcomm: fix DMA bug for 2-byte transfers 2023-07-19 10:36:23 -05:00
spi_mcux_lpspi.c drivers: spi: mcux_lpspi: allow to configure data pins 2023-08-01 09:51:16 +02:00
spi_nrfx_common.c drivers: spi_nrfx_*: Add support for optional WAKE line 2023-08-01 11:07:21 +02:00
spi_nrfx_common.h drivers: spi_nrfx_*: Add support for optional WAKE line 2023-08-01 11:07:21 +02:00
spi_nrfx_spi.c drivers: spi: spi_nrfx_spi: Add CPOL handling on SCK pin 2023-08-09 18:31:28 +00:00
spi_nrfx_spim.c drivers: spi: spi_nrfx_spim: Add CPOL handling on SCK pin 2023-08-09 18:31:28 +00:00
spi_nrfx_spis.c drivers: gpio: use gpio_is_ready_dt helper function 2023-08-28 08:48:35 -05:00
spi_numaker.c drivers: spi: support for Nuvoton numaker series 2023-08-09 08:24:38 +00:00
spi_nxp_s32.c spi: nxp_s32: use spi_cs_is_gpio() in config initializer 2023-08-14 18:11:04 +00:00
spi_nxp_s32.h
spi_oc_simple.c
spi_oc_simple.h
spi_opentitan.c
spi_pl022.c spi: pl022: remove shadow variables 2023-08-10 08:14:12 +00:00
spi_psoc6.c
spi_pw.c
spi_pw.h
spi_rpi_pico_pio.c drivers: spi: spi_pico_pio: Add basic support for SPI via PIO 2023-09-01 16:36:41 +02:00
spi_rtio.c
spi_rv32m1_lpspi.c
spi_sam0.c
spi_sam.c
spi_sifive.c
spi_sifive.h
spi_signal.c
spi_smartbond.c
spi_test.c drivers: spi: spi_test: use the subsystem common init priority 2023-08-24 15:35:37 +02:00
spi_xec_qmspi_ldma.c
spi_xec_qmspi.c
spi_xlnx_axi_quadspi.c
spi_xmc4xxx.c