blob: 6e66f3a7cc79e7e49c839c3d123838fea47564fe [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0-only */
#include <console/console.h>
#include <device/device.h>
#include <drivers/intel/gma/int15.h>
#include <gpio.h>
#include <mainboard/gpio.h>
#include <soc/ramstage.h>
static void print_board_id(void)
{
gpio_t id_gpios[] = {
GPP_G14,
GPP_G13,
GPP_G12,
};
printk(BIOS_INFO, "Board ID: ");
switch (gpio_base2_value(id_gpios, ARRAY_SIZE(id_gpios))) {
case 0:
printk(BIOS_INFO, "ThinkCentre M900 Tiny\n");
break;
case 2:
case 3:
case 4:
printk(BIOS_INFO, "ThinkCentre M700 Tiny\n");
break;
default:
printk(BIOS_INFO, "Unknown!\n");
break;
}
printk(BIOS_INFO, "Serial header %spopulated\n", !gpio_get(GPP_A22) ? "" : "un");
printk(BIOS_INFO, "PS/2 header %spopulated\n", !gpio_get(GPP_D14) ? "" : "un");
printk(BIOS_INFO, "USB header %spopulated\n", !gpio_get(GPP_C19) ? "" : "un");
printk(BIOS_INFO, "DisplayPort header %spopulated\n", !gpio_get(GPP_B15) ? "" : "un");
printk(BIOS_INFO, "PCIe / SATA header %spopulated\n", !gpio_get(GPP_B21) ? "" : "un");
}
static void mainboard_enable(struct device *dev)
{
mainboard_configure_gpios();
print_board_id();
}
struct chip_operations mainboard_ops = {
.enable_dev = mainboard_enable,
};