[OpenBIOS] r668 - cpu/x86/pc/olpc
svn at openbios.org
svn at openbios.org
Wed Oct 10 02:07:12 CEST 2007
Author: wmb
Date: 2007-10-10 02:07:12 +0200 (Wed, 10 Oct 2007)
New Revision: 668
Modified:
cpu/x86/pc/olpc/resume.bth
Log:
OLPC resume - Fixed that "reset-smbus-bitbang" code that unwedges the SMBUS,
but left it commented out, because the kernel does it too.
Modified: cpu/x86/pc/olpc/resume.bth
===================================================================
--- cpu/x86/pc/olpc/resume.bth 2007-10-05 18:36:19 UTC (rev 667)
+++ cpu/x86/pc/olpc/resume.bth 2007-10-10 00:07:12 UTC (rev 668)
@@ -340,33 +340,32 @@
[ifdef] reset-smbus-bitbang
\ GPIO15 is SMB_DATA
\ GPIO14 is SMB_CLOCK
+ h# c000 # ax mov \ Mask to set SMB_DATA and SMB_CLOCK
+ h# 1000 # dx mov ax dx out \ Set output values to high
+ h# 1004 # dx mov ax dx out \ Set pins to output
h# c0000000 # ax mov \ Mask to clear SMB_DATA and SMB_CLOCK
h# 1010 # dx mov ax dx out \ Deselect OUT AUX1
h# 1014 # dx mov ax dx out \ Deselect OUT AUX2
h# 1034 # dx mov ax dx out \ Deselect IN AUX1
- h# c000 # ax mov \ Mask to set SMB_DATA and SMB_CLOCK
- h# 1000 # dx mov ax dx out \ Set output values to high
- h# 1004 # dx mov ax dx out \ Set pins to output
- h# 1000 # dx mov \ Output value register
-
- 8 # cx mov \ Generate 8 low pulses on SMB_CLOCK
+ d# 16 # cx mov \ Generate 8 low pulses on SMB_CLOCK
begin
\ 5 uS delay (slightly longer for GX)
rdtsc ax bx mov d# 5 d# 500 * # bx add
begin rdtsc bx ax sub 0>= until
+ h# 1000 # dx mov \ Output value register
h# 40000000 # ax mov ax dx out \ Clear SMB_CLOCK
\ 5 uS delay (slightly longer for GX)
rdtsc ax bx mov d# 5 d# 500 * # bx add
begin rdtsc bx ax sub 0>= until
+ h# 1000 # dx mov \ Output value register
h# 4000 # ax mov ax dx out \ Set SMB_CLOCK
-
loopa
- \ 50 uS delay (slightly longer for GX)
+ \ 5 uS delay (slightly longer for GX)
rdtsc ax bx mov d# 5 d# 500 * # bx add
begin rdtsc bx ax sub 0>= until
[then]
More information about the OpenBIOS
mailing list