blob: d8e82fcb7417309be589d728711a47ad580d073d [file] [log] [blame]
Angel Pons89ab2502020-04-03 01:22:28 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01002
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01003#include <stdint.h>
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01004#include <ec/acpi/ec.h>
Kyösti Mälkki1a1b04e2020-01-07 22:34:33 +02005#include <device/smbus_host.h>
Angel Pons95de2312020-02-17 13:08:53 +01006#include <northbridge/intel/ironlake/ironlake.h>
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +01007
Arthur Heymans39f8a1a2019-10-02 17:13:02 +02008const struct southbridge_usb_port mainboard_usb_ports[] = {
9 /* Enabled, Current table lookup index, OC map */
10 { 1, IF1_557, 0 },
11 { 1, IF1_55F, 1 },
12 { 1, IF1_74B, 3 },
13 { 1, IF1_74B, 3 },
14 { 1, IF1_557, 3 },
15 { 1, IF1_14B, 3 },
16 { 1, IF1_74B, 3 },
17 { 1, IF1_74B, 3 },
18 { 1, IF1_74B, 4 },
19 { 1, IF1_74B, 5 },
20 { 1, IF1_55F, 7 },
21 { 1, IF1_55F, 7 },
22 { 1, IF1_557, 7 },
23 { 1, IF1_55F, 7 },
24};
25
Vladimir Serbinenko9817a372014-02-19 22:07:12 +010026static void set_fsb_frequency(void)
27{
28 u8 block[5];
29 u16 fsbfreq = 62879;
30 smbus_block_read(0x69, 0, 5, block);
31 block[0] = fsbfreq;
32 block[1] = fsbfreq >> 8;
33
34 smbus_block_write(0x69, 0, 5, block);
35}
36
Arthur Heymanscea4fd92019-10-03 08:54:35 +020037void mainboard_pre_raminit(void)
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +010038{
Vladimir Serbinenko9817a372014-02-19 22:07:12 +010039 set_fsb_frequency();
Arthur Heymanscea4fd92019-10-03 08:54:35 +020040}
Vladimir Serbinenko9817a372014-02-19 22:07:12 +010041
Arthur Heymanscea4fd92019-10-03 08:54:35 +020042void mainboard_get_spd_map(u8 *spd_addrmap)
43{
44 spd_addrmap[0] = 0x50;
45 spd_addrmap[2] = 0x51;
Vladimir Serbinenko9bf05de2013-11-14 19:11:19 +010046}