[Openec] Few questions about KB3700/3926
Richard A. Smith
richard at laptop.org
Fri Jul 25 19:42:05 EDT 2008
Frieder Ferlemann wrote:
>> Some day I might help with that, you say I can disassemble the firmware,
>> and give you directions how to power up the CPU?
> Most likely - that would be great!
Most of the info needed to determine the proper sequencing is in the AMD
data sheet which is available. The parts you are missing are what IO
lines are connected to the enables for each of the regulators. Very
little of that has changed across the XO versions.
>> Btw, using some instruments and destroying a single OLPC you could
>> figure the schematics by unsoldering the parts?
I don't think you would need to destroy an XO for the purposes of
figuring out how the EC is wired. It would just take a lot of care.
> While this might technically work (given sufficient resources/time)
> it socially probably would not: you would get to know how it is
> done (but not why, or how future version would look like, and
> the chance to be involved early in the development phase would be lost).
Perhaps not quite so bad. You have access to devleopers that can help
guide you just not tell you flat out.
>> I guess that small devices like sensors and voltage regulators should
>> have datasheets.
Most of those would not be needed since they are simple parts with just
off/on enable lines. The main power plant IC however does have some
lines that the EC twiddles for various battery charging states. I'm not
sure if the datasheet for that IC is public. I'll have to check.
> Richard, Paul, are you following this thread?
I am, with much interest. But I've just had too much other stuff to do
so I'm slow on responding.
Maxim, Did you say that one of those banks has RAM or all they all rom code?
Also you should explore if the EC reset works for you chip. Look at
page 30 of the 3700 datasheet at the PXCFG register. On the 3700 If you
write a 0x01 into that register you will hold the 8051 cpu in reset but
all the indexed IO access still works. So you can read and write all
the registers. If you can change values in those banks they you either
have ram or a register bank.
Something else you may be able to do is use the SPI interface to read
the contents of the SPI part. The read command is standard across all
of the SPI parts. There are 2 ways to try. 1 is by using the SPI
bridge. If you write the address into SPIA0-A3 then a 0x02 into the
SPICMD register and then read the results back in SPIDAT after status
bit in SPICFG is clear.
You can also do it manually in passthroug mode. Where you issue the all
the commands directly to the SPI part. You can find all the gory
If your laptop chipset has the entire EC space decoded via the LPC buss
then you may be able to just read it via mmap().
Richard Smith <richard at laptop.org>
One Laptop Per Child
More information about the Openec