Fill out ChromeOS specific coreboot table extensions
[coreboot.git] / src / include / boot / coreboot_tables.h
index cbfe3f313467f4695f507c79566645e6174eb09a..5d5ca2cf566dc76b24a7fafdc7f3ed9e8b2f8f99 100644 (file)
@@ -146,7 +146,10 @@ struct lb_string {
 struct lb_serial {
        uint32_t tag;
        uint32_t size;
-       uint16_t ioport;
+#define LB_SERIAL_TYPE_IO_MAPPED     1
+#define LB_SERIAL_TYPE_MEMORY_MAPPED 2
+       uint32_t type;
+       uint32_t baseaddr;
        uint32_t baud;
 };
 
@@ -158,11 +161,12 @@ struct lb_console {
 };
 
 #define LB_TAG_CONSOLE_SERIAL8250      0
-#define LB_TAG_CONSOLE_VGA             1
-#define LB_TAG_CONSOLE_BTEXT           2
+#define LB_TAG_CONSOLE_VGA             1 // OBSOLETE
+#define LB_TAG_CONSOLE_BTEXT           2 // OBSOLETE
 #define LB_TAG_CONSOLE_LOGBUF          3
-#define LB_TAG_CONSOLE_SROM            4
+#define LB_TAG_CONSOLE_SROM            4 // OBSOLETE
 #define LB_TAG_CONSOLE_EHCI            5
+#define LB_TAG_CONSOLE_SERIAL8250MEM   6
 
 #define LB_TAG_FORWARD         0x0011
 struct lb_forward {
@@ -191,6 +195,52 @@ struct lb_framebuffer {
        uint8_t reserved_mask_size;
 };
 
+#define LB_TAG_GPIO    0x0013
+
+struct lb_gpio {
+       uint32_t port;
+       uint32_t polarity;
+       uint32_t value;
+#define GPIO_MAX_NAME_LENGTH 16
+        uint8_t name[GPIO_MAX_NAME_LENGTH];
+};
+
+struct lb_gpios {
+       uint32_t tag;
+       uint32_t size;
+
+       uint32_t count;
+       struct lb_gpio gpios[0];
+};
+
+#define LB_TAG_VDAT    0x0015
+struct lb_vdat {
+       uint32_t tag;
+       uint32_t size;
+
+       void    *vdat_addr;
+       uint32_t vdat_size;
+};
+
+#define LB_TAG_TIMESTAMPS      0x0016
+#define LB_TAG_CBMEM_CONSOLE   0x0017
+#define LB_TAG_MRC_CACHE       0x0018
+struct lb_cbmem_ref {
+       uint32_t tag;
+       uint32_t size;
+
+       void    *cbmem_addr;
+};
+
+#define LB_TAG_VBNV            0x0019
+struct lb_vbnv {
+       uint32_t tag;
+       uint32_t size;
+
+       uint32_t vbnv_start;
+       uint32_t vbnv_size;
+};
+
 /* The following structures are for the cmos definitions table */
 #define LB_TAG_CMOS_OPTION_TABLE 200
 /* cmos header record */