coreboot_tables.h
1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef COREBOOT_TABLES_H 4 #define COREBOOT_TABLES_H 5 6 #include <commonlib/coreboot_tables.h> 7 #include <stddef.h> 8 #include <stdint.h> 9 10 /* function prototypes for building the coreboot table */ 11 12 /* 13 * Write forwarding table of target address at entry address returning size 14 * of table written. 15 */ 16 size_t write_coreboot_forwarding_table(uintptr_t entry, uintptr_t target); 17 18 void fill_lb_gpios(struct lb_gpios *gpios); 19 void lb_add_gpios(struct lb_gpios *gpios, const struct lb_gpio *gpio_table, 20 size_t count); 21 22 enum cb_err fill_lb_serial(struct lb_serial *serial); 23 void lb_add_console(uint16_t consoletype, void *data); 24 25 enum cb_err fill_lb_pcie(struct lb_pcie *pcie); 26 27 /* Define this in mainboard.c to add board-specific table entries. */ 28 void lb_board(struct lb_header *header); 29 30 /* Adds LB_TAG_EFI_FW_INFO table entry. */ 31 void lb_efi_fw_info(struct lb_header *header); 32 33 /* Adds LB_TAG_CAPSULE table entries. */ 34 void lb_efi_capsules(struct lb_header *header); 35 36 /* Define this function to fill in the frame buffer returning 0 on success and 37 < 0 on error. */ 38 int fill_lb_framebuffer(struct lb_framebuffer *framebuffer); 39 40 /* Allow arch to add records. */ 41 void lb_arch_add_records(struct lb_header *header); 42 43 /* 44 * Function to retrieve MAC address(es) from the VPD and store them in the 45 * coreboot table. 46 */ 47 void lb_table_add_macs_from_vpd(struct lb_header *header); 48 49 void lb_table_add_serialno_from_vpd(struct lb_header *header); 50 51 struct lb_record *lb_new_record(struct lb_header *header); 52 53 /* Add VBOOT VBNV offsets. */ 54 void lb_table_add_vbnv_cmos(struct lb_header *header); 55 56 /* Define this in mainboard.c to add board specific CFR entries */ 57 void mb_cfr_setup_menu(struct lb_cfr *cfr_root); 58 59 #endif /* COREBOOT_TABLES_H */