XO PRS 2006: Difference between revisions
JordanCrouse (talk | contribs) (Add some more register comments) |
JordanCrouse (talk | contribs) (add PMC comments) |
||
Line 60: | Line 60: | ||
: '''FIX PRS'''. This value is correct for a TFT attached board. |
: '''FIX PRS'''. This value is correct for a TFT attached board. |
||
== CS5536 PMC == |
|||
'''NOTE''' - These 5 reigsters control various delays related with suspending and resuming the system - they should be evaluated and set during the |
|||
power management work in the kernel. |
|||
=== PM Sleep Clock Delay and Enable (0x10) === |
|||
Expected e00 |
|||
Got 0 |
|||
: '''KERNEL PM''' |
|||
=== PM Sleep End Delay (0x14) === |
|||
Expected 4601 |
|||
Got 0 |
|||
=== PM Sleep Input Disable De-assert and Enable I/O === |
|||
Expected 8c02 |
|||
Got 0 |
|||
: '''KERNEL PM''' |
|||
=== PM Working De-assert Delay and Enable I/O === |
|||
Expected a0 |
|||
Got 0 |
|||
: '''KERNEL PM''' |
|||
=== PM Work_Aux De-assert Delay and Enable I/O === |
|||
Expected a0 |
|||
Got 0 |
|||
: '''KERNEL PM''' |
|||
=== PM Fail-safe Delay and Enable I/O === |
|||
Expected 40020000 |
|||
Got 0 |
|||
:'''UNKNOWN - E-MAILED MARK 10/17''' - This register allows a fail-safe mechanism to fire and reset the system if the power button is pressed for N cycles. Since the power button on the OLPC goes through the EC, its unclear how the EC behaves in this situation, so we'll wait for Ray and Mark to respond. |
|||
== CS5536 MFGPT == |
== CS5536 MFGPT == |
||
Line 66: | Line 101: | ||
Got 30da |
Got 30da |
||
: '''INVESTIGATE'''. Bit 13 indicates that the Comparator 1 output status is high. The clock isn't being actively used, so this is harmless in and of itself, but we need to investigate why VSA is setting up this clock. |
: '''INVESTIGATE'''. Bit 13 indicates that the Comparator 1 output status is high. The clock isn't being actively used, so this is harmless in and of itself, but we need to investigate why VSA is setting up this clock. (Note - same goes for MFGPT 4 and MFGPT 5 setup). |
||
(Note - same goes for MFGPT 4 and MFGPT 5 setup). |
|||
=== MFGPT 5 CMP1 === |
=== MFGPT 5 CMP1 === |
||
Line 88: | Line 121: | ||
Got 12 |
Got 12 |
||
: '''FIX PRS'''. The 50 is used to point to an "extended capabilities" region in the config space.. Right now, that is only used to hand over control from the BIOS to the kernel. This isn't |
: '''FIX PRS'''. The 50 is used to point to an "extended capabilities" region in the config space.. Right now, that is only used to hand over control from the BIOS to the kernel. This isn't a problem for us, and we have no reason even to wander down this code in the first place, so keep the offset at 0, and fix the PRS. |
||
a problem for us, and we have no reason even to wander down this code in the first place, so keep the offset at 0, and fix the PRS. |
|||
=== IPGREG04 === |
=== IPGREG04 === |
Revision as of 15:41, 17 October 2006
This is my investigation into the PRS run that Mitch Bradley conducted. Where applicable, I am including comments from Tom Sylla (http://dev.laptop.org/attachment/ticket/109/prscheck.txt) If you wish to comment, make sure you append four tildes ~~~~ to sign it.
GX Graphics PCI Header Register
PCI Cache Line Size (R/W)
Expected 8 Got 0
- IGNORE. The VSA should fill these out so that the headers are spec compliant. Its unlikely that any of the drivers use these fields, so its probably OK to ignore these.
GX CPU Core MSRs
Data Memory Configuration (MSR 0x1800)
Expected 200000000002 Got 200000000022
- FIX PRS. This is correct. It makes an INVD command work exactly like WBINVD. Interestingly enough, Tom's PRS check was different (it expected 200000000022), so that should be looked into.
Default RCONF (MSR 0x1808)
Expected 25fff00210730000 Got 25fff0021077e000
- FIX CODE. From Tom: This one doesn't matter too much at runtime (after BIOS boot) It may as well match our PRS, since that is how we run all the time. The flashrom utility that is used to flash will have to turn off write protect as necessary. There is an interesting tangent though, what settings is LinuxBIOS using when booting? It could be something faster than uncacheable. Even more tangential, is their memcpy for shadowing the fastest it can be on our hardware?
RCONF Bypass (MSR 0x180A)
Expected 11 Got 0
- FIX PRS. This is correct. From Tom: LinuxBIOS is right here. It is wrong in the olpc.prs. The LinuxBIOS value matches both the sparrow and norwich PRSes. '0' is the highest performance setting.
C0000-DFFFF RCONF
Expected 2121212121210101 Got 212121212121212
- POSSIBLE CODE FIX. From Tom: this one would take some looking into. these regions are usually set CD, WS because they are where PCI ROMs are usually located. Since the OLPC will have no PCI ROMs at these locations, These could be made cacheable, and added back to the memory map that linux uses.
- I'm not sure if we can even use this space in kernel land. - JordanCrouse (Talk to me!) 13:59, 3 October 2006 (EDT)
E0000 - FFFFF RCONF
Expected 101010101010101 Got 2121212121212121
- POSSIBLE CODE FIX. Same as above.
- I'm not sure we can use this space even if the kernel gets it back - JordanCrouse (Talk to me!) 13:59, 3 October 2006 (EDT)
Region Configuration SMM
Expected 4043f00040400104 Got 4041f00040400104
- FIX PRS. I think this is fine - this just indicates that our SMM area is smaller then it normally is with the full VSA.
GX GeodeLink Memory Controller MSRs
Refresh and SDRAM program (0x20000018)
Expected 1007401200002000 Got 1007401200002400
- VERIFY & FIX PRS. This needs to be verified correct for the hardware, and the PRS updated for the right value.
GX Display Filter (DF) MSRs
GLD Master Configuration (MSR 0xc0002001)
Expected 40f00 Got 40f80
- FIX PRS. This value is correct for a TFT attached board.
CS5536 PMC
NOTE - These 5 reigsters control various delays related with suspending and resuming the system - they should be evaluated and set during the power management work in the kernel.
PM Sleep Clock Delay and Enable (0x10)
Expected e00 Got 0
- KERNEL PM
PM Sleep End Delay (0x14)
Expected 4601 Got 0
PM Sleep Input Disable De-assert and Enable I/O
Expected 8c02 Got 0
- KERNEL PM
PM Working De-assert Delay and Enable I/O
Expected a0 Got 0
- KERNEL PM
PM Work_Aux De-assert Delay and Enable I/O
Expected a0 Got 0
- KERNEL PM
PM Fail-safe Delay and Enable I/O
Expected 40020000 Got 0
- UNKNOWN - E-MAILED MARK 10/17 - This register allows a fail-safe mechanism to fire and reset the system if the power button is pressed for N cycles. Since the power button on the OLPC goes through the EC, its unclear how the EC behaves in this situation, so we'll wait for Ray and Mark to respond.
CS5536 MFGPT
MFGPT 3 Setup
Expected 10da Got 30da
- INVESTIGATE. Bit 13 indicates that the Comparator 1 output status is high. The clock isn't being actively used, so this is harmless in and of itself, but we need to investigate why VSA is setting up this clock. (Note - same goes for MFGPT 4 and MFGPT 5 setup).
MFGPT 5 CMP1
Expected 1b83 Got ffff
- FIX PRS. The clock isn't being actively used, so the comparator value is harmless.
CS5536 SMB IO
SMBCTL2
Expected ff Got 41
- FIX LB. SMBCTL[7:1] sets up the lower 7 bits of the SMB_CLOCK frequency. The kernel writes a 71 - Not sure where they got 41 from, but 71 has been verified to be a good value. Use that.
CS5536 EHC Native
USB_HCCPARAMS
Expected 5012 Got 12
- FIX PRS. The 50 is used to point to an "extended capabilities" region in the config space.. Right now, that is only used to hand over control from the BIOS to the kernel. This isn't a problem for us, and we have no reason even to wander down this code in the first place, so keep the offset at 0, and fix the PRS.
IPGREG04
Expected 2 Got 0
- FIX PRS. Undocumented bits - 0 is correct for OLPC. Update the PRS.