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 -- )
openfirmware@openfirmware.info