Hi , is there something new with PN800 chipset ?
On Wed, Mar 12, 2008 at 08:44:41AM +0100, yannis le gal wrote:
- I found a technical documentation on the web :*
Ok. That probably wasn't meant to end up on the web though.
- it talks about all chips used*
Yes. I think this laptop is a fairly good laptop candidate for coreboot if someone wants to have a go and is comfortable with reverse engineering microcontroller assembly code.
laptops are not yet a viable target, except for one, because they*>* > use special chips to control special features that are found only*>* > on a laptop designed system, and normally these are not at all*>* > documented.*
Here the special chip is the Winbond W83L950D keyboard controller. Actually this has started happening on desktop mainboards too. Me and Uwe did some exploring of a board which had an SMSC superio with an integrated microcontroller. When that board powered up the system CPU was held in reset and only the microcontroller in the superio was running, from system flash. There was a special sequence required to release the system CPU from reset. Anyway, back to this system:
The W83L950D has an 8051 microcontroller and 40kb of flash memory which contains the 8051 program. The chip also has a whole bunch of other features and 72(!) GPIO pins. The data sheet can be found on datasheetarchive.com.
The 8051 can be both good and bad, completely depending on how it's software is written. Good if the 8051 handles all it's tasks independently from the rest of the system. Bad if some software in the system needs to interact with it. In any event the 8051 software is most likely not documented anywhere, and certainly not somewhere public.
It is evident that the W83L950D 8051 code is responsible for quite a few things, including:
* Fan control * Keyboard and touchpad * Special keys (Fn, power, lid, etc) * Battery charging control and voltage monitoring * Battery communication * Power management * Power good signalling to southbridge and hard drive * Backlight level control * Speaker beep simulation * System wakeup (alarm) * CPU temperature monitoring
Best case, all of these are completely autonomous. Worst case, coreboot needs to help the 8051 do all of these things.
To do that the 40kb 8051 assembly program would need to be reverse engineered. For comparison it took a year or so to reverse engineer the 256kb firmware in the Xbox 360 DVD.
I think reality is somewhere in between the two extremes.
And then there's the PN800 which isn't supported. But at least there are some developers involved in the project who already have contact with VIA and are able to request information under NDA. If I've understood correctly actually receiving the information will take at least a few months however.
The rest of the system seems to be supported, probably well enough to get some results once PN800 and the W83L950D firmware are investigated and handled.
One person with appropriate background but no detailed knowledge of these particular chips, say six-eight months of work.
//Peter