tty: amba-pl011: add support for ZTE UART (EXPERIMENTAL)
Add (incomplete) support for the ZTE UART to the AMBA PL011 driver. This is similar to the ARM and ST variants, except it has a different register address layout, and requires 32-bit accesses to the registers. Use the newly introduced register tables and access size support to cope with these differences. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
此提交包含在:
@@ -171,6 +171,29 @@ static struct vendor_data vendor_st = {
|
||||
.get_fifosize = get_fifosize_st,
|
||||
};
|
||||
|
||||
static const u16 pl011_zte_offsets[REG_ARRAY_SIZE] = {
|
||||
[REG_DR] = ZX_UART011_DR,
|
||||
[REG_FR] = ZX_UART011_FR,
|
||||
[REG_LCRH_RX] = ZX_UART011_LCRH,
|
||||
[REG_LCRH_TX] = ZX_UART011_LCRH,
|
||||
[REG_IBRD] = ZX_UART011_IBRD,
|
||||
[REG_FBRD] = ZX_UART011_FBRD,
|
||||
[REG_CR] = ZX_UART011_CR,
|
||||
[REG_IFLS] = ZX_UART011_IFLS,
|
||||
[REG_IMSC] = ZX_UART011_IMSC,
|
||||
[REG_RIS] = ZX_UART011_RIS,
|
||||
[REG_MIS] = ZX_UART011_MIS,
|
||||
[REG_ICR] = ZX_UART011_ICR,
|
||||
[REG_DMACR] = ZX_UART011_DMACR,
|
||||
};
|
||||
|
||||
static struct vendor_data vendor_zte = {
|
||||
.reg_offset = pl011_zte_offsets,
|
||||
.access_32b = true,
|
||||
.ifls = UART011_IFLS_RX4_8|UART011_IFLS_TX4_8,
|
||||
.get_fifosize = get_fifosize_arm,
|
||||
};
|
||||
|
||||
/* Deals with DMA transactions */
|
||||
|
||||
struct pl011_sgbuf {
|
||||
|
新增問題並參考
封鎖使用者