u-boot/drivers
Sean Anderson bae4d9fbd9 spi: dw: Actually mask interrupts
The designware spi driver unconditionally uses polling.

The comment to spi_hw_init() also states that the function should disable
interrupts.

According to the DesignWare DW_apb_ssi Databook, value 0xff in IMR enables
all interrupts. Since we want to mask all interrupts write 0x0 instead.

On the canaan k210 board, pressing the reset button twice to reset the
board will run u-boot. If u-boot boots Linux without having SPI interrupts
masked, Linux will hang as soon as interrupts are enabled, because of an
interrupt storm.

Properly masking the SPI interrupts in u-boot allows us to successfully
boot Linux, even after resetting the board.

Fixes: 5bef6fd79f ("spi: Add designware master SPI DM driver used on SoCFPGA")
Signed-off-by: Sean Anderson <seanga2@gmail.com>
[Niklas: rewrite commit message]
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
2022-03-15 17:43:11 +08:00
..
adc dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
ata Xilinx changes for v2022.04-rc3 2022-02-21 08:32:02 -05:00
axi WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
bios_emulator pci: Drop DM_PCI check from bios_emul 2021-08-05 19:46:35 -04:00
block Convert CONFIG_SYS_IDE_MAXBUS et al to Kconfig 2022-02-09 09:16:47 -05:00
bootcount bootcount: fix printf() code 2022-01-28 17:58:41 -05:00
bus bus: ti-sysc: change in a normal driver 2021-03-22 19:23:27 +13:00
button button: adc: set state to pressed when the voltage is closest to nominal 2022-02-11 09:00:47 -05:00
cache cache: sifive: Fix -Wint-to-pointer-cast warning 2021-10-20 10:59:09 +08:00
clk k210: use the board vendor name rather than the marketing name 2022-03-15 17:43:11 +08:00
core acpi: Tidy up the item list 2022-01-25 11:44:36 -07:00
cpu sandbox: correct cpu nodes 2021-09-25 09:46:15 -06:00
crypto crypto: aspeed: fix polling RSA status wrong issue 2022-02-21 08:35:40 -05:00
ddr ddr: marvell: a38x: fix BYTE_HOMOGENEOUS_SPLIT_OUT decision 2022-02-17 14:17:07 +01:00
demo demo: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
dfu DFU: Check the number of arguments and argument string strictly 2022-02-11 11:29:23 -05:00
dma drivers: dma: Add support for J721S2 2022-02-08 09:41:27 -05:00
fastboot fastboot: only look up real partition names when no alias exists 2022-01-28 11:30:39 -05:00
firmware Xilinx changes for v2022.04-rc3 2022-02-21 08:32:02 -05:00
fpga arm: socfpga: arria10: Enable double peripheral RBF configuration 2021-12-17 12:58:01 +08:00
gpio gpio: add sl28cpld driver 2022-02-28 11:59:35 +05:30
hwspinlock treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
i2c ti: i2c: fix probe_chip() return value 2022-02-21 08:39:52 -05:00
input input: apple: Add support for Apple SPI keyboard 2022-02-10 16:44:23 -05:00
iommu iommu: Add M1 Pro/Max support to Apple DART driver 2022-02-21 08:35:40 -05:00
led dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
mailbox mailbox: apple: Add driver for Apple IOP mailbox 2022-02-10 16:44:23 -05:00
memory keystone2: Move CONFIG_AEMIF_CNTRL_BASE out of CONFIG namespace 2021-09-27 21:38:34 -04:00
misc misc: add sl28cpld base driver 2022-02-28 11:59:35 +05:30
mmc rockchip: sdhci: Fix RK3399 eMMC PHY power cycling 2022-03-14 12:44:51 -04:00
mtd mtd: spi-nor-ids: Enable quad read for Gigadevice gd25lq128 2022-03-12 01:10:01 +05:30
mux treewide: invaild -> invalid 2022-01-13 07:57:49 -05:00
net net: ravb: Add tx/rx delay flag checks and support for rgmii-rxid 2022-02-25 21:42:07 +01:00
nvme nvme: apple: Add driver for Apple NVMe storage controller 2022-02-10 16:44:23 -05:00
pch treewide: Simply conditions with the new OF_REAL 2021-09-25 09:46:15 -06:00
pci pci: pci_mvebu: Cleanup macro names 2022-03-04 08:38:05 +01:00
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy phy: cadence: Sierra: Move the link operations from serdes phy to link device 2022-03-14 12:44:51 -04:00
pinctrl k210: dts: align fpioa node with Linux 2022-03-15 17:43:11 +08:00
power Xilinx changes for v2022.04-rc3 2022-02-21 08:32:02 -05:00
pwm exynos: pwm: Deal with a PWM at 100% 2021-11-09 11:57:22 +09:00
qe configs: fsl: migrate FMAN/QE specific defines to Kconfig 2021-11-09 17:18:23 +05:30
ram ram: k3-ddrss: Add support for J721S2 SoC 2022-02-08 09:41:27 -05:00
reboot-mode reboot-mode: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
remoteproc remoteproc: ipu: Add driver to bring up ipu 2022-02-08 11:00:03 -05:00
reset reset: dra7: Add a reset driver 2022-02-08 09:41:27 -05:00
rng clk: Add clk_get_by_name_optional 2022-02-25 01:41:04 -05:00
rtc drivers: rtc: fix null pointer access in armada38x_rtc_reset 2022-03-04 08:38:05 +01:00
scsi Convert CONFIG_SCSI_AHCI_PLAT et al to Kconfig 2022-02-09 09:16:48 -05:00
serial drivers: serial: Make sure we really return a serial device 2022-03-08 08:42:43 -05:00
smem dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
soc soc: soc_ti_k3: update j721e revision numbering 2022-02-08 09:41:27 -05:00
sound doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
spi spi: dw: Actually mask interrupts 2022-03-15 17:43:11 +08:00
spmi spmi: msm: add arbiter version 5 support 2021-10-31 08:46:44 -04:00
sysinfo sysinfo: rcar3: Add Renesas R-Car Gen3 sysinfo driver 2021-07-20 23:33:54 +02:00
sysreset Xilinx changes for v2022.04-rc1 2022-01-19 11:43:44 -05:00
tee tee: optee: remove unused duplicated login Id macros 2021-11-23 13:53:03 -05:00
thermal WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
timer omap: timer: implement timer_get_boot_us 2022-01-16 08:31:03 -05:00
tpm doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
ufs dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
usb usb: ehci-omap: Remove OMAP_EHCI_PHYx_RESET_GPIO from Kconfig 2022-02-23 05:25:17 +01:00
video video: Add missing dependency for DM_GPIO 2022-02-15 13:05:34 +01:00
virtio doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
w1 arm: Remove zmx25 board and ARCH_MX25 2021-10-01 21:08:18 -04:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog watchdog: rti_wdt: Add 10% safety margin to clock frequency 2022-03-08 09:08:09 +01:00
xen WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
Kconfig iommu: Add IOMMU uclass 2021-10-31 08:46:44 -04:00
Makefile iommu: Add IOMMU uclass 2021-10-31 08:46:44 -04:00