[openfirmware] r1470 - cpu/x86/pc/olpc cpu/x86/pc/olpc/via dev/via/unichrome
svn at openfirmware.info
svn at openfirmware.info
Fri Nov 13 21:40:24 CET 2009
Author: wmb
Date: 2009-11-13 21:40:24 +0100 (Fri, 13 Nov 2009)
New Revision: 1470
Added:
cpu/x86/pc/olpc/DisplayEDID.raw
Modified:
cpu/x86/pc/olpc/via/olpc.bth
dev/via/unichrome/unichrome.fth
Log:
Via - Added EDID data for the XO display to the display driver for use by Openchrome.
Added: cpu/x86/pc/olpc/DisplayEDID.raw
===================================================================
(Binary files differ)
Property changes on: cpu/x86/pc/olpc/DisplayEDID.raw
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: cpu/x86/pc/olpc/via/olpc.bth
===================================================================
--- cpu/x86/pc/olpc/via/olpc.bth 2009-11-13 20:37:04 UTC (rev 1469)
+++ cpu/x86/pc/olpc/via/olpc.bth 2009-11-13 20:40:24 UTC (rev 1470)
@@ -140,6 +140,8 @@
" ${BP}/cpu/x86/pc/olpc/images/xo.565" " xo.565" $add-deflated-dropin
" ${BP}/cpu/x86/pc/olpc/images/sd.565" " sd.565" $add-deflated-dropin
+ " ${BP}/cpu/x86/pc/olpc/DisplayEDID.raw" " edid" $add-deflated-dropin
+
" ${BP}/ofw/termemu/15x30pc.psf" " font" $add-deflated-dropin
[ifdef] use-ega
" ${BP}/ofw/termemu/cp881-16.obf" " pcfont" $add-deflated-dropin
Modified: dev/via/unichrome/unichrome.fth
===================================================================
--- dev/via/unichrome/unichrome.fth 2009-11-13 20:37:04 UTC (rev 1469)
+++ dev/via/unichrome/unichrome.fth 2009-11-13 20:40:24 UTC (rev 1470)
@@ -23,12 +23,23 @@
: set-resolution ( width height depth -- ) to depth to height to width ;
+: create-edid-property ( -- )
+ " edid" get-my-property if ( )
+ " edid" find-drop-in if ( adr len )
+ 2dup encode-bytes " edid" property free-mem
+ then ( )
+ else ( adr len )
+ 2drop ( )
+ then ( )
+;
+
: declare-props ( -- ) \ Instantiate screen properties
" width" get-my-property if
width encode-int " width" property
height encode-int " height" property
depth encode-int " depth" property
/scanline encode-int " linebytes" property
+ create-edid-property
else
2drop
then
@@ -247,12 +258,14 @@
\ : crt-clr ( mask reg# -- ) tuck crt@ swap invert and swap crt! ;
: crt-clr crt-clear ;
-
+: effective-depth ( depth -- depth' )
+ depth d# 24 = if d# 32 else depth then
+;
: bytes>chars ( bytes -- chars ) 3 >> ;
: chars>bytes 3 << ;
: pixels>bytes ( pixels -- bytes )
depth 4 = if 2/ exit then
- depth d# 24 = if d# 32 else depth then * ( bits ) 3 >> ( bytes )
+ effective-depth * ( bits ) 3 >> ( bytes )
;
: lower-power ( -- )
@@ -744,7 +757,7 @@
: scaling-off ( -- ) 07 79 crt-clr ;
: olpc-lcd-mode ( -- )
- panel-resolution d# 16 set-resolution
+ panel-resolution d# 32 set-resolution
c0 1b seq-set \ Secondary display clock on
@@ -1195,7 +1208,7 @@
: set-terminal ( -- )
width height ( width height )
over char-width / over char-height / ( width height rows cols )
- /scanline depth fb-install gp-install ( )
+ /scanline effective-depth fb-install gp-install ( )
;
: change-resolution ( new-width new-height new-depth -- )
More information about the openfirmware
mailing list