Commit 8e07c2c6 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by Ralf Baechle

[MIPS] Alchemy: SMBus resource fix

The Alchemy platform code registers the SMBus device using the virtual
address of its registers instead of the physical one -- fix this, taking
into account that actually the whole megabyte is decoded by any of the
programmable serial controllers (one of which is SMBus), and that all the
Alchemy peripherals are directly mappable into KSEG1 kernel space and
therefore ioremap() call would just boil down to CKSEG1ADDR() invocation.
Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 492c2e47
...@@ -269,8 +269,8 @@ static struct platform_device au1x00_pcmcia_device = { ...@@ -269,8 +269,8 @@ static struct platform_device au1x00_pcmcia_device = {
#ifdef SMBUS_PSC_BASE #ifdef SMBUS_PSC_BASE
static struct resource pbdb_smbus_resources[] = { static struct resource pbdb_smbus_resources[] = {
{ {
.start = SMBUS_PSC_BASE, .start = CPHYSADDR(SMBUS_PSC_BASE),
.end = SMBUS_PSC_BASE + 0x24 - 1, .end = CPHYSADDR(SMBUS_PSC_BASE + 0xfffff),
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}, },
}; };
......
...@@ -335,7 +335,7 @@ i2c_au1550_probe(struct platform_device *pdev) ...@@ -335,7 +335,7 @@ i2c_au1550_probe(struct platform_device *pdev)
goto out_mem; goto out_mem;
} }
priv->psc_base = r->start; priv->psc_base = CKSEG1ADDR(r->start);
priv->xfer_timeout = 200; priv->xfer_timeout = 200;
priv->ack_timeout = 200; priv->ack_timeout = 200;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment