mirror of
https://xff.cz/git/u-boot/
synced 2025-09-29 22:41:17 +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:
@@ -2,7 +2,8 @@
|
|||||||
/*
|
/*
|
||||||
* NVIDIA Tegra210 QSPI controller driver
|
* 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>
|
#include <common.h>
|
||||||
@@ -137,8 +138,9 @@ static int tegra210_qspi_probe(struct udevice *bus)
|
|||||||
return 0;
|
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 tegra210_qspi_priv *priv = dev_get_priv(bus);
|
||||||
struct qspi_regs *regs = priv->regs;
|
struct qspi_regs *regs = priv->regs;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user