zephyr/drivers
Declan Snyder e71aa649b2 spi_nxp_lpspi: Support SPI_HOLD_ON_CS FLAG
Support SPI_HOLD_ON_CS flag in the CPU-based driver. To do this we will
set CONTC bit to continue previous command. Technically it may not be
necessary right now, and could just not clear CONT bit...
but in the future in the lpspi driver we
will decouple the config/init of a transfer from the SDK
and therefore have more control over TCR,
and when we write the TCR, we need to take CONTC bit into account
otherwise a new command will be made. So this approach is how
it should be handled in the driver going forward in my opinion, even
if it might be possible without this bit right now, I want to introduce
it's usage now.

This commit also does a minor refactor in the ISR and adds some comments
to make the strange CS behavior and strange handling code more clear to
future readers.

Also, make the early predicted SPI xfer end code only happen for spi
versions where it is necessary, since I think that code is really the
best we can do but might have a race condition, where possible the last
word is not finished sending when we end the xfer. So limit the
potential affect to v1 lpspi where the workaround is actually required
due to stalling behavior.

Lastly, set the LPSPI into master mode at active low in init, due to
it being the most common case, we want the SPI CS lines to be
initialized at init of driver. I don't think it's worth it to make it
configurable at this time, but in the future it could be if needed.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-24 10:38:58 +02:00
..
adc drivers: adc: add it515xx_evb board adc driver 2025-04-23 15:02:36 +02:00
audio drivers: audio: Add driver for tlv320aic3110 2025-03-24 12:13:51 +01:00
auxdisplay
bbram drivers: bbram: npcx: bypass npcx49nf errata rev1.5 No.2.30 2025-03-20 07:21:23 +01:00
bluetooth soc: ambiq: Optimize the inclusion relationship of header files 2025-04-17 09:06:18 +02:00
cache
can drivers: can: stm32_bxcan: fix filter config 2025-04-04 09:34:30 +02:00
charger drivers: charger: add charger support in X-Powers AXP2101 2025-04-16 17:07:20 +02:00
clock_control drivers: clock_control: update clock_control_mcux_syscon driver for RT700 2025-04-23 10:03:42 +02:00
comparator modules: hal_nxp: Move hal_nxp glue layer to zephyr repo 2025-03-26 16:26:34 +01:00
console drivers: console: uart_mcumgr: rename callback 2025-04-22 09:58:40 +02:00
coredump
counter drivers: counter: rts5912: add support timer32 counter driver 2025-04-22 14:02:27 +02:00
crypto
dac drivers: dac: Add TI DAC161S997 driver 2025-04-02 12:53:03 +02:00
dai Drivers: DAI: Intel: DMIC: Program start symmetrically for PDMx 2025-04-02 13:04:32 +02:00
disk drivers: disk: stm32 sdmmc: add stm32n6 support 2025-04-03 11:07:33 +02:00
display drivers: display: Update nxp,dcnano-lcdif to support IP change on RT700 2025-04-23 10:03:42 +02:00
dma drivers: dma: siwx91x: SRAM desc alignment bug fix 2025-04-22 16:54:11 +02:00
dp
edac
eeprom drivers: sensor: rename tmp116 to tmp11x 2025-04-11 16:17:35 +02:00
entropy drivers: entropy: stm32: fix compile errors for STM32L4 series 2025-04-22 16:54:52 +02:00
espi drivers: espi: npcx: ensure the host receives the value from eSPI VW 2025-04-18 10:40:23 +02:00
ethernet drivers: ethernet: dsa_nxp_imx_netc: adapt to new DSA framework 2025-04-24 01:26:46 +02:00
firmware drivers: firmware: scmi: add cpu domain protocol 2025-04-21 22:03:27 +02:00
flash drivers: flash: Optimize mspi_nor driver memory 2025-04-22 04:33:05 +02:00
fpga drivers: fpga: fix build of ICE40 bitbang with PINCTRL 2025-03-31 14:32:35 +02:00
fuel_gauge
gnss drivers: fix support for U-Blox M10 modules with M8 driver 2025-03-26 07:08:27 +01:00
gpio drivers: gpio: Add support for Apollo510 GPIO 2025-04-21 20:04:31 +02:00
haptics
hdlc_rcp_if
hwinfo soc: ambiq: Optimize the inclusion relationship of header files 2025-04-17 09:06:18 +02:00
hwspinlock
i2c i2c: stm32: add DMA callback stubs to avoid nullptr calls in ISR context 2025-04-22 15:04:11 +02:00
i2s drivers: i2s_mcux_sai: control MCLK direction with DT property 2025-04-16 08:09:41 +02:00
i3c drivers: i3c: stm32: fix clock init for i2c fast mode plus 2025-04-21 12:42:01 +02:00
ieee802154
input drivers: input: sbus: Fix race and infinite loop 2025-04-11 16:17:56 +02:00
interrupt_controller drivers: intc: irqstr: refactor level 1 interrupt recounting 2025-04-21 20:04:19 +02:00
ipm drivers : ipm: clean up usage of "select USE_STM32_LL_ipcc" 2025-03-20 09:32:56 +01:00
led
led_strip docs: raspberrrypi: Correct names of products 2025-04-03 15:27:50 -07:00
lora
mbox drivers: mbox: Add Arm MHUv3 Mailbox driver 2025-03-31 11:29:40 +02:00
mdio drivers: mdio_esp32: let the REF_CLK be initialized before the PHY. 2025-04-23 14:59:36 +02:00
memc drivers: memc: stm32 xspi: add psram linker section 2025-04-22 09:59:34 +02:00
mfd drivers: entropy: add maxq10xx 2025-03-23 13:18:44 +01:00
mipi_dbi drivers: mipi_dbi: introduce NXP DCnano driver 2025-04-23 10:03:42 +02:00
mipi_dsi drivers: mipi_dsi: dsi_mcux_2l: Use NXP DCNano DBI driver for memory write 2025-04-23 10:03:42 +02:00
misc dts: bindings: nrf-vpr: Allow specifying pins and not using launcher 2025-04-08 16:11:51 +02:00
mm
modem modem: modem_cellular: Configurable MTU for CMUX 2025-03-24 19:33:07 +01:00
mspi soc: ambiq: Optimize the inclusion relationship of header files 2025-04-17 09:06:18 +02:00
net net: nsos_sockets: Fix incorrect return return on ECONNREFUSED 2025-04-08 19:27:18 +02:00
pcie
peci
pinctrl drivers: pinctrl: bouffalolab: Add bflb pinctrl driver 2025-04-24 01:26:37 +02:00
pm_cpu_ops
power_domain
ps2
ptp_clock
pwm drivers: pwm: nrfx: Add protection against wrong configuration 2025-04-14 13:06:54 +02:00
regulator docs: raspberrrypi: Correct names of products 2025-04-03 15:27:50 -07:00
reset drivers: reset: Add generic reset MMIO driver 2025-04-02 10:31:12 +02:00
retained_mem
rtc soc: ambiq: Optimize the inclusion relationship of header files 2025-04-17 09:06:18 +02:00
sdhc soc: ambiq: Optimize the inclusion relationship of header files 2025-04-17 09:06:18 +02:00
sensor sensor: icm45686: Add I2C bus support 2025-04-23 02:15:34 +02:00
serial drivers: serial: bouffalolab: Add bflb serial driver 2025-04-24 01:26:37 +02:00
sip_svc
smbus
spi spi_nxp_lpspi: Support SPI_HOLD_ON_CS FLAG 2025-04-24 10:38:58 +02:00
stepper drivers: stepper: gpio: refactor work rescheduling logic 2025-04-23 02:16:19 +02:00
syscon
tee
timer drivers: timer: ti_dmtimer: provide timer IRQ for tests 2025-04-22 14:02:44 +02:00
usb soc: ambiq: Optimize the inclusion relationship of header files 2025-04-17 09:06:18 +02:00
usb_c
video drivers: video: hotfix: force use of constant value for 'source_dev' 2025-04-22 15:04:47 +02:00
virtualization
w1
watchdog drivers: watchdog: Add support for Apollo510 watchdog 2025-04-21 20:04:31 +02:00
wifi drivers: nrf_wifi: Move AP mode depedency to LPM 2025-04-23 15:00:27 +02:00
xen
CMakeLists.txt
Kconfig