Author: wmb Date: 2009-01-04 00:37:10 +0100 (Sun, 04 Jan 2009) New Revision: 1061
Modified: dev/geode/display/gxfb.fth dev/geode/smi.fth dev/olpc/dcon/dcon.fth Log: OLPC - Changed the S3 path for Windows to turn off the DCON power, thus saving power and fixing the problem whereby keyboard activity during S3 caused the DCON to enable the screen (albeit in blanked black state)>
Modified: dev/geode/display/gxfb.fth =================================================================== --- dev/geode/display/gxfb.fth 2009-01-03 23:32:33 UTC (rev 1060) +++ dev/geode/display/gxfb.fth 2009-01-03 23:37:10 UTC (rev 1061) @@ -168,7 +168,7 @@ set-dotpll ( ) ;
-[ifndef] dcon-init +[ifndef] dcon-gpio-init false to dcon? false constant atest? \ : tft-mode? ( -- flag ) h# c000.2001 msr@ drop h# 40 and 0<> ; @@ -413,7 +413,7 @@
\ fload ${BP}/dev/mediagx/video/bitblt.fth
-[ifdef] dcon-init +[ifdef] dcon-gpio-init
\ This is a horrible hack to get the DCON PLL started. \ What is going on is that you have to start the video timing @@ -462,9 +462,17 @@ irq@905? ( flag ) ;
+: dcon-restart ( -- ) + dcon-gpio-init + d# 50 0 do + good-dcon? if dcon-setup h# 11 mode! leave then + loop + set-mode +; + : probe-dcon ( -- ) true to dcon? set-mode - dcon-init \ GPIO stuff + dcon-gpio-init \ GPIO stuff d# 50 0 do good-dcon? if dcon-enable maybe-set-cmos unloop exit then loop
Modified: dev/geode/smi.fth =================================================================== --- dev/geode/smi.fth 2009-01-03 23:32:33 UTC (rev 1060) +++ dev/geode/smi.fth 2009-01-03 23:37:10 UTC (rev 1061) @@ -794,7 +794,11 @@ resume-debug? if debug-me then exit-smi resume-debug? if ." enter s3" cr then + dcon-power-off s3 + dcon-power-on + d# 10 ms + " dcon-restart" screen-ih $call-method \ ." Return from S3" cr interact \ noop setup-smi
Modified: dev/olpc/dcon/dcon.fth =================================================================== --- dev/olpc/dcon/dcon.fth 2009-01-03 23:32:33 UTC (rev 1060) +++ dev/olpc/dcon/dcon.fth 2009-01-03 23:37:10 UTC (rev 1061) @@ -138,7 +138,7 @@ h# dc02 = ;
-: dcon-enable ( -- ) +: dcon-setup ( -- ) \ Switch to OLPC mode
atest? if \ A-test boards have a DCON FPGA @@ -169,6 +169,10 @@ h# 0101 h# 41 dcon! h# 0101 h# 42 dcon! then + h# 12 mode! +; +: dcon-enable ( -- ) + dcon-setup true set-color h# f bright! ; @@ -176,7 +180,7 @@ dconstat dconblnk or dconirq or constant in-gpios dconload constant out-gpios
-: dcon-init ( -- ) +: dcon-gpio-init ( -- ) out-gpios in-gpios wljoin OUT_EN gpio! in-gpios out-gpios wljoin IN_EN gpio!
openfirmware@openfirmware.info