Hello! I'm new to coreboot, and I'm trying to port it to the Dell Latitude E6400. It is fairly similar to the Thinkpad T400, so I thought this would be a relatively easy first project. I currently have all code copied from the T400. Right now I'm working on the devicetree.cb, but I can't seem to figure out exactly what everything means and what to set it to. Some things, like device, chip, and subsystemid are fairly obvious, but other things, such as register and ioapic_irq are less so. I understand what register does, I just don't know where to get the values I should set them to, such as for gfx.did and pirqa_routing. I have no idea where to find what values go into ioapic_irq Can someone point me in the right direction?
you probly want these two docs
https://www.coreboot.org/Developer_Manual
https://www.coreboot.org/Creating_Valid_IRQ_Tables
On 31/03/2019 07:14, nic.c3.14@gmail.com wrote:
Hello! I'm new to coreboot, and I'm trying to port it to the Dell Latitude E6400. It is fairly similar to the Thinkpad T400, so I thought this would be a relatively easy first project. I currently have all code copied from the T400. Right now I'm working on the devicetree.cb, but I can't seem to figure out exactly what everything means and what to set it to. Some things, like device, chip, and subsystemid are fairly obvious, but other things, such as register and ioapic_irq are less so. I understand what register does, I just don't know where to get the values I should set them to, such as for gfx.did and pirqa_routing. I have no idea where to find what values go into ioapic_irq Can someone point me in the right direction? _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Hello,
On 31/03/2019 07:14, nic.c3.14@gmail.com wrote:
Hello! I'm new to coreboot, and I'm trying to port it to the Dell Latitude E6400. It is fairly similar to the Thinkpad T400, so I thought this would be a relatively easy first project.
I am afraid I have bad news for you.
Laptops are usually harder to support because of the limited debugging interfaces, as well as having a controller which runs an undocumented, machine-specific firmware: the Embedded Controller (EC). It controls the keyboard, touchpad, battery, fan and power button, among other things.
Another issue this machine has is its memory: it uses DDR2, which is not currently supported in coreboot's code for this laptop's chipset. Since the relevant bits are not documented in any public datasheet, getting raminit to work will be a very tedious job. It involves lots of failed boots and a console to get debug logs from (harder to get one on laptops).
With that being said, porting this laptop is a daunting task. I would strongly suggest picking up something else to begin with. I started with a Sandy Bridge desktop mainboard, which are much easier to work with.
Best regards,
Angel Pons.