^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef _ASM_X86_SERIAL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define _ASM_X86_SERIAL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * This assumes you have a 1.8432 MHz clock for your UART.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) * It'd be nice if someone built a serial card with a 24.576 MHz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) * clock, since the 16550A is capable of handling a top speed of 1.5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) * megabits/second; but this requires a faster clock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define BASE_BAUD (1843200/16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) /* Standard COM flags (except for COM4, because of the 8514 problem) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #ifdef CONFIG_SERIAL_8250_DETECT_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) # define STD_COMX_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) # define STD_COM4_FLAGS (UPF_BOOT_AUTOCONF | 0 | UPF_AUTO_IRQ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) # define STD_COMX_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | 0 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) # define STD_COM4_FLAGS (UPF_BOOT_AUTOCONF | 0 | 0 )
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #define SERIAL_PORT_DFNS \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) /* UART CLK PORT IRQ FLAGS */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) { .uart = 0, BASE_BAUD, 0x3F8, 4, STD_COMX_FLAGS }, /* ttyS0 */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) { .uart = 0, BASE_BAUD, 0x2F8, 3, STD_COMX_FLAGS }, /* ttyS1 */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) { .uart = 0, BASE_BAUD, 0x3E8, 4, STD_COMX_FLAGS }, /* ttyS2 */ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) { .uart = 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS }, /* ttyS3 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #endif /* _ASM_X86_SERIAL_H */