How to detect PandaBoard version

Some time ago I got PandaBoard for my personal use. It is EA1 version but then there was a question which I heard countless times:

Which version of OMAP4430 did you got?

There are two possible answers: ES2.0 or ES2.1. During my return trip from UDS-N Nicolas Dechesne from TI asked me and instead of answering I just gave him board with “this one” answer. He looked and told “ES2.1” and I did not asked more.

At home when I got it working I found PandaBoard Revisions wiki page which tells which GPIO lines should be checked. So I wrote simple test:

for gpio in 171 101 182;
do
    cat /sys/class/gpio/gpio$gpio/value;
done

And got “0 1 1” as an answer which according to table from wiki means “750-2152-010 (ES2.1, 8-layer board)-Production board/PandaBoard Rev. A1”. But sticker on mine says “750-2152-001 (D)” which (again according to table) means that I have “(ES2.0, 8-layer board)-Early Adopter Board/PandaBoard Rev. EA1” one.

So who to believe? After some discussions on #pandaboard irc channel I prefer to trust Måns Rullgård and his skills in OMAP related area. He pointed me to OMAP4430 TRM section 1.5 which describes where version of silicon is written. What left was just one run of devmem2 tool:

root@localhost:~# devmem2 0x4A002204
/dev/mem opened.
Memory mapped at address 0x2aba9000.
Value at address 0x4A002204 (0x2aba9204): 0x1B85202F

And I got confirmation that I have real ES2.0 board. For those curious: ES2.1 has 0x3B95C02F value.

linaro omap pandaboard