[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