[openfirmware] [commit] r1875 - cpu/x86/pc/olpc dev/mmc/sdhci
repository service
svn at openfirmware.info
Thu Jul 15 19:54:33 CEST 2010
Author: wmb
Date: Thu Jul 15 19:54:33 2010
New Revision: 1875
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1875
Log:
OLPC - Commentary improvements - no substantive change.
Modified:
cpu/x86/pc/olpc/countdwn.fth
dev/mmc/sdhci/sdhci.fth
Modified: cpu/x86/pc/olpc/countdwn.fth
==============================================================================
--- cpu/x86/pc/olpc/countdwn.fth Thu Jul 15 19:53:02 2010 (r1874)
+++ cpu/x86/pc/olpc/countdwn.fth Thu Jul 15 19:54:33 2010 (r1875)
@@ -2,10 +2,11 @@
purpose: Check for auto-boot interruption
\ This is similar to the ofw/core/countdwn.fth, except that you
-\ have to use a specific key from the main keyboard, because
-\ children tend to pound on the keyboard randomly. If you have
-\ a serial console, you can still use any key, since only developers
-\ have serial consoles.
+\ have to use a specific key (escape) from the main keyboard, because
+\ children tend to pound on the keyboard randomly. The serial
+\ console also requires the escape key, because the Windows kernel
+\ debugger might be connected to the serial port. It sends (non-escape)
+\ characters periodically, and we don't want those to break into OFW.
headerless
: show-countdown ( #seconds -- interrupted? )
@@ -16,7 +17,7 @@
stdin @ if
console-key? if
- console-key h# 1b = if
+ console-key h# 1b = if \ 1b is ESC
\ consume extra escapes in case the user typed several
begin console-key? while console-key drop repeat
true unloop unloop exit
@@ -26,7 +27,7 @@
[ifdef] ukey
ukey? if
\ ukey drop
- ukey h# 1b = if
+ ukey h# 1b = if \ 1b is ESC
true unloop unloop exit
then
then
Modified: dev/mmc/sdhci/sdhci.fth
==============================================================================
--- dev/mmc/sdhci/sdhci.fth Thu Jul 15 19:53:02 2010 (r1874)
+++ dev/mmc/sdhci/sdhci.fth Thu Jul 15 19:54:33 2010 (r1875)
@@ -391,10 +391,9 @@
: deselect-card ( -- ) 0 h# 0700 0 cmd ; \ CMD7 - with null RCA
: select-card ( -- ) \ CMD7 R1b
rca h# 071b 0 cmd
- \ In principle this shouldn't be necessary, but the Via VX855's SD
- \ host controller incorrectly sets the "data transfer complete" bit
- \ during CMD7 with nonzero RCA, and if you don't clear it, subsequent
- \ commands sometimes fail with either Command Timeout or CRC error.
+ \ Unlike Version 1.00, version 2.00 of the SD Host Controller
+ \ Specification says that Transfer Complete is set after R1b
+ \ commands, so we must clear that bit if it is set.
isr@ isr!
;
@@ -408,7 +407,7 @@
: stop-transmission ( -- ) rca h# 0c1b 0 cmd ; \ CMD12 R1b UNTESTED
-: get-status ( -- status ) rca h# 0d1a 0 cmd response ; \ CMD13 R1 UNTESTED
+: get-status ( -- status ) rca h# 0d1a 0 cmd response ; \ CMD13 R1
: go-inactive ( -- ) rca h# 0f00 0 cmd ; \ CMD15 - UNTESTED
@@ -620,16 +619,16 @@
else
2 set-bus-width \ acmd6 - bus width 4
4-bit
- /block set-blocklen \ Cmd 16
+ /block set-blocklen \ cmd16
\ High speed didn't exist until SD spec version 1.10
\ The low nibble of the first byte of SCR data is 0 for v1.0 and v1.01,
\ 1 for v1.10, and 2 for v2.
- get-scr c@ h# f and 0= if exit then
+ get-scr c@ h# f and 0= if exit then \ acmd51
\ Ask if high-speed is supported
- h# 00ff.fff1 switch-function d# 13 + c@ 2 and if
- h# 80ff.fff1 switch-function drop \ Perform the switch
+ h# 00ff.fff1 switch-function d# 13 + c@ 2 and if \ cmd6
+ h# 80ff.fff1 switch-function drop \ Perform the switch cmd6
\ Bump the host controller clock
host-high-speed \ Changes the clock edge
card-clock-50
More information about the openfirmware
mailing list