blob: 16a6487a15d2d7a254305fd74baee93397340e35 [file] [log] [blame]
Angel Pons89ab2502020-04-03 01:22:28 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2/* This file is part of the coreboot project. */
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01003
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01004#include <stdint.h>
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01005#include <arch/io.h>
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01006#include <ec/acpi/ec.h>
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01007
Edward O'Callaghan77757c22015-01-04 21:33:39 +11008#include <southbridge/intel/ibexpeak/pch.h>
Angel Pons95de2312020-02-17 13:08:53 +01009#include <northbridge/intel/ironlake/ironlake.h>
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +010010
Arthur Heymans39f8a1a2019-10-02 17:13:02 +020011const struct southbridge_usb_port mainboard_usb_ports[] = {
12 /* Enabled, Current table lookup index, OC map */
13 { 1, IF1_557, 0 },
14 { 1, IF1_55F, 1 },
15 { 1, IF1_74B, 3 },
16 { 1, IF1_74B, 3 },
17 { 1, IF1_557, 3 },
18 { 1, IF1_14B, 3 },
19 { 1, IF1_74B, 3 },
20 { 1, IF1_74B, 3 },
21 { 1, IF1_74B, 4 },
22 { 1, IF1_74B, 5 },
23 { 1, IF1_55F, 7 },
24 { 1, IF1_55F, 7 },
25 { 1, IF1_557, 7 },
26 { 1, IF1_55F, 7 },
27};
28
Vladimir Serbinenko9817a372014-02-19 22:07:12 +010029static void set_fsb_frequency(void)
30{
31 u8 block[5];
32 u16 fsbfreq = 62879;
33 smbus_block_read(0x69, 0, 5, block);
34 block[0] = fsbfreq;
35 block[1] = fsbfreq >> 8;
36
37 smbus_block_write(0x69, 0, 5, block);
38}
39
Arthur Heymanscea4fd92019-10-03 08:54:35 +020040void mainboard_pre_raminit(void)
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +010041{
Vladimir Serbinenko9817a372014-02-19 22:07:12 +010042 set_fsb_frequency();
Arthur Heymanscea4fd92019-10-03 08:54:35 +020043}
Vladimir Serbinenko9817a372014-02-19 22:07:12 +010044
Arthur Heymanscea4fd92019-10-03 08:54:35 +020045void mainboard_get_spd_map(u8 *spd_addrmap)
46{
47 spd_addrmap[0] = 0x50;
48 spd_addrmap[2] = 0x51;
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +010049}