![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <bootstate.h>
#include <console/console.h>
#include <device/mmio.h>
#include <device/device.h>
#include <device/pci_ops.h>
#include <device/pci_ids.h>
#include <hwilib.h>
#include <i210.h>
#include <intelblocks/cpulib.h>
#include <intelblocks/fast_spi.h>
#include <intelblocks/systemagent.h>
#include <soc/pci_devs.h>
#include <soc/ramstage.h>
#include <string.h>
#include <timer.h>
#include <timestamp.h>
#include <baseboard/variants.h>
#include <types.h>
Go to the source code of this file.
Macros | |
#define | MAX_PATH_DEPTH 12 |
#define | MAX_NUM_MAPPINGS 10 |
#define | BIOS_MAILBOX_WAIT_MAX_MS 1000 |
#define | BIOS_MAILBOX_DATA 0x7080 |
#define | BIOS_MAILBOX_INTERFACE 0x7084 |
#define | RUN_BUSY_STS (1 << 31) |
#define | SD_CAP_BYP 0x810 |
#define | SD_CAP_BYP_EN 0x5A |
#define | SD_CAP_BYP_REG1 0x814 |
Functions | |
static uint8_t | is_mac_adr_valid (uint8_t mac[MAC_ADDR_LEN]) |
This function can decide if a given MAC address is valid or not. More... | |
enum cb_err | mainboard_get_mac_address (struct device *dev, uint8_t mac[MAC_ADDR_LEN]) |
This function will search for a MAC address which can be assigned to a MACPHY. More... | |
static void | config_pmic_imon (void) |
This function fixes an accuracy issue with IDT PMIC. More... | |
void | mainboard_silicon_init_params (FSP_S_CONFIG *silconfig) |
static void | mainboard_init (void *chip_info) |
static void | mainboard_final (void *chip_info) |
void __weak | variant_mainboard_final (void) |
static void | wait_for_legacy_dev (void *unused) |
BOOT_STATE_INIT_ENTRY (BS_DEV_ENUMERATE, BS_ON_ENTRY, wait_for_legacy_dev, NULL) | |
Variables | |
struct chip_operations | mainboard_ops |
#define BIOS_MAILBOX_DATA 0x7080 |
Definition at line 26 of file mainboard.c.
#define BIOS_MAILBOX_INTERFACE 0x7084 |
Definition at line 27 of file mainboard.c.
#define BIOS_MAILBOX_WAIT_MAX_MS 1000 |
Definition at line 25 of file mainboard.c.
#define MAX_NUM_MAPPINGS 10 |
Definition at line 23 of file mainboard.c.
#define MAX_PATH_DEPTH 12 |
Definition at line 22 of file mainboard.c.
#define RUN_BUSY_STS (1 << 31) |
Definition at line 28 of file mainboard.c.
#define SD_CAP_BYP 0x810 |
Definition at line 30 of file mainboard.c.
#define SD_CAP_BYP_EN 0x5A |
Definition at line 31 of file mainboard.c.
#define SD_CAP_BYP_REG1 0x814 |
Definition at line 32 of file mainboard.c.
BOOT_STATE_INIT_ENTRY | ( | BS_DEV_ENUMERATE | , |
BS_ON_ENTRY | , | ||
wait_for_legacy_dev | , | ||
NULL | |||
) |
This function fixes an accuracy issue with IDT PMIC.
The current reported system power consumption is higher than the actual consumption. With a correction of slope and offset for Vcc and Vnn, the issue is solved.
Definition at line 111 of file mainboard.c.
References BIOS_DEBUG, BIOS_ERR, BIOS_INFO, BIOS_MAILBOX_DATA, BIOS_MAILBOX_INTERFACE, BIOS_MAILBOX_WAIT_MAX_MS, cpu_get_power_max(), MCHBAR32, printk, RUN_BUSY_STS, stopwatch_expired(), and stopwatch_init_msecs_expire().
Referenced by mainboard_init().
This function can decide if a given MAC address is valid or not.
Currently, addresses filled with 0xff or 0x00 are not valid.
mac | Buffer to the MAC address to check |
Definition at line 39 of file mainboard.c.
References MAC_ADDR_LEN.
Definition at line 211 of file mainboard.c.
References CONFIG, dev_find_device(), fast_spi_set_opcode_menu(), NULL, PCH_DEVFN_SDCARD, PCI_BASE_ADDRESS_0, PCI_COMMAND, PCI_COMMAND_MASTER, pci_or_config16(), PCI_VID_SIEMENS, pcidev_path_on_root(), probe_resource(), read32(), res2mmio(), SD_CAP_BYP, SD_CAP_BYP_EN, SD_CAP_BYP_REG1, variant_mainboard_final(), and write32().
This function will search for a MAC address which can be assigned to a MACPHY.
dev | pointer to PCI device |
mac | buffer where to store the MAC address |
Definition at line 39 of file mainboard.c.
Definition at line 200 of file mainboard.c.
References config_pmic_imon(), gpio_configure_pads(), and variant_gpio_table().
void mainboard_silicon_init_params | ( | FSP_S_CONFIG * | silconfig | ) |
Definition at line 177 of file mainboard.c.
References BIOS_DEBUG, memset(), and printk.
Definition at line 245 of file mainboard.c.
Referenced by mainboard_final().
Definition at line 254 of file mainboard.c.
References BIOS_NOTICE, CB_SUCCESS, CONFIG, get_us_since_boot(), printk, stopwatch_init_msecs_expire(), and stopwatch_wait_until_expired().
struct chip_operations mainboard_ops |
Definition at line 245 of file mainboard.c.