serial: 8250: Add support for big-endian MMIO accesses
[firefly-linux-kernel-4.4.55.git] / drivers / tty / serial / 8250 / 8250_early.c
index c31a22b4f84524a0226343cab01532da884d1bac..84f6d11bbeed73a0e6e3a87fa9d25bc96f43a633 100644 (file)
@@ -45,6 +45,8 @@ unsigned int __weak __init serial8250_early_in(struct uart_port *port, int offse
                return readb(port->membase + offset);
        case UPIO_MEM32:
                return readl(port->membase + (offset << 2));
+       case UPIO_MEM32BE:
+               return ioread32be(port->membase + (offset << 2));
        case UPIO_PORT:
                return inb(port->iobase + offset);
        default:
@@ -61,6 +63,9 @@ void __weak __init serial8250_early_out(struct uart_port *port, int offset, int
        case UPIO_MEM32:
                writel(value, port->membase + (offset << 2));
                break;
+       case UPIO_MEM32BE:
+               iowrite32be(value, port->membase + (offset << 2));
+               break;
        case UPIO_PORT:
                outb(value, port->iobase + offset);
                break;