Angel Pons | 89ab250 | 2020-04-03 01:22:28 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
Bill XIE | 012ef77 | 2018-11-29 20:37:35 +0800 | [diff] [blame] | 2 | |
Bill XIE | 012ef77 | 2018-11-29 20:37:35 +0800 | [diff] [blame] | 3 | #include <console/console.h> |
| 4 | #include <cbfs.h> |
| 5 | #include <northbridge/intel/sandybridge/raminit_native.h> |
Elyes HAOUAS | a1e22b8 | 2019-03-18 22:49:36 +0100 | [diff] [blame] | 6 | #include <string.h> |
Bill XIE | 012ef77 | 2018-11-29 20:37:35 +0800 | [diff] [blame] | 7 | #include <southbridge/intel/bd82x6x/pch.h> |
| 8 | #include <ec/lenovo/pmh7/pmh7.h> |
| 9 | |
| 10 | const struct southbridge_usb_port mainboard_usb_ports[] = { |
| 11 | { 1, 0, 0 }, /* SSP1: right */ |
| 12 | { 1, 0, 1 }, /* SSP2: left, EHCI Debug */ |
Elyes HAOUAS | 44f558e | 2020-02-24 13:26:04 +0100 | [diff] [blame] | 13 | { 1, 1, 3 }, /* SSP3: dock USB3 */ |
| 14 | { 1, 1, -1 }, /* B0P4: wwan USB */ |
| 15 | { 1, 1, 2 }, /* B0P5: dock USB2 */ |
Bill XIE | 012ef77 | 2018-11-29 20:37:35 +0800 | [diff] [blame] | 16 | { 0, 0, -1 }, /* B0P6 */ |
| 17 | { 0, 0, -1 }, /* B0P7 */ |
| 18 | { 1, 2, -1 }, /* B0P8: unknown */ |
| 19 | { 1, 0, -1 }, /* B1P1: smart card reader */ |
| 20 | { 0, 2, 5 }, /* B1P2 */ |
| 21 | { 1, 1, -1 }, /* B1P3: fingerprint reader */ |
| 22 | { 0, 0, -1 }, /* B1P4 */ |
Elyes HAOUAS | 44f558e | 2020-02-24 13:26:04 +0100 | [diff] [blame] | 23 | { 1, 1, -1 }, /* B1P5: wlan USB */ |
Bill XIE | 012ef77 | 2018-11-29 20:37:35 +0800 | [diff] [blame] | 24 | { 1, 1, -1 }, /* B1P6: Camera */ |
| 25 | }; |
| 26 | |
| 27 | void mainboard_get_spd(spd_raw_data *spd, bool id_only) |
| 28 | { |
Peter Lemenkov | 6b7d40a | 2020-01-22 11:40:16 +0100 | [diff] [blame] | 29 | /* C1S0 is a soldered RAM with no real SPD. Use stored SPD. */ |
Bill XIE | 012ef77 | 2018-11-29 20:37:35 +0800 | [diff] [blame] | 30 | size_t spd_file_len = 0; |
Julius Werner | 834b3ec | 2020-03-04 16:52:08 -0800 | [diff] [blame^] | 31 | void *spd_file = cbfs_map("spd.bin", &spd_file_len); |
Bill XIE | 012ef77 | 2018-11-29 20:37:35 +0800 | [diff] [blame] | 32 | |
| 33 | if (!spd_file || spd_file_len < sizeof(spd_raw_data)) |
| 34 | die("SPD data for C1S0 not found."); |
| 35 | |
| 36 | memcpy(&spd[0], spd_file, spd_file_len); |
| 37 | read_spd(&spd[2], 0x51, id_only); |
| 38 | } |