mirror of https://gitee.com/openkylin/linux.git
[SERIAL] AMD Alchemy UART: claim memory range
I've noticed that the 8250/Au1x00 driver (drivers/serial/8250_au1x00.c) doesn't claim UART memory ranges and uses wrong (KSEG1-based) UART addresses instead of the physical ones. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
68ac64cd3f
commit
85835f442e
|
@ -1906,6 +1906,9 @@ static int serial8250_request_std_resource(struct uart_8250_port *up)
|
|||
int ret = 0;
|
||||
|
||||
switch (up->port.iotype) {
|
||||
case UPIO_AU:
|
||||
size = 0x100000;
|
||||
/* fall thru */
|
||||
case UPIO_MEM:
|
||||
if (!up->port.mapbase)
|
||||
break;
|
||||
|
@ -1938,6 +1941,9 @@ static void serial8250_release_std_resource(struct uart_8250_port *up)
|
|||
unsigned int size = 8 << up->port.regshift;
|
||||
|
||||
switch (up->port.iotype) {
|
||||
case UPIO_AU:
|
||||
size = 0x100000;
|
||||
/* fall thru */
|
||||
case UPIO_MEM:
|
||||
if (!up->port.mapbase)
|
||||
break;
|
||||
|
|
|
@ -30,13 +30,12 @@
|
|||
{ \
|
||||
.iobase = _base, \
|
||||
.membase = (void __iomem *)_base,\
|
||||
.mapbase = _base, \
|
||||
.mapbase = CPHYSADDR(_base), \
|
||||
.irq = _irq, \
|
||||
.uartclk = 0, /* filled */ \
|
||||
.regshift = 2, \
|
||||
.iotype = UPIO_AU, \
|
||||
.flags = UPF_SKIP_TEST | \
|
||||
UPF_IOREMAP, \
|
||||
.flags = UPF_SKIP_TEST \
|
||||
}
|
||||
|
||||
static struct plat_serial8250_port au1x00_data[] = {
|
||||
|
|
Loading…
Reference in New Issue