1/* 2 * Copyright 2017, Data61 3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO) 4 * ABN 41 687 119 230. 5 * 6 * This software may be distributed and modified according to the terms of 7 * the BSD 2-Clause license. Note that NO WARRANTY is provided. 8 * See "LICENSE_BSD2.txt" for details. 9 * 10 * @TAG(DATA61_BSD) 11 */ 12 13#pragma once 14 15#define SERIAL_CONSOLE_COM1_PORT 0x3f8 16#define SERIAL_CONSOLE_COM2_PORT 0x2f8 17#define SERIAL_CONSOLE_COM3_PORT 0x3e8 18#define SERIAL_CONSOLE_COM4_PORT 0x2e8 19 20#define SERIAL_CONSOLE_COM1_PORT_END (SERIAL_CONSOLE_COM1_PORT + 7) 21#define SERIAL_CONSOLE_COM2_PORT_END (SERIAL_CONSOLE_COM2_PORT + 7) 22#define SERIAL_CONSOLE_COM3_PORT_END (SERIAL_CONSOLE_COM3_PORT + 7) 23#define SERIAL_CONSOLE_COM4_PORT_END (SERIAL_CONSOLE_COM4_PORT + 7) 24 25#define SERIAL_CONSOLE_COM1_IRQ 4 26#define SERIAL_CONSOLE_COM2_IRQ 3 27#define SERIAL_CONSOLE_COM3_IRQ 4 28#define SERIAL_CONSOLE_COM4_IRQ 3 29 30#define EGA_TEXT_FB_BASE 0xB8000 31 32enum chardev_id { 33 PC99_SERIAL_COM1, 34 PC99_SERIAL_COM2, 35 PC99_SERIAL_COM3, 36 PC99_SERIAL_COM4, 37 PC99_TEXT_EGA, 38 PC99_KEYBOARD_PS2, 39 /* Aliases */ 40 PS_SERIAL0 = PC99_SERIAL_COM1, 41 PS_SERIAL1 = PC99_SERIAL_COM2, 42 PS_SERIAL2 = PC99_SERIAL_COM3, 43 PS_SERIAL3 = PC99_SERIAL_COM4, 44 /* defaults */ 45#if defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_PORT_X86_COM1) 46 PS_SERIAL_DEFAULT = PC99_SERIAL_COM1 47#elif defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_PORT_X86_COM2) 48 PS_SERIAL_DEFAULT = PC99_SERIAL_COM2 49#elif defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_PORT_X86_COM3) 50 PS_SERIAL_DEFAULT = PC99_SERIAL_COM3 51#elif defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_PORT_X86_COM4) 52 PS_SERIAL_DEFAULT = PC99_SERIAL_COM4 53#elif defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_TEXT_EGA) 54 PS_SERIAL_DEFAULT = PC99_TEXT_EGA 55#else 56 PS_SERIAL_DEFAULT = PC99_SERIAL_COM1 57#endif 58 59}; 60 61 62#if defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_PORT_X86_COM1) 63 #define DEFAULT_SERIAL_IOPORT SERIAL_CONSOLE_COM1_PORT 64 #define DEFAULT_SERIAL_INTERRUPT SERIAL_CONSOLE_COM1_IRQ 65#elif defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_PORT_X86_COM2) 66 #define DEFAULT_SERIAL_IOPORT SERIAL_CONSOLE_COM2_PORT 67 #define DEFAULT_SERIAL_INTERRUPT SERIAL_CONSOLE_COM2_IRQ 68#elif defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_PORT_X86_COM3) 69 #define DEFAULT_SERIAL_IOPORT SERIAL_CONSOLE_COM3_PORT 70 #define DEFAULT_SERIAL_INTERRUPT SERIAL_CONSOLE_COM3_IRQ 71#elif defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_PORT_X86_COM4) 72 #define DEFAULT_SERIAL_IOPORT SERIAL_CONSOLE_COM4_PORT 73 #define DEFAULT_SERIAL_INTERRUPT SERIAL_CONSOLE_COM4_IRQ 74#elif defined(CONFIG_LIB_PLAT_SUPPORT_SERIAL_TEXT_EGA) 75 /* Don't define a port for the EGA alphanumeric mode device */ 76#else 77 #define DEFAULT_SERIAL_IOPORT SERIAL_CONSOLE_COM1_PORT 78 #define DEFAULT_SERIAL_INTERRUPT SERIAL_CONSOLE_COM1_IRQ 79#endif 80