libpayload: use 32bit access when accessing 4byte wide uart registers
This fixes serial on rk3288. Change-Id: I3dbf3cc165e516ed7b0132332624f882c0c9b27f Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-on: https://review.coreboot.org/13636 Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
42636a7a0c
commit
d4adf58e03
|
@ -46,7 +46,10 @@ static uint8_t serial_read_reg(int offset)
|
|||
return inb(IOBASE + offset);
|
||||
else
|
||||
#endif
|
||||
return readb(MEMBASE + offset);
|
||||
if (lib_sysinfo.serial->regwidth == 4)
|
||||
return readl(MEMBASE + offset) & 0xff;
|
||||
else
|
||||
return readb(MEMBASE + offset);
|
||||
}
|
||||
|
||||
static void serial_write_reg(uint8_t val, int offset)
|
||||
|
@ -58,7 +61,10 @@ static void serial_write_reg(uint8_t val, int offset)
|
|||
outb(val, IOBASE + offset);
|
||||
else
|
||||
#endif
|
||||
writeb(val, MEMBASE + offset);
|
||||
if (lib_sysinfo.serial->regwidth == 4)
|
||||
writel(val & 0xff, MEMBASE + offset);
|
||||
else
|
||||
writeb(val, MEMBASE + offset);
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_LP_SERIAL_SET_SPEED)
|
||||
|
|
Loading…
Reference in New Issue