[openfirmware] [commit] r1804 - cpu/x86/pc/olpc/via

repository service svn at openfirmware.info
Tue May 4 20:17:33 CEST 2010


Author: wmb
Date: Tue May  4 20:17:32 2010
New Revision: 1804
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1804

Log:
OLPC XO-1.5 - checked in some commented-out code to restore additional display register state in resume-from-S3.  That new code is unnecessary because the Linux driver does it now.

Modified:
   cpu/x86/pc/olpc/via/startgfxrestore.fth
   cpu/x86/pc/olpc/via/startmacros.fth

Modified: cpu/x86/pc/olpc/via/startgfxrestore.fth
==============================================================================
--- cpu/x86/pc/olpc/via/startgfxrestore.fth	Tue May  4 18:58:33 2010	(r1803)
+++ cpu/x86/pc/olpc/via/startgfxrestore.fth	Tue May  4 20:17:32 2010	(r1804)
@@ -196,6 +196,96 @@
 
 \ end of lower-power
 
+[ifdef] extra-gfx-restore
+\ VT-fixups
+seq-table
+   ae 15 ireg  \ 8 bit LUT, enable wrap, 32bpp, extended display enable
+   08 16 ireg  \ FIFO threshold
+   08 1a ireg  \ Extended mode memory access enable
+   30 1c ireg  \ Horizontal display fetch count
+   01 1d ireg  \ Horizontal display fetch count
+   08 22 ireg  \ Display queue request expire number +++
+   0f 2a ireg  \ LVDS Channel 1 and DVI I/O pad control +++
+   9d 44 ireg  \ VCK PLL
+   8c 45 ireg  \ VCK PLL
+   85 46 ireg  \ VCK PLL
+   9d 4a ireg  \ 2nd PLL
+   8c 4b ireg  \ 2nd PLL
+   85 4c ireg  \ 2nd PLL
+   00 58 ireg  \ Display FIFO low threshold select
+   00 59 ireg  \ clock gating  XXX the driver really should gate the clocks
+end-table
+
+\ VT-fixups
+crtc-table
+   99 00 ireg \ VGA timing stuff
+   95 01 ireg \
+   95 02 ireg \
+   1D 03 ireg \
+   97 04 ireg \
+   1B 05 ireg \
+   8E 06 ireg \
+   FF 07 ireg \
+   00 08 ireg \
+   60 09 ireg \
+   1E 0a ireg \
+   84 10 ireg \ VGA stuff
+   8E 11 ireg \
+   83 12 ireg \
+   58 13 ireg \
+   00 14 ireg \
+   83 15 ireg \
+   8F 16 ireg \
+   E3 17 ireg \
+   FF 18 ireg \
+   06 33 ireg \ HSYNC adj
+   00 34 ireg
+   50 35 ireg \ extended overflow
+   31 36 ireg \ 01 - monitor control - 30 is DPMS standby state
+   B8 56 ireg \ Hsync low
+   C0 57 ireg \ Hsyncend low
+   89 5e ireg \ Vsync low
+   6C 5f ireg \ Vsyncend all and Vsync overflow
+   88 68 ireg \ Display queue depth f, Display queue read threshold 8
+   E8 6a ireg \ Enable secondary display - 20 bit set is 8 (not 6) bits for second display LUT
+   40 88 ireg \ LVDS sequential
+   88 8a ireg \ LCD adjust LP
+   00 8b ireg \ LCD power sequence control - ca is default
+   00 8c ireg \ LCD power sequence control - ca is default
+   00 8d ireg \ LCD power sequence control - ca is default
+   00 8e ireg \ LCD power sequence control - ca is default
+   00 8f ireg \ LCD power sequence control - 11 is default
+   00 90 ireg \ LCD power sequence control - 11 is default
+   08 92 ireg \ Read threshold 2 - 00 is default
+   D0 94 ireg \ 80 is Display Queue depth bit [4], rest is display 2 Expire number bits [6:0]
+   22 95 ireg \ Read threshold 1 (bits 6:4) and read threshold 2 (bit 2:0)
+   10 99 ireg \ ? LVDS channel 1 function select
+   00 9b ireg \ O Digital video Port 1 Function Select 0  !!! setting this to 00 messes up the display
+end-table
+
+grf-table
+   40 05 ireg \ graphics mode
+   05 06 ireg \ graphics misc
+   0F 07 ireg \ color don't care
+end-table
+
+\ Attribute registers
+3da port-rb  \ reset-attr-addr
+10 3c0 port-wb  41 3c0 port-wb  \ mode control
+11 3c0 port-wb  ff 3c0 port-wb  \ overscan color
+12 3c0 port-wb  0f 3c0 port-wb  \ color plane enable
+13 3c0 port-wb  00 3c0 port-wb  \ horizontal pixel pan
+3da port-rb  \ reset-attr-addr
+20 3c0 port-wb                  \ palette on
+
+seq-table
+   04 40 ireg  \ Pulse LCDCK PLL reset
+   00 40 ireg  \ Release LCDCK PLL reset
+end-table
+
+cf 3c2 port-wb  \ use external clock (MISC register reads at 3cc, writes at 3c2)
+
+[else]
 seq-table
    9f 4a ireg  \ 2nd PLL value 0
    0c 4b ireg  \ 2nd PLL value 1
@@ -205,6 +295,7 @@
 end-table
 
 3cc port-rb  0c bitset  3c2 # dx mov  al dx out  \ use external clock (MISC register reads at 3cc, writes at 3c2)
+[then]
 
 80 17 crt-set  \ Release reset
 

Modified: cpu/x86/pc/olpc/via/startmacros.fth
==============================================================================
--- cpu/x86/pc/olpc/via/startmacros.fth	Tue May  4 18:58:33 2010	(r1803)
+++ cpu/x86/pc/olpc/via/startmacros.fth	Tue May  4 20:17:32 2010	(r1804)
@@ -27,6 +27,7 @@
 ;
 : crtc-table  ( -- )  h# 3d4 index-table  ;
 : seq-table  ( -- )  h# 3c4 index-table  ;
+: grf-table  ( -- )  h# 3ce index-table  ;
 
 : seq-setup  ( index -- )
    [ also assembler ]



More information about the openfirmware mailing list