My JTAG chain appears to be working as the device detection appears to be okay - but I think that my bus reads/writes are wrong.
Detect gives me the following:
IR length: 4
Chain length: 1
Device Id: 00011111000011110000111100001111
Manufacturer: Samsung
Part: s3c44b0x
Stepping: 0
Filename: /usr/local/share/jtag/samsung/s3c44b0x/s3c44b0x
No. Manufacturer Part Stepping Instruction Register
---------------------------------------------------------------------------------------------
0 Samsung s3c44b0x 0 BYPASS BR
But then when I start peeking, I the data all seems to be wrong - or certinally inconsistant with anything I am reading on the site, or on the datasheet.
If I read addresses 0, 2, 4, 6, 8 and 10, I get:
bus_read(0x00000000) = 0x00000090 (144)
bus_read(0x00000002) = 0x00000000 (0)
bus_read(0x00000004) = 0x000000F8 (248)
bus_read(0x00000006) = 0x0000009F (159)
bus_read(0x00000008) = 0x000000F8 (248)
bus_read(0x0000000a) = 0x0000009F (159)
I don't know if its write or wrong - but they all are 8-bit values only. If I read these addresses again:
bus_read(0x00000000) = 0x00000090 (144)
bus_read(0x00000002) = 0x00000000 (0)
bus_read(0x00000004) = 0x000000F8 (248)
bus_read(0x00000006) = 0x0000009F (159)
bus_read(0x00000008) = 0x000000F8 (248)
bus_read(0x0000000a) = 0x0000009F (159)
...I get the same data - I don't know if it's right, but at least it's consistant.
If I read these addresses, I get this data:
bus_read(0x0001c000) = 0x000000A2 (162)
bus_read(0x0001c002) = 0x0000004E (78)
bus_read(0x0001c004) = 0x000000B1 (177)
bus_read(0x0001c006) = 0x00000084 (132)
bus_read(0x0001c008) = 0x00000028 (40)
bus_read(0x0001c00a) = 0x00000088 (136)
...and if I re-read it - I get the same data again. Again - 8-bit only.
If I try to read when the documentation describes as the LCD registers, I get:
bus_read(0x01f00000) = 0x00000088 (136)
bus_read(0x01f00004) = 0x00000088 (136)
bus_read(0x01f00008) = 0x00000088 (136)
bus_read(0x01f0000c) = 0x00000088 (136)
bus_read(0x01f00010) = 0x00000088 (136)
This is all junk - it will always just reflect back the last location read. (See above, it was 0x88).
The "Cart ID" from the Wiki - does the same thing - reflecting the last location read. These seem to me they are "unmapped" addresses:
bus_read(0x00590000) = 0x00000088 (136)
So am I correct in my believe that something is wrong here? Are the reads all supposed to be 8-bit? Anyone know what I should expect from these peeks? Anyone see any pattern in this madness?
Thanks,
-BKG
---------
Brad Goodman
[myfirstname]@bradgoodman.com