/* * linux/include/linux/hcdp_serial.h * * Copyright (C) 2002 Hewlett-Packard Co. * Copyright (C) 2002 Khalid Aziz * * Definitions for HCDP defined serial ports (Serial console and * debug ports) * */ #ifndef _LINUX_HCDP_SERIAL_H #define _LINUX_HCDP_SERIAL_H /* ACPI table signatures */ #define HCDP_SIG_LEN 4 #define HCDP_SIGNATURE "HCDP" /* Space ID as defined in ACPI generic address structure */ #define ACPI_MEM_SPACE 0 #define ACPI_IO_SPACE 1 #define ACPI_PCICONF_SPACE 2 /* * Maximum number of HCDP devices we want to read in */ #define MAX_HCDP_DEVICES 6 /* * Default base baud rate if clock rate is 0 in HCDP table. */ #define DEFAULT_BAUD_BASE 115200 /* * ACPI Generic Address Structure */ typedef struct { u8 space_id; u8 bit_width; u8 bit_offset; u8 resv; u32 addrlo; u32 addrhi; } acpi_gen_addr; /* HCDP Device descriptor entry types */ #define HCDP_DEV_CONSOLE 0 #define HCDP_DEV_DEBUG 1 /* HCDP Device descriptor type */ typedef struct { u8 type; u8 bits; u8 parity; u8 stop_bits; u8 pci_seg; u8 pci_bus; u8 pci_dev; u8 pci_func; u64 baud; acpi_gen_addr base_addr; u16 pci_dev_id; u16 pci_vendor_id; u32 global_int; u32 clock_rate; u8 pci_prog_intfc; u8 resv; } hcdp_dev_t; /* HCDP Table format */ typedef struct { u8 signature[4]; u32 len; u8 rev; u8 chksum; u8 oemid[6]; u8 oem_tabid[8]; u32 oem_rev; u8 creator_id[4]; u32 creator_rev; u32 num_entries; hcdp_dev_t hcdp_dev[MAX_HCDP_DEVICES]; } hcdp_t; #endif /* _LINUX_HCDP_SERIAL_H */