u-boot/drivers
Dhruva Gole 53f4ef0a4b spi: cadence_qspi: use STIG mode for small reads
Fix the issue where some flash chips like cypress S25HS256T return the
value of the same register over and over in DAC mode.

For example in the TI K3-AM62x Processors refer [0] Technical Reference
Manual there is a layer of digital logic in front of the QSPI/OSPI
Drive when used in DAC mode. This is part of the Flash Subsystem (FSS)
which provides access to external Flash devices.

The FSS0_0_SYSCONFIG Register (Offset = 4h) has a BIT Field for
OSPI_32B_DISABLE_MODE which has a Reset value = 0. This means, OSPI 32bit
mode enabled by default.

Thus, by default controller operates in 32 bit mode causing it to always
align all data to 4 bytes from a 4byte aligned address. In some flash
chips like cypress for example if we try to read some regs in DAC mode
then it keeps sending the value of the first register that was requested
and inorder to read the next reg, we have to stop and re-initiate a new
transaction.

This causes wrong register values to be read than what is desired when
registers are read in DAC mode. Hence if the data.nbytes is very less
then prefer STIG mode for such small reads.

[0] https://www.ti.com/lit/ug/spruiv7a/spruiv7a.pdf

Tested-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
[jagan: add tab space for comments]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2023-01-26 21:01:56 +05:30
..
adc adc: stm32mp15: add calibration support 2023-01-12 16:25:51 +01:00
ata ata: Don't try to use non-existent ports 2023-01-23 18:11:40 -05:00
axi WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
bios_emulator video: Rename structs and functions to avoid VBE 2022-08-12 08:14:23 -04:00
block bootstd: Add a new pre-scan priority for bootdevs 2023-01-23 18:11:41 -05:00
bootcount global: Move remaining CONFIG_SYS_* to CFG_SYS_* 2022-12-05 16:06:08 -05:00
bus bus: Optionally include TI sysc driver in SPL/TPL 2022-12-02 08:39:00 -05:00
button button: gpio: add DM_GPIO dependency 2022-08-23 12:39:06 +02:00
cache drivers: cache: ncore: Disable snoop filter 2022-06-17 16:27:05 +08:00
clk clk: sunxi: Add DE2 display-related clocks/resets 2023-01-23 01:18:31 +00:00
core dm: core: Support sorting devices with dm tree 2023-01-23 18:11:39 -05:00
cpu event: Correct dependencies on the EVENT framework 2023-01-18 12:46:13 -05:00
crypto global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
ddr global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
demo demo: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
dfu blk: Switch over to using uclass IDs 2022-09-16 11:05:16 -04:00
dma ddr: fsl: Remove CONFIG_MEM_INIT_VALUE 2022-12-22 10:31:48 -05:00
fastboot fastboot: Add OEM run command 2023-01-11 15:02:24 -05:00
firmware firmware: ti_sci: fix typo in boot authentication message name 2023-01-18 13:11:13 -05:00
fpga global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
fuzz sandbox: Implement fuzzing engine driver 2022-06-23 12:58:19 -04:00
fwu-mdata FWU: Add FWU metadata access driver for GPT partitioned block devices 2022-10-31 14:47:32 -04:00
gpio global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
hwspinlock treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
i2c global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
input input: Remove legacy KEYBOARD option 2022-10-21 13:47:56 -04:00
iommu iommu: Add M2 support to Apple DART driver 2022-07-25 09:38:47 -04:00
led led: led_pwm: typo 'iverted' on code comment 2022-11-02 13:58:17 -04:00
mailbox mailbox: zynqmp: Enable ipi mailbox driver for Versal NET 2022-09-26 14:23:29 +02:00
memory memory: atmel-ebi: add Atmel EBI (External Bus Interface) driver 2022-12-08 18:06:27 +02:00
mfd mfd: syscon: atmel-smc: Add new helpers to ease SMC regs manipulation 2022-12-08 18:06:27 +02:00
misc global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
mmc Merge https://source.denx.de/u-boot/custodians/u-boot-sunxi 2023-01-24 21:07:01 -05:00
mtd mtd: spi-nor-core: Make CFRx reg fields generic 2023-01-26 20:58:09 +05:30
mux treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
net global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
nvme bootstd: Add a new pre-scan priority for bootdevs 2023-01-23 18:11:41 -05:00
pch treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
pci pci-rcar-gen3: Rename CONFIG_SEND_ENABLE 2022-12-23 13:01:13 -05:00
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
pinctrl global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
power power: pmic: axp: Bind regulators from the DT 2023-01-23 01:18:31 +00:00
pwm global: Migrate CONFIG_IMX6_PWM_PER_CLK to CFG 2022-12-23 10:10:40 -05:00
qe global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
ram global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
reboot-mode reboot-mode: Add NVMEM reboot mode 2023-01-11 11:54:50 -05:00
remoteproc remoteproc: ipu: Add driver to bring up ipu 2022-02-08 11:00:03 -05:00
reset reset: at91: Add reset driver for basic assert/deassert operations 2023-01-05 10:06:35 +02:00
rng drivers: rng: optee_rng: register to CONFIG_OPTEE_SERVICE_DISCOVERY 2022-09-14 15:23:03 -04:00
rtc rtc: abx8xx: Add support for reading RAM 2023-01-11 11:54:50 -05:00
scsi bootstd: Add a new pre-scan priority for bootdevs 2023-01-23 18:11:41 -05:00
serial global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
smem smem: msm: add missing <linux/sizes.h> 2022-10-12 08:56:24 -04:00
soc soc: ti: k3-socinfo: add am62a SoC entry 2022-12-09 14:10:28 -05:00
sound test: test sandbox sound driver more rigorously 2022-12-05 17:43:21 +01:00
spi spi: cadence_qspi: use STIG mode for small reads 2023-01-26 21:01:56 +05:30
spmi spmi: msm: add arbiter version 5 support 2021-10-31 08:46:44 -04:00
sysinfo dm: core: Switch uclass_*_device_err to use uclass_*_device_check 2022-10-29 07:36:33 -06:00
sysreset reset: at91: Add reset driver for basic assert/deassert operations 2023-01-05 10:06:35 +02:00
tee tee: optee: fix uuid comparisons on service discovery 2023-01-20 10:04:56 +02:00
thermal thermal: add sandbox driver 2022-10-11 16:03:03 -04:00
timer global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
tpm tpm2: ftpm: add the device in the OP-TEE services list 2023-01-20 10:04:56 +02:00
ufs global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
usb bootstd: Add a new pre-scan priority for bootdevs 2023-01-23 18:11:41 -05:00
video video: sunxi: dw-hdmi: Read address from DT node 2023-01-23 01:18:31 +00:00
virtio bootstd: Add a new pre-scan priority for bootdevs 2023-01-23 18:11:41 -05:00
w1 dm: treewide: Do not use the return value of simple uclass iterator 2022-10-29 07:36:33 -06:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog watchdog: Clean up defaults for imx_watchdog / ulp_wdog 2023-01-20 12:27:23 -05:00
xen xen: pvblock: Use uclass_probe_all 2022-11-02 13:58:17 -04:00
Kconfig mfd: syscon: atmel-smc: Add new helpers to ease SMC regs manipulation 2022-12-08 18:06:27 +02:00
Makefile mfd: syscon: atmel-smc: Add new helpers to ease SMC regs manipulation 2022-12-08 18:06:27 +02:00