[Trac #596] inconsistent battery charge state indications

Zarro Boogs per Child bugtracker at laptop.org
Mon Jan 15 08:31:55 EST 2007


#596: inconsistent battery charge state indications
------------------------------------+---------------------------------------
 Reporter:  Quozl                   |        Owner:  ted.juan
     Type:  defect                  |       Status:  assigned
 Priority:  blocker                 |    Milestone:  BTest-2 
Component:  hardware                |   Resolution:          
 Keywords:  ray.tseng at quantatw.com  |  
------------------------------------+---------------------------------------
Comment (by vance.ke):

 Just reminding some matters needing attention which are as follows:

 '''(1)''' System Power-Off procedure should be done by setting registers
 of South-Bridge ("Power Management Controller Register") instead of
 setting 0xFF14 address of EC register.
     ||==> /arch/i386/kernel/olpc.c (123) : static void
 olpc_power_off(void) [[BR]]
     ||==> /arch/i386/kernel/olpc-pm.c [[BR]]
     ||==> ...... [[BR]]
 '''(2)''' The correct EC reset procedures describe as follows:
     '''(a)'''Send prepare EC reset command '''0xD8'''.  Example codes are
 as follows:
        ||while ((inb (0x66) & 0x02));         //waiting for input buffer
 empty
        ||outb((unsigned char) 0xD8, 0x66);   //send prepare_EC_reset
 command 0xD8
        ||while ((inb (0x66) & 0x02));        //waiting for complete
 process

     '''(b)'''Send EC_RESET_COMMAND -- '''0x05''' extended command (By
 68/6C port).[[BR]][[BR]]
 '''(3)''' This EC also implements the command '''0xD5''' for shutting down
 system. Example codes are as follows:

     ||while ((inb (0x66) & 0x02));        //waiting for input buffer empty
     ||outb((unsigned char) 0xD5, 0x66);   //send 0xD5 command
     ||while ((inb (0x66) & 0x02));        //waiting for complete process

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



More information about the Bugs mailing list