Author: wmb
Date: Thu Nov 25 05:54:10 2010
New Revision: 2041
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2041
Log:
Fixed typo in previous checkin.
Modified:
dev/olpc/dcon/mmp2dcon.fth
Modified: dev/olpc/dcon/mmp2dcon.fth
==============================================================================
--- dev/olpc/dcon/mmp2dcon.fth Thu Nov 25 05:53:28 2010 (r2040)
+++ dev/olpc/dcon/mmp2dcon.fth Thu Nov 25 05:54:10 2010 (r2041)
@@ -99,8 +99,8 @@
\ We got a false ack from the DCON so start over from LOAD state
dcon-load d# 25 ms ( )
repeat ( )
- then
[then]
+ then
;
\ gx_configure_tft(info);
Author: wmb
Date: Thu Nov 25 05:53:28 2010
New Revision: 2040
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2040
Log:
OLPC XO-1.75 DCON driver - freeze is now a no-op because, lacking frame storage, it doesn't work on this hardware.
Modified:
dev/olpc/dcon/mmp2dcon.fth
Modified: dev/olpc/dcon/mmp2dcon.fth
==============================================================================
--- dev/olpc/dcon/mmp2dcon.fth Thu Nov 25 03:40:12 2010 (r2039)
+++ dev/olpc/dcon/mmp2dcon.fth Thu Nov 25 05:53:28 2010 (r2040)
@@ -89,6 +89,7 @@
dcon-load \ Put the DCON in VGA-refreshed mode
d# 25 ms \ Ensure that that DCON sees the DCONLOAD high
\ display-on
+[ifdef] notdef
else
begin ( )
dcon-unload \ Put the DCON in self-refresh mode
@@ -99,6 +100,7 @@
dcon-load d# 25 ms ( )
repeat ( )
then
+[then]
;
\ gx_configure_tft(info);
Author: wmb
Date: Thu Nov 25 03:40:12 2010
New Revision: 2039
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2039
Log:
OLPC XO-1.75 boardrev.fth - initial revision
Added:
cpu/arm/olpc/1.75/boardrev.fth
Added: cpu/arm/olpc/1.75/boardrev.fth
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ cpu/arm/olpc/1.75/boardrev.fth Thu Nov 25 03:40:12 2010 (r2039)
@@ -0,0 +1,47 @@
+purpose: Determine the board revision based on hardware and EC info
+\ See license at end of file
+
+0 value board-revision
+
+\ Constructs a string like "B4" or "preB4" or "postB4"
+: model-name$ ( -- model$ )
+ board-revision h# 10 /mod ( minor major )
+ swap dup 8 = if ( major minor )
+ drop " " ( major prefix$ )
+ else ( major minor )
+ 8 < if " pre" else " post" then ( major prefix$ )
+ then ( major prefix$ )
+ push-hex
+ rot <# u# u# u# drop hold$ 0 u#> ( adr len )
+ pop-base
+ 2dup + 2- 2 upper ( model$ ) \ Upper case for base model
+;
+
+stand-init: board revision
+ ['] board-id@ catch if 0 then
+ dup if h# 10 * 8 + then to board-revision
+;
+
+\ LICENSE_BEGIN
+\ Copyright (c) 2007 FirmWorks
+\
+\ Permission is hereby granted, free of charge, to any person obtaining
+\ a copy of this software and associated documentation files (the
+\ "Software"), to deal in the Software without restriction, including
+\ without limitation the rights to use, copy, modify, merge, publish,
+\ distribute, sublicense, and/or sell copies of the Software, and to
+\ permit persons to whom the Software is furnished to do so, subject to
+\ the following conditions:
+\
+\ The above copyright notice and this permission notice shall be
+\ included in all copies or substantial portions of the Software.
+\
+\ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+\ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+\ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+\ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+\ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+\ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+\ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+\
+\ LICENSE_END
Author: wmb
Date: Wed Nov 24 21:29:04 2010
New Revision: 2035
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2035
Log:
Changed ps2mouse.fth to use my-space instead of my-unit for set-port; my-unit does not work right.
Modified:
dev/ps2mouse.fth
Modified: dev/ps2mouse.fth
==============================================================================
--- dev/ps2mouse.fth Tue Nov 23 23:37:52 2010 (r2034)
+++ dev/ps2mouse.fth Wed Nov 24 21:29:04 2010 (r2035)
@@ -299,7 +299,7 @@
lock[
identify if
\ This port is unresponsive; try the other
- my-unit 1- set-port identify if ]unlock true exit then
+ my-space 1- set-port identify if ]unlock true exit then
then ( id )
dup h# ab = if ( id )
@@ -312,7 +312,7 @@
my-port 0= if ]unlock true exit then
\ Otherwise look for the mouse on the keyboard port
- my-unit 1- set-port identify if ]unlock true exit then ( id )
+ my-space 1- set-port identify if ]unlock true exit then ( id )
then ( id )
]unlock ( id )
@@ -325,7 +325,7 @@
headers
: open ( -- flag )
- my-unit set-port
+ my-space set-port
open-count 0= if
\ The "force" argument causes the open to succeed even if no mouse
Author: wmb
Date: Tue Nov 23 23:37:52 2010
New Revision: 2034
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2034
Log:
SDHCI - solidified support for SDHCI version 3 clock divisor layout and made 50 MHz operation work reasonably well for XO-1.75.
Modified:
cpu/arm/olpc/1.75/sdhci.fth
dev/mmc/sdhci/sdhci.fth
Modified: cpu/arm/olpc/1.75/sdhci.fth
==============================================================================
--- cpu/arm/olpc/1.75/sdhci.fth Tue Nov 23 23:34:45 2010 (r2033)
+++ cpu/arm/olpc/1.75/sdhci.fth Tue Nov 23 23:37:52 2010 (r2034)
@@ -5,16 +5,9 @@
fload ${BP}/cpu/arm/olpc/1.75/sdregs.fth
fload ${BP}/dev/mmc/sdhci/sdhci.fth
- true to avoid-high-speed?
+\ true to avoid-high-speed?
hex
- \ The new clock divisor layout is low 8 bits in [15:8] and high 2 bits in [7:6]
- \ The resulting 10-bit value is multiplied by 2 to form the divisor for the
- \ 200 MHz base clock.
- patch 403 103 card-clock-25 \ n is 4, divisor is 8, clk is 25 MHz
- patch 203 003 card-clock-50 \ n is 2, divisor is 4, clk is 50 MHz
- patch 043 8003 card-clock-slow \ n is h# 100 (high 2 bits in [7:6], for divisor of 512 from 200 MHz clock
-
: olpc-card-inserted? ( -- flag )
slot 1 = if d# 31 gpio-pin@ 0= else true then
;
Modified: dev/mmc/sdhci/sdhci.fth
==============================================================================
--- dev/mmc/sdhci/sdhci.fth Tue Nov 23 23:34:45 2010 (r2033)
+++ dev/mmc/sdhci/sdhci.fth Tue Nov 23 23:37:52 2010 (r2034)
@@ -135,20 +135,24 @@
: card-clock-on ( -- ) h# 2c cw@ 4 or h# 2c cw! ;
: card-clock-off ( -- ) h# 2c cw@ 4 invert and h# 2c cw! ;
+: sdhci-version3? ( -- flag ) h# fe cw@ h# ff and 2 >= ;
: card-clock-slow ( -- ) \ Less than 400 kHz, for init
card-clock-off
- h# 8003 h# 2c cw! \ Set divisor to 2^128, leaving internal clock on
+ \ Set divisor, leaving internal clock on
+ sdhci-version3? if h# 43 else h# 8001 then h# 2c cw!
card-clock-on
;
: card-clock-25 ( -- )
card-clock-off
- h# 103 h# 2c cw! \ Set divisor to 2^1, leaving internal clock on
+ \ Set divisor, leaving internal clock on
+ sdhci-version3? if h# 403 else h# 103 then h# 2c cw!
card-clock-on
;
: card-clock-50 ( -- )
card-clock-off
- h# 003 \ division = 2^0, clocks on
+ \ Set divisor, leaving internal clock on
+ sdhci-version3? if h# 203 else h# 001 then
?cafe-fpga-quirk
@@ -659,6 +663,7 @@
\ Ask if high-speed is supported
h# 00ff.fff1 switch-function d# 13 + c@ 2 and if \ cmd6
+ 2 ms
h# 80ff.fff1 switch-function drop \ Perform the switch cmd6
\ Bump the host controller clock
host-high-speed \ Changes the clock edge