1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-01 08:42:12 +02:00

qspi: t210: Fix claim_bus's use of the wrong bus/device

claim_bus() is passed a udevice *dev, which is the bus device's parent.
In this driver, claim_bus assumed it was the bus, which caused the
'priv' info pointer to be wrong, and periph_id was incorrect. This in
turn caused the periph clock call to assign the wrong clock (PLLM
instead of PLLP0), which caused a kernel warning. I only saw the 'bad'
periph_id when enabling DEBUG due to an assert. Not sure how QSPI was
working w/this errant clock, but it was moot as QSPI wasn't active
unless you probed it, and that wasn't happening until I posted a patch
to enable env save to QSPI for Nano (coming soon).

Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
Tom Warren
2019-11-12 13:17:37 -07:00
parent a482f32992
commit 3c8cf24032

View File

@@ -2,7 +2,8 @@
/*
* NVIDIA Tegra210 QSPI controller driver
*
* (C) Copyright 2015 NVIDIA Corporation <www.nvidia.com>
* (C) Copyright 2015-2019 NVIDIA Corporation <www.nvidia.com>
*
*/
#include <common.h>
@@ -137,8 +138,9 @@ static int tegra210_qspi_probe(struct udevice *bus)
return 0;
}
static int tegra210_qspi_claim_bus(struct udevice *bus)
static int tegra210_qspi_claim_bus(struct udevice *dev)
{
struct udevice *bus = dev->parent;
struct tegra210_qspi_priv *priv = dev_get_priv(bus);
struct qspi_regs *regs = priv->regs;