Message ID | 14e64c18019ea5361e260bec2a56620c4fe918a1.1683278585.git.christophe.leroy@csgroup.eu |
---|---|
State | Accepted |
Commit | 14e64c18019ea5361e260bec2a56620c4fe918a1 |
Delegated to: | Tom Rini |
Headers | show |
Series | Misc fixes + 8xx CPM relocation | expand |
diff --git a/drivers/spi/mpc8xx_spi.c b/drivers/spi/mpc8xx_spi.c index 734b0751a9..5c8d760935 100644 --- a/drivers/spi/mpc8xx_spi.c +++ b/drivers/spi/mpc8xx_spi.c @@ -52,10 +52,12 @@ static int mpc8xx_spi_probe(struct udevice *dev) immap_t __iomem *immr = (immap_t __iomem *)CONFIG_SYS_IMMR; cpm8xx_t __iomem *cp = &immr->im_cpm; spi_t __iomem *spi = (spi_t __iomem *)&cp->cp_dpmem[PROFF_SPI]; + u16 spi_rpbase; cbd_t __iomem *tbdf, *rbdf; - /* Disable relocation */ - out_be16(&spi->spi_rpbase, 0x1d80); + spi_rpbase = in_be16(&spi->spi_rpbase); + if (spi_rpbase) + spi = (spi_t __iomem *)&cp->cp_dpmem[spi_rpbase]; /* 1 */ /* Initialize the parameter ram.
Instead of inhibiting parameter RAM relocation, take it into account. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> --- drivers/spi/mpc8xx_spi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)