/* * This file is part of the coreboot project. * * Copyright (C) 2014 Vladimir Serbinenko * Copyright (C) 2018 Patrick Rudolph * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; version 2 of * the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include #include #include #if IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLES) static int mainboard_smbios_data(struct device *dev, int *handle, unsigned long *current) { int len = 0; // add IPMI Device Information len += smbios_write_type38( current, handle, SMBIOS_BMC_INTERFACE_KCS, 0x20, // IPMI Version 0x20, // I2C address 0xff, // no NV storage 0, // IO port interface address 0, 0); // no IRQ return len; } #endif static void mainboard_enable(struct device *dev) { install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_NONE, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0); #if IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLES) dev->ops->get_smbios_data = mainboard_smbios_data; #endif } struct chip_operations mainboard_ops = { .enable_dev = mainboard_enable, };