[Openec] Few questions about KB3700/3926

Maxim Levitsky maximlevitsky at gmail.com
Wed Jul 23 18:02:57 EDT 2008


Frieder Ferlemann wrote:
> Hi Maxim,
> 
> Maxim Levitsky schrieb:
>> I got dump of all of them, and I did the dump several times and got 
>> exactly the same result
>> (I first wait for XBISEG to be non-correct value, then wait for it to 
>> be correct value, so I am at beginning of window, and I repeat this 
>> process 4 times until I got same results all 4 times.
> 
> Nice that this worked out fine. Maybe a word of warning (which obviously
> was not needed and does come too late anyway)
> On the XO (the versions where this still is allowed) the main CPU
> could issue requests so quickly that the SPI memory was completely busy.
> And the 8051 thus could not fetch instructions any more which
> is potentially dangerous...
> 
>> Btw, I probably will extract EC firmware from bios now since I know 
>> its contents I can just search in bios range (last few megabytes of 
>> 4GB range).
> 
> Yes. If you know what to look for take it from the original:)
> 
Yep, EC firmware is at very beginning of BIOS (at 0xfff00000)

>> PS:
>>
>> I have seen on your website that you still can't power the XO.
> 
> Yes, that unfortunately still is the status:(
> 
> I myself seem to be looking at the wrong schematic, wrong datasheets,
> missing something info, am being stupid, whatever.
> Maybe the XO was even powered once and I just didn't notice because
> the main CPU was waiting for something that the EC did not yet do.
> (yes I'm clever enough to admit that this falls under stupid as well:)
> 
> After realizing that I did not succeed on my own I tried to lower
> the hurdle (from C programming to using a monitor program via
> serial terminal) but nobody picked up the task.
Well, this is very hard task.
Writing OS kernels is very hard since kernel has to run and work 
correctly to use the system, writing firmware for EC is way harder since 
it has to work correctly too, and almost no io is available at all
(only uart)

But writing firmware for EC with partial data sheet, no information on 
schematics, and having constant danger of damaging the system I say is 
impossible.

I for example only want to play with this EC a bit, maybe disassemble 
some part of it (some irq handler), and most importantly figure out how 
the IR reception works (I will probably trace what windows driver does, 
but access to ec, especially to its regs doesn't hurt at all)



> 
> 
> For somebody familiar with AMD development boards it might be a small step.
> 
> 
>> Can you disassemble the EC firmware for that? Or there are legal 
>> problems?
> 
> I do not want to because I fear that this would endanger the vision
> of getting unencumbered GPL'ed firmware for the EC.
> Information like "put pin X from tristate to push/pull
> and set hi/low for at least xx ms, then wait for acknowledge on pin Y
> to be valid, in this case switch pin X to pull-up or input
> and proceed with setting Z to ..." would probably be legal
> to use.
> But likely not legal to use if I gained this information
> by disassembling the first 64k of XOs firmware (IANAL).

Some day I might help with that, you say I can disassemble the firmware,
and give you directions how to power up the CPU?

Btw, using some instruments and destroying a single OLPC you could 
figure the schematics by unsoldering the parts?

I guess that small devices like sensors and voltage regulators should 
have datasheets.

Or maybe you can order bare parts that werent soldered yet from OLPC ?

Btw you say that on newer models access via debug port to EC was blocked.
Was it blocked completely, or there is a way to unlock it?
If it was blocked completely, this  against the spirit of openness of 
OLPC isn't it?

> 
> 
> 
> The most recent publically available information about OpenEC that I'm
> aware of is within these threads:
> http://www.coreboot.org/pipermail/coreboot/2008-July/036703.html
> http://www.coreboot.org/pipermail/coreboot/2008-June/035816.html
Nice.
Although I agree that writing a free EC firmware for laptops other that 
OLPC is a dead end, since the EC is very specific to motherboard.
I might say that it is a part of motherboard, or that it replaced some 
hardware that was fixed before. (like the power button for example).


Speaking to hardware vendors I think that it would be nice to have a 
independent low-power CPU on board to deal with some background tasks.

For example audio drivers could run on it, input drivers, and in general 
anything that doesn't need lot of power but needs low latency (this way 
one can turn ordinary computer in hard-real time system, by offloading 
real time tasks to such auxiliary CPU)

thats resembles very closely PS2 (playsation 2) architecture, it has a 
special low-speed I/O processor that runs at 33 MHz, ans has 2 MB of 
ram, and it usually deals with input and audio.
> 
> 
> Greetings,
> Frieder

Thanks a lot
	Wish you lock
		Maxim Levitsky


More information about the Openec mailing list