[Trac #342] There is no way to turn the system off!!!

Zarro Boogs per Child bugtracker at laptop.org
Wed Nov 8 20:03:27 EST 2006


#342: There is no way to turn the system off!!!
---------------------+------------------------------------------------------
 Reporter:  mfoster  |        Owner:  jg      
     Type:  defect   |       Status:  reopened
 Priority:  blocker  |    Milestone:  BTest-1 
Component:  kernel   |   Resolution:          
 Keywords:           |  
---------------------+------------------------------------------------------
Comment (by wmb at firmworks.com):

 The attachment "acpi.fth" shows the recipe that OFW uses to turn off the
 power.  I got the recipe from Jordan, who apparently got it from one of
 his gurus.  As you can see, it is rather elaborate, involving a sequence
 of writes to registers in 3 different address domains within the Geode
 chipset.

 Some explanation:  In Forth, "pl!" is (I/O) port long write, "pw!" is port
 (short) word write, "pw@" is port (short) word read.

 kbc-on writes  0 to EC register 0xff14 to (re)enable the keyboard
 controller.  That is necessary if the keyboard controller is off after
 updating the SPI FLASH; if it is off, the EC apparently doesn't notice the
 deassertion of main_on (WORK_AUX) and sus_on (WORKING) from the 5536, and
 doesn't turn off the power.

 However, while testing this, I noticed that an alternative way to turn off
 the power is just to turn the keyboard controller off then back on.  i.e.

    ok  1 ff14 ec!  0 ff14 ec!

 where ec! is a 3-access dance that involves writing the address to i/o
 ports 381 and 382, and the data to port 383.

-- 
Ticket URL: <http://dev.laptop.org/ticket/342#comment:3>
One Laptop Per Child <http://laptop.org/>



More information about the Bugs mailing list