Author: wmb
Date: Mon Aug 30 20:15:35 2010
New Revision: 1943
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1943
Log:
OLPC XO-1.5 - Changed some of the port 80 callouts in romreset.bth
to better delineate major substeps including init-codec.
Modified:
cpu/x86/pc/olpc/via/romreset.bth
Modified: cpu/x86/pc/olpc/via/romreset.bth
==============================================================================
--- cpu/x86/pc/olpc/via/romreset.bth Mon Aug 30 20:12:57 2010 (r1942)
+++ cpu/x86/pc/olpc/via/romreset.bth Mon Aug 30 20:15:35 2010 (r1943)
@@ -112,8 +112,6 @@
\ acpi-io-base 1 + 8888 config-ww \ Set ACPI base address
\ 8c 8881 config-wb \ Enable ACPI regs, 32-bit PM timer, guard RTC against power glitches
- h# 1d port80
-
\ This is a device ID backdoor to fake out the ID so Ubuntu will install
\ 8879 config-rb h# 40 # al or al dx out \ I don't know what this is, but coreboot does it
@@ -214,6 +212,8 @@
long-offsets off
[then]
+ h# 18 port80
+
fload ${BP}/cpu/x86/pc/olpc/via/startmtrrinit.fth
fload ${BP}/cpu/x86/pc/olpc/via/ioinit.fth
@@ -228,8 +228,12 @@
\ Setup a small stack for subroutine calls
h# 10.0000 # esp mov
+ h# 19 port80
+
init-codec #) call
+ h# 1a port80
+
long-offsets on
acpi-io-base 4 + port-rw \ Get APCI Status register
ax bx mov
Author: wmb
Date: Wed Aug 18 19:58:11 2010
New Revision: 1940
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1940
Log:
OLPC XO-1.5 - added commentary describing the address bit layout for
the SDRAM Mode Register Set cycle.
Modified:
cpu/x86/pc/olpc/via/dramtiming.fth
cpu/x86/pc/olpc/via/startdraminit.fth
Modified: cpu/x86/pc/olpc/via/dramtiming.fth
==============================================================================
--- cpu/x86/pc/olpc/via/dramtiming.fth Tue Aug 17 21:27:32 2010 (r1939)
+++ cpu/x86/pc/olpc/via/dramtiming.fth Wed Aug 18 19:58:11 2010 (r1940)
@@ -105,7 +105,8 @@
TCL 4 lshift or \ CAS Latency
0 7 lshift or \ Normal mode, not test mode
0 8 lshift or \ Not DLL reset
- Twr Tck / 1- scramble-mrs or \ Twr cycles minus 1
- 3 lshift
+ Twr Tck / 1- or \ Twr cycles minus 1
+ 1 d# 17 lshift or \ Slow exit from power down
+ 3 lshift \ Push past byte-select bits (8-byte-wide memory bus)
;
[then]
Modified: cpu/x86/pc/olpc/via/startdraminit.fth
==============================================================================
--- cpu/x86/pc/olpc/via/startdraminit.fth Tue Aug 17 21:27:32 2010 (r1939)
+++ cpu/x86/pc/olpc/via/startdraminit.fth Wed Aug 18 19:58:11 2010 (r1940)
@@ -25,10 +25,33 @@
13 36b config-wb \ SDRAM MRS Enable
\ 101258 #) ax mov \ Depends on Twr, CL, and Burst Length
+ \ The address in the mov below sends setup information to the DDR2 SDRAM chips
+ \ The address bits are:
+ \ P .... .www DmCC CtBB B___
+ \
+ \ ___ are the low-order address bits that don't go directly to the RAM chips
+ \ because the DRAM data bus from the processor is 8 bytes wide.
+ \
+ \ BBB is Burst Length - 010=BL4, 011=BL8
+ \ t is Burst Type - 0=sequential, 1=interleaved
+ \ CCC is CAS Latency - 010=CL2, 011=CL3, 100=CL4, 101=CL5, 110=CL6
+ \ m is test mode - 0=normal, 1=test
+ \ D is DLL reset - 0=no reset, 1=reset
+ \ www is Write Recovery - 001=WR2, 010=WR3, 011=WR4, 100=WR5, 101=WR6
+ \ P is Power Down Exit - 0=fast, 1=slow
+
+ \ At this point, the address multiplexing is set for 12 column addresses, i.e MA type 111,
+ \ per the preceding setting of D0F3 Rx50 in demodram.fth (50 ee ee mreg).
+ \ That keep the 12-bit group "www DmCC CtBB B" together as a contiguous set.
+ \ I'm not sure how the P bit gets routed from processor A20 to SDRAM A12. In fact
+ \ I'm just assuming that that leading 1 in the addresses below is the P bit.
+ \ It can't be a bank address bit, because BA0, BA1, and BA2 are suppose to be all 0
+ \ for MRS (Mode Register Set)
+
acpi-io-base 48 + port-rl h# 0008.0000 # ax and 0<> if \ Memory ID0 bit - set for CL4 SDRAM
- 102258 #) ax mov \ Depends on Twr, CL, and Burst Length - CL4
+ 102258 #) ax mov \ Depends on Twr, CL, and Burst Length - WR3, CL4, BL8
else
- 1021d8 #) ax mov \ Depends on Twr, CL, and Burst Length - CL3
+ 1021d8 #) ax mov \ Depends on Twr, CL, and Burst Length - WR3, CL3, BL8
then
0 [if]
Author: wmb
Date: Tue Aug 17 21:27:32 2010
New Revision: 1939
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1939
Log:
x86 - memtest86 - Completed the process begun by svn 1938 by reverted
the change in svn 1937 and going back to -Os . I verified that -Os
now works with both GCC 4.2.1 and GCC 4.4.3 (-O1 also works with both).
Modified:
clients/memtest86/Makefile
Modified: clients/memtest86/Makefile
==============================================================================
--- clients/memtest86/Makefile Tue Aug 17 21:10:51 2010 (r1938)
+++ clients/memtest86/Makefile Tue Aug 17 21:27:32 2010 (r1939)
@@ -28,9 +28,8 @@
CC=gcc
#
# gcc compiler options, these settings should suffice
-# (It is tempting to use -Os, but that causes runtime failures when compiled with GCC >4.2)
#
-CCFLAGS=-Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding
+CCFLAGS=-Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin -ffreestanding
CCFLAGS += -fno-stack-protector
CCFLAGS += $(DEFINES)
Author: wmb
Date: Tue Aug 17 19:22:56 2010
New Revision: 1937
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/1937
Log:
x86 - memtest86 - changed -Os to -O1 in Makefile to fix runtime errors
that occurred when compiling with GCC 4.4.3 (-Os worked well with GCC 4.2).
The specific symptom was that Test #2 would report lots of errors in the
0xfffxx range - which wasn't supposed to be tested at all.
Modified:
clients/memtest86/Makefile
Modified: clients/memtest86/Makefile
==============================================================================
--- clients/memtest86/Makefile Wed Aug 11 20:30:05 2010 (r1936)
+++ clients/memtest86/Makefile Tue Aug 17 19:22:56 2010 (r1937)
@@ -28,8 +28,9 @@
CC=gcc
#
# gcc compiler options, these settings should suffice
+# (It is tempting to use -Os, but that causes runtime failures when compiled with GCC >4.2)
#
-CCFLAGS=-Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin -ffreestanding
+CCFLAGS=-Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding
CCFLAGS += -fno-stack-protector
CCFLAGS += $(DEFINES)