/* * This file is part of the coreboot project. * * Copyright (C) 2007-2009 coresystems GmbH * Copyright (C) 2011 Sven Schnelle * Copyright (C) 2013 Vladimir Serbinenko * * 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 void mainboard_lpc_init(void) { /* Enable EC, PS/2 Keyboard/Mouse */ pci_write_config16(PCH_LPC_DEV, LPC_EN, CNF2_LPC_EN | CNF1_LPC_EN | MC_LPC_EN | KBC_LPC_EN | COMA_LPC_EN); pci_write_config32(PCH_LPC_DEV, LPC_GEN1_DEC, (0x68 & ~3) | 0x00040001); pci_write_config16(PCH_LPC_DEV, LPC_IO_DEC, 0x10); pci_write_config32(PCH_LPC_DEV, 0xd0, 0x0); pci_write_config32(PCH_LPC_DEV, 0xdc, 0x8); pci_write_config8(PCH_LPC_DEV, GEN_PMCON_3, (pci_read_config8(PCH_LPC_DEV, GEN_PMCON_3) & ~2) | 1); pci_write_config32(PCH_LPC_DEV, ETR3, pci_read_config32(PCH_LPC_DEV, ETR3) & ~ETR3_CF9GR); } /* Seems copied from Lenovo Thinkpad x201, might be wrong */ const struct southbridge_usb_port mainboard_usb_ports[] = { /* Enabled, Current table lookup index, OC map */ { 1, IF1_557, 0 }, { 1, IF1_55F, 1 }, { 1, IF1_74B, 3 }, { 1, IF1_74B, 3 }, { 1, IF1_557, 3 }, { 1, IF1_14B, 3 }, { 1, IF1_74B, 3 }, { 1, IF1_74B, 3 }, { 1, IF1_74B, 4 }, { 1, IF1_74B, 5 }, { 1, IF1_55F, 7 }, { 1, IF1_55F, 7 }, { 1, IF1_557, 7 }, { 1, IF1_55F, 7 }, }; void mainboard_pre_raminit(void) { } void mainboard_get_spd_map(u8 *spd_addrmap) { spd_addrmap[0] = 0x50; spd_addrmap[2] = 0x52; }