On 27.06.2015 23:39, Richard Simpson wrote:
Hello,
I have finally successfully flashed the BIOS on my T60 with coreboot. Sadly, my ATI controlled screen remains completely black. Fortunately I can still get in via ssh. Here is what I can deduce so far.+
AFAICS you have exactly the same T60 as I have.
lspci says: 01:00.0 0300: 1002:7145 (prog-if 00 [VGA controller]) Subsystem: 1002:0000 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 16 Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M] Region 1: I/O ports at 4000 [size=256] Region 2: Memory at ec120000 (32-bit, non-prefetchable) [size=64K] Expansion ROM at ec100000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: radeon
The vgabios which I extracted from the factory bios
Ah yes. Bad idea. AFAIK the factory BIOS patches the VGA optionrom at runtime with the correct values for the LVDS panel. This means you either have to patch the VGA optionrom yourself or you have to extract the VGA optionrom from the memory of the running system. If you extract it from memory, please note that the runtime patching causes the checksum to be incorrect, and you either have to fix the checksum or tell SeaBIOS to ignore the checksum.
reports as follows:
Image 1: PCI Expansion ROM Header: Signature: 0x55aa (Ok) CPU unique data: 0x7e 0xe9 0x6f 0x02 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Pointer to PCI Data Structure: 0x0230
PCI Data Structure: Signature: 0x50434952 'PCIR' (Ok) Vendor ID: 0x1002 Device ID: 0x7145 Vital Product Data: 0x0000 PCI Data Structure Length: 0x0018 (24 bytes) PCI Data Structure Revision: 0x00 Class Code: 0x030000 (VGA Display controller) Image Length: 0x007e blocks (64512 bytes) Revision Level of Code/Data: 0x090c Code Type: 0x00 (Intel x86) Last-Image Flag: 0x80 (last image in rom) Reserved: 0x0000
Platform specific data for x86 compliant option rom: Initialization Size: 0x7e (64512 bytes) Entry point for INIT function: 0x275
This looks like the right VGA BIOS to me.
Once I have added it to the coreboot image I can check the contents as follows:
coreboot.rom: 2048 kB, bootblocksize 952, romsize 2097152, offset 0x0 alignment: 64 bytes, architecture: x86
Name Offset Type Size cmos.default 0x0 cmos_default 256 cmos_layout.bin 0x140 cmos_layout 1824 fallback/dsdt.aml 0x8c0 raw 12037 cpu_microcode_blob.bin 0x3800 microcode 94208 etc/ps2-keyboard-spinup 0x1a880 raw 8 config 0x1a8c0 raw 4046 revision 0x1b8c0 raw 571 (empty) 0x1bb40 null 17432 fallback/romstage 0x1ff80 stage 36524 fallback/ramstage 0x28ec0 stage 53635 fallback/payload 0x36080 payload 55837 pci1002,7145.rom 0x43b00 raw 64512 (empty) 0x53740 null 1754264
I would be most grateful for any suggestions as to where I might be going wring or further diagnostics.
On the first coreboot try I had a black screen as well on my T60 (ATI graphics). Funnily enough, the external VGA worked. Could you check if that's the case for you?
Regards, Carl-Daniel