[coreboot] Lenovo Carbon X1
Gerhard Gappmeier
gappy1502 at gmx.net
Sun Dec 13 12:25:42 CET 2015
Hi,
I want to start a port on the Lenovo Carbon X1. I'm a BIOS newbie and don't
know much about chipsets, so I'll need your support here.
But I've enough C programming experience to get the job done with your
help (I hope).
At the moment I'm collecting information about the hardware:
The mainboard has two flash chips:
EN25QH64: 8MB Flash
MX25L3206E: 4MB Flash
I know already from IRC that "Intel Corporation 3rd Gen Core processor"
means Ivy bridge. That's all for now.
Hopefully somebody can help me with identifying all necessary chipset info
from the lspci and dmidecode output below.
Then I've a lot of questions:
1.) What is the minimum configuration to get started and a linux kernel
booted?
northbridge, southbridge, RAM init? what else?
Because the kernel can be a payload in the flash even SATA controller is
not necessary, right?
Advanced stuff as network boot is not necessary.
2.) From my basic understanding I believe as soon as the kernel gets
executed everything else gets initialized by the kernel and the BIOS is not
needed anymore. Is that right?
3.) For diagnostics I think VGA output is necessary.
This board has no UART, only USB, and this would require initializing USB
controller and communicating using a usb/serial converter.
What do you think is the easier way for debug output?
I've already read this article here: http://www.coreboot.org/VGA_support[1]
And it seems like extracting the VGA ROM via the kernel works here:
lspci -tv:
-[0000:00]-+-00.0 Intel Corporation 3rd Gen Core processor DRAM
Controller
+-02.0 Intel Corporation 3rd Gen Core processor Graphics
...
ls -l /sys/devices/pci0000:00/0000:00:02.0/rom
-rw------- 1 root root 131072 Dec 13 12:16
/sys/devices/pci0000:00/0000:00:02.0/rom
echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom
cp /sys/devices/pci0000:00/0000:00:02.0/rom vgabios.bin
hexdump -C vgabios.bin > vgabios.bin.hex
Here are the 1st 10 lines of the vgabios hexdump:
00000000 55 aa 80 e9 78 ea 30 30 30 30 30 30 30 30 30 30 |
U...x.0000000000|
00000010 30 30 40 25 e9 59 24 97 40 00 b0 0a 30 30 49 42 |
00@%.Y$. at ...00IB|
00000020 4d 20 56 47 41 20 43 6f 6d 70 61 74 69 62 6c 65 |M VGA
Compatible|
00000030 20 42 49 4f 53 2e 20 03 6e 00 7e 00 8c 00 8b c0 | BIOS.
.n.~.....|
00000040 50 43 49 52 86 80 06 01 1c 00 1c 00 03 00 00 03 |
PCIR............|
00000050 80 00 00 00 00 80 80 00 00 00 00 00 06 01 16 01 |................|
00000060 26 01 56 01 66 01 76 01 86 01 00 00 6e 03 00 c0 |
&.V.f.v.....n...|
00000070 00 00 00 00 00 00 00 00 00 00 00 00 88 00 00 c0 |................|
00000080 00 00 00 00 00 00 00 00 1a 00 37 03 00 c0 00 00
|..........7.....|
00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
looks promising ;-)
More info about the HW comes here:
lspci output:
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM
Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core
processor Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series
Chipset Family MEI Controller #1 (rev 04)
00:16.3 Serial controller: Intel Corporation 7 Series/C210 Series Chipset
Family KT Controller (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family
High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family
PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family
PCI Express Root Port 2 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QS77 Express Chipset LPC Controller
(rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port
SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus
Controller (rev 04)
02:00.0 System peripheral: Ricoh Co Ltd PCIe SDXC/MMC Host Controller
(rev 07)
03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205
[Taylor Peak] (rev 96)
lsusb output:
Bus 002 Device 003: ID 0bdb:1926 Ericsson Business Mobile Networks BV
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching
Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 04f2:b315 Chicony Electronics Co., Ltd
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth
4.0 [ThinkPad]
Bus 001 Device 003: ID 147e:2020 Upek TouchChip Fingerprint
Coprocessor (WBF advanced mode)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching
Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
dmidecode output:
# dmidecode 2.12
SMBIOS 2.7 present.
71 structures occupying 2762 bytes.
Table at 0xDAE9D000.
Handle 0x0000, DMI type 134, 16 bytes
OEM-specific Type
Header and Data:
86 10 00 00 00 53 54 4D 20 01 01 00 00 03 01
02
Strings:
TPM INFO
System Reserved
Handle 0x0001, DMI type 4, 42 bytes
Processor Information
Socket Designation: CPU Socket - U3E1
Type: Central Processor
Family: Core i7
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20151213/20e21738/attachment-0001.html>
More information about the coreboot
mailing list