RDRAM: Difference between revisions
Jump to navigation
Jump to search
m
Update RDRAM_DELAY_REG programming caution
(Document RasInterval register) |
m (Update RDRAM_DELAY_REG programming caution) |
||
Line 345:
}}
'''Programming caution:''' This is the first RDRAM register to configure, given that it configure RDRAM CAS timings. However, writing to this register (the first time?) may require the value to be written to have it's low hword and hi hword swapped (eg. to write 0xAABBCCDD we use 0xCCDDAABB instead) and the MI to be configured in a special way (MI_MODE = 0x10f, eg. SET_INIT_LENGTH | length = 0x0f) to make the write work with default RDRAM timings. Indeed, IPL3 configure this register using the following sequence:<br>
[MI_MODE_REG] = 0x10f<br>
[0xA3F80000 + RDRAM_DELAY_REG] = 0x18082838 // notice how low hword and high hword are swapped compared to the recommended value of 0x28381808<br>
But reading back the value written in RDRAM_DELAY_REG give 0x2B3B1A0B (which suggests that hwords got somehow swapped).
Also, trying to write 0x28381808 to RDRAM_DELAY_REG made the console freeze (tested using a modified version of hcs's boot_stub).
Note also that, all RDRAM present on the channel should be configured with the same value (use a broadcast write to do so).
==== <span style="display:none;">AdrS[9:2] 0x03 - Mode ====
|