u-boot/drivers
Stephen Warren 4832c7f5f7 spi: tegra: fix hang in set_mode()
In tegra20_slink.c, the set_mode() function may be executed before the
SPI bus is claimed the first time, and hence the clocks to the SPI
controller may not be running. If so, any register read/write at this
time will hang the CPU. Fix this by ensuring the clock is running as soon
as the driver is probed. This is observed on the Tegra30 Beaver board.

Apply the same clock initialization fix to all other Tegra SPI drivers so
that if set_mode() is ever implemented there, the same bug will not appear.
Note that tegra114_spi.c already operates in this fashion.

The clock manipulation code is copied from claim_bus() to probe() rather
than moved. This ensures that any calls to set_speed() take effect; the
clock can't be set once during probe and left unchanged.

Fixes: 5cb1b7b395 ("spi: tegra20: Add support for mode selection")
Cc: Mirza Krak <mirza.krak@hostmobility.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
2016-08-25 15:35:03 -07:00
..
adc sandbox: add ADC driver 2015-11-02 10:38:00 +09:00
bios_emulator Various, unrelated tree-wide typo fixes. 2016-07-16 09:43:12 -04:00
block block: dwc_ahsata: support i.MX6DQPlus 2016-05-24 14:59:57 +02:00
bootcount bootcounter_ram: Flush dcache after data is written into SDRAM 2016-04-11 20:48:25 -04:00
clk Merge branch 'master' of git://git.denx.de/u-boot-atmel 2016-08-15 17:31:23 -04:00
core fdt: allow fdtdec_get_addr_size_*() to translate addresses 2016-08-12 09:20:27 -06:00
cpu x86: Move MP initialization codes into a common place 2015-07-14 18:03:16 -06:00
crypto crypto/fsl: Update blob cmd to accept 64bit addresses 2016-08-02 09:45:39 -07:00
ddr driver/ddr/fsl: Fix timing_cfg_2 2016-08-02 09:47:34 -07:00
demo drivers: hierarchize drivers Kconfig menu 2015-08-12 20:47:44 -04:00
dfu dm: dfu: mmc: Support CONFIG_BLK in DFU for MMC 2016-07-11 14:06:44 -06:00
dma drivers: dma: ti-edma3: convert driver to adopt driver model 2016-02-23 16:14:46 +05:30
fpga Various, unrelated tree-wide typo fixes. 2016-07-16 09:43:12 -04:00
gpio gpio: atmel_pio4: Rework to support DM & DT 2016-08-15 22:58:03 +02:00
hwmon mailaddr: Update mail address 2016-01-27 15:32:05 +01:00
i2c ARM: tegra: remove stale nvidia, bpmp I2C DT property 2016-08-25 13:48:11 -07:00
input input: i8042: Make sure the keyboard is enabled 2016-03-17 10:27:24 +08:00
led dm: led: Tidy up SPL options for the led and led-gpio 2015-09-02 21:28:22 -06:00
mailbox ARM: tegra: adapt to latest HSP DT binding 2016-08-04 13:36:58 -07:00
memory memory: Move TI_AEMIF config to KCONFIG 2016-04-18 17:11:43 -04:00
misc misc: Add simple driver for some Nuvoton NCT6102D devices 2016-08-16 11:44:09 +08:00
mmc ARM: tegra: fix Tegra186 SDHCI clock/reset names 2016-08-25 13:47:49 -07:00
mtd sf: sf_params: Add AT25DF321 flash support 2016-07-30 00:15:00 +05:30
net net: davinci_emac: Restore the internal MDIO accessors return values 2016-08-22 14:21:20 -05:00
pch dm: Use dm_scan_fdt_dev() directly where possible 2016-07-27 14:15:54 -06:00
pci pci: tegra: port to standard clock/reset/pwr domain APIs 2016-08-15 10:26:13 -07:00
pcmcia powerpc: mpc824x: remove MPC824X cpu support 2015-01-05 12:08:55 -05:00
pinctrl pinctrl: fix typos in comment blocks of pinconfig_post_bind() 2016-08-20 14:03:28 -04:00
power power domain: add Tegra186 driver 2016-08-15 10:26:13 -07:00
pwm exynos: pwm: Add a driver for the exynos5 PWM 2016-05-25 13:25:18 +09:00
qe net: mii: Fix changes made by spatch 2016-08-15 15:29:03 -05:00
ram ram: rename CONFIG_SPL_RAM_SUPPORT to CONFIG_SPL_RAM 2015-08-18 13:46:02 -04:00
remoteproc remoteproc: Add support for TI power processor 2016-03-14 19:18:37 -04:00
reset reset: add Tegra186 reset driver 2016-08-15 10:26:13 -07:00
rtc rtc: Tidy up the code style 2016-07-14 18:33:11 -04:00
serial Merge branch 'rmobile' of git://git.denx.de/u-boot-sh 2016-08-20 16:40:34 -04:00
soc Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
sound of: clean up OF_CONTROL ifdef conditionals 2015-08-18 13:46:05 -04:00
spi spi: tegra: fix hang in set_mode() 2016-08-25 15:35:03 -07:00
spmi Merge git://git.denx.de/u-boot-dm 2016-08-12 16:00:50 -04:00
sysreset xtensa: add support for the 'xtfpga' evaluation board 2016-08-15 18:46:40 -04:00
thermal Fix various typos, scattered over the code. 2016-05-05 21:39:26 -04:00
timer Merge git://git.denx.de/u-boot-dm 2016-03-14 19:21:44 -04:00
tpm tpm: atmel_twi: Make compatible with DM I2C busses 2016-08-15 22:12:00 +02:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb fastboot: implement Kconfig 2016-08-20 14:03:23 -04:00
video Merge branch 'master' of git://git.denx.de/u-boot-video 2016-07-27 15:22:21 -04:00
watchdog imx_watchdog: add weak attribute to reset_cpu function 2016-07-19 19:52:15 +02:00
Kconfig drivers/sysreset: group sysreset drivers 2016-08-12 09:22:17 -04:00
Makefile drivers/sysreset: group sysreset drivers 2016-08-12 09:22:17 -04:00