So.. wondering if anyone is willing to do some testing in uboot on an X5000?
The way the TRM says it should work is to write the register we're interested in to the index register at 0000.0000, and then read the value from data register e000.8000 (dot for easier read). This differs slightly from f.i. Tabor, where we write to 0x0000, but read from 0x8000 plus the register.
I'd like to see what we get in uboot.
md is memory display
mw is memory write
First I want to just see if anything is at 0x8000 without us having written anything to the index register.
The first line should give us 8 16 bit words from the data register. This might contain 0xdead, 0xbeef, and then it should be the hardware revision, and then I don't know.
The seconds test will write 1 to the index reg, and we would then see 0xbeef in the data register.
The third test will write 2 to the index reg, and we would then see the hardware rev in the data register.
The fourth test will write 4 to the index reg, and that should return a 1 if the localbus is alive.
The last line should dump
You can corroborate all this by checking the Cyrus TRM.
md.w e0008000 8
mw.w e0000000 1
md.w e0008000 8
mw.w e0000000 2
md.w e0008000 8
mw.w e0000000 4
md.w e0008000 8
You can take photos and e-mail me if can't copy from uboot. It's joakim.nordstrom at gmail.com.
Thanks!