[U-Boot] x86: board / CPU reset?

Hannes Schmelzer hannes at schmelzer.or.at
Tue Oct 23 13:24:18 UTC 2018


Hi folks,

i'm actually porting u-boot / coreboot to some older machine. AMD Geode 
LX800.

I run into trouble while trying reset the board from console:

=>
=> reset
resetting ...
### ERROR ### Please RESET the board ###

my board uses the one and only existing 'sysreset_x86.c' reset driver.
This driver write some magic value to register 0xcf9 which causes no 
reaction on my machine.

I had last week also some trouble on resetting my apollo lake board, but 
not sure at this point if this is the same issue,
i will have access to the board tomorrow an will run a test.

But the question is, is this "generic" reset driver really as generic as 
it looks like?
The comment of the 0xcf9 register says for example, that is on atom 
E3800 so ...

A short look into the linux source code (arch/x86/kernel/reboot.c) 
showed, that there is a bunch of methods for resetting a x86 machine,
the 0xcf9 method also ...

Further they have there an instruction which also looks good on my platform:

outb(0xfe, 0x64); /* pulse reset low */


Do we have here anybody who has a bit more background than me and who 
could explain what is the right way here?

cheers,
Hannes



More information about the U-Boot mailing list