[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