devmem2 question

I swear checking registers made sense to me a few weeks ago when I was troubleshooting multichannel audio issues on the McASP but for the last two days I have been stumped how it ever made sense to me! Doh!

I understand that 48038000 is the McASP base address.

When I run: /devmem2 0x48038000
I expected to get: 0x44300A02h

But instead I get:

./devmem2 0x48038000

/dev/mem opened.
Memory mapped at address 0xb6f3a000.
Value at address 0x48038000 (0xb6f3a000): 0x44307B02

Have I been looking at the TRM for too long and need some sleep!!!

From the AM335x TRM it says on page 4597: http://www.ti.com/lit/ug/spruh73k/spruh73k.pdf

22.3.1.1 REV Register (offset = 0h) [reset = 44300A02h]

REV is shown in Figure 22-38 and described in Table 22-9.
The revision identification register (REV) contains identification data for the peripheral.

Figure 22-38. REV Register

LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset Table 22-9. REV Register Field Descriptions

Version of devmem2.c: wget http://sources.buildroot.net/devmem2.c

Build: gcc devmem2.c -o devmem2

Jesse,

It's just a different revision on the peripheral. I wouldn't let it get to
you :slight_smile:

Well I suspect that other registers I check are also incorrect. I’ll add some more examples tomorrow…

And that revision is read only, odd it would not match the TRM, yes?

Losing sleep over this question…
:wink:

Yes some will be incorrect and some will be correct. That is how these
things go. You can usually rely on the registers locations though so it
shouldn't affect what you are trying to do.