u-boot/drivers/spi
Quentin Schulz 3de8f45e6f rockchip: spi: rk_spi: do not write bytes when in read-only mode
The read-only mode is currently supported but only for 16b-aligned
buffers. For unaligned buffers, the last byte will be read in RW mode
right now, which isn't what is desired. Instead, let's put the
controller back into RO mode for that last byte and skip any write in
the xfer loop.

This is required for 3-wire SPI mode where PICO/POCI lanes are shorted
on HW level. This incidentally the recommended design for RK806 PMIC for
RK3588 products.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
2024-03-14 18:19:44 +08:00
..
altera_spi.c spi: altera_spi: Do not abuse CONFIG namespace 2021-08-30 14:13:28 -04:00
apple_spi.c spi: apple: Add driver for Apple SPI controller 2022-02-10 16:44:23 -05:00
atcspi200_spi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
ath79_spi.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
atmel-quadspi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
atmel_spi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
atmel_spi.h spi: atmel: Remove nondm code 2020-06-11 15:14:04 +05:30
bcm63xx_hsspi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
bcm63xx_spi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
bcmbca_hsspi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
bcmstb_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
ca_sflash.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cadence_ospi_versal.c spi: cadence_qspi: Address the comparison failure for 0-8 bytes of data 2024-01-29 19:34:17 +05:30
cadence_qspi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
cadence_qspi.h spi: cadence_qspi: Address the comparison failure for 0-8 bytes of data 2024-01-29 19:34:17 +05:30
cadence_qspi_apb.c spi: cadence_qspi: Address the comparison failure for 0-8 bytes of data 2024-01-29 19:34:17 +05:30
cf_spi.c cf_spi.c: Rename CONFIG_SPI_IDLE_VAL to SPI_IDLE_VAL 2022-12-23 13:01:13 -05:00
davinci_spi.c tree-wide: Replace http:// link with https:// link for ti.com 2023-11-10 11:01:50 -05:00
designware_spi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
exynos_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
fsl_dspi.c global: Remove duplicate common.h inclusions 2023-12-21 08:54:37 -05:00
fsl_espi.c global: Migrate CONFIG_SYS_MPC8* symbols to the CFG_SYS namespace 2022-11-10 10:08:55 -05:00
fsl_qspi.c Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
gxp_spi.c spi: gxp_spi: Add GXP SPI controller driver 2022-06-22 21:30:05 -04:00
ich.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
ich.h x86: spl: Move priv/plat structs to headers 2021-01-05 12:24:41 -07:00
iproc_qspi.c driver: spi: add bcm iproc qspi support 2022-02-24 13:42:50 +05:30
Kconfig Kconfig: Remove all default n/no options 2023-10-30 15:32:49 -04:00
kirkwood_spi.c global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
Makefile spi: add support for Amlogic A1 SPI Flash Controller 2023-10-27 12:49:52 -04:00
meson_spifc.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
meson_spifc_a1.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
microchip_coreqspi.c spi: Add Microchip PolarFire SoC QSPI driver 2022-11-03 13:27:56 +08:00
mpc8xx_spi.c spi, mpc8xx: Take parameter RAM relocation into account 2023-05-05 07:26:53 +02:00
mpc8xxx_spi.c drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
mscc_bb_spi.c drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
mt7620_spi.c spi: add spi controller support for MediaTek MT7620 SoC 2021-01-24 21:39:26 +01:00
mt7621_spi.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
mtk_snfi_spi.c drivers: spi: fix some typos 2023-01-26 20:53:20 +05:30
mtk_snor.c drivers: use devfdt_get_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
mtk_spim.c spi: mtk_spim: prevent global pll clock override 2023-10-11 13:21:33 -04:00
mvebu_a3700_spi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
mxc_spi.c spi: mxc_spi: Add imx6ul-ecspi compatible string 2024-02-10 15:15:55 -03:00
mxs_spi.c treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
npcm_fiu_spi.c spi: npcm-fiu: add regulator feature and remove set clock 2023-04-25 23:01:48 +05:30
npcm_pspi.c spi: npcm_pspi: Fix the wrong clock divider calculation 2023-12-26 14:41:46 -05:00
nxp_fspi.c spi: nxp_fspi: reset the FLSHxCR1 registers 2023-10-10 10:13:51 +08:00
octeon_spi.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
omap3_spi.c tree-wide: Replace http:// link with https:// link for ti.com 2023-11-10 11:01:50 -05:00
pic32_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pl022_spi.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
renesas_rpc_spi.c ARM: renesas: Rename RMOBILE_CPU_TYPE_* to RENESAS_CPU_TYPE_* 2024-03-02 14:29:36 -05:00
rk_spi.c rockchip: spi: rk_spi: do not write bytes when in read-only mode 2024-03-14 18:19:44 +08:00
rk_spi.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rockchip_sfc.c spi: rockchip_sfc: Use linux rockchip,sfc-no-dma prop 2023-05-18 08:44:04 +08:00
sandbox_spi.c cf_spi.c: Rename CONFIG_SPI_IDLE_VAL to SPI_IDLE_VAL 2022-12-23 13:01:13 -05:00
sh_qspi.c ARM: renesas: Rename rmobile.h to renesas.h 2024-03-02 14:29:36 -05:00
soft_spi.c spi: soft_spi: Support the recommended soft spi properties 2023-07-13 13:59:57 +05:30
spi-aspeed-smc.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
spi-emul-uclass.c dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
spi-mem-nodm.c Prepare v2024.01-rc3 2023-11-20 09:19:50 -05:00
spi-mem.c spi: spi-mem: perform odd len check only while writing data 2023-04-25 22:56:14 +05:30
spi-mxic.c drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
spi-qup.c global: Use proper project name U-Boot 2023-06-12 13:24:31 +02:00
spi-sifive.c drivers: spi: fix some typos 2023-01-26 20:53:20 +05:30
spi-sn-f-ospi.c spi: f-ospi: Add missing spi_mem_default_supports_op() helper 2023-04-25 22:58:21 +05:30
spi-sunxi.c spi: sunxi: Add support for R329/D1/R528/T113 SPI controller 2024-03-03 23:43:43 +00:00
spi-synquacer.c spi: synquacer: remove SPI_TX_BYTE handling 2023-07-13 13:59:57 +05:30
spi-uclass.c spi: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:25 -04:00
spi.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
stm32_qspi.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
stm32_spi.c treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
tegra20_sflash.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
tegra20_slink.c spi: tegra20_slink: accept any word length 2023-02-23 12:55:36 -07:00
tegra114_spi.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
tegra210_qspi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
tegra_spi.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
ti_qspi.c Fix wrong QSPI clock calculation for AM4372 2022-01-16 08:31:03 -05:00
uniphier_spi.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
xilinx_spi.c drivers: xilinx_spi: Probe fifo_depth at runtime 2023-12-13 08:58:06 +01:00
zynq_qspi.c spi: zynq_qspi: Add missing prototype for zynq_qspi_mem_exec_op 2023-07-21 09:00:38 +02:00
zynq_spi.c Xilinx changes for v2021.04-rc3 2021-02-23 10:45:55 -05:00
zynqmp_gqspi.c zynqmp: migrate gqspi debug to logging 2023-11-07 13:47:09 +01:00