diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 5b48ac22c9c5964b62b93500831f1656a1b84e1a..261eaa4429532cd9303a7dcf5cbfe0bda9985a65 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -642,12 +642,17 @@ config V850E_UART_CONSOLE select SERIAL_CORE_CONSOLE config SERIAL_SH_SCI - tristate "SH SCI(F) serial port support" + tristate "SuperH SCI(F) serial port support" depends on SUPERH || H8300 select SERIAL_CORE +config SERIAL_SH_SCI_NR_UARTS + int "Maximum number of SCI(F) serial ports" + depends on SERIAL_SH_SCI + default "2" + config SERIAL_SH_SCI_CONSOLE - bool "Support for console on SH SCI(F)" + bool "Support for console on SuperH SCI(F)" depends on SERIAL_SH_SCI=y select SERIAL_CORE_CONSOLE diff --git a/include/asm-sh/sci.h b/include/asm-sh/sci.h new file mode 100644 index 0000000000000000000000000000000000000000..52e73660c1298ed6f2378cb84ade382c0903fb8b --- /dev/null +++ b/include/asm-sh/sci.h @@ -0,0 +1,34 @@ +#ifndef __ASM_SH_SCI_H +#define __ASM_SH_SCI_H + +#include + +/* + * Generic header for SuperH SCI(F) + * + * Do not place SH-specific parts in here, sh64 and h8300 depend on this too. + */ + +/* Offsets into the sci_port->irqs array */ +enum { + SCIx_ERI_IRQ, + SCIx_RXI_IRQ, + SCIx_TXI_IRQ, + SCIx_BRI_IRQ, + SCIx_NR_IRQS, +}; + +/* + * Platform device specific platform_data struct + */ +struct plat_sci_port { + void __iomem *membase; /* io cookie */ + unsigned long mapbase; /* resource base */ + unsigned int irqs[SCIx_NR_IRQS]; /* ERI, RXI, TXI, BRI */ + unsigned int type; /* SCI / SCIF / IRDA */ + upf_t flags; /* UPF_* flags */ +}; + +int early_sci_setup(struct uart_port *port); + +#endif /* __ASM_SH_SCI_H */