2014/1/2 Hauke Mehrtens [off-list ref]:
The BGMAC_CMDCFG_SR register is at a different position on core rev >= 4
-#define BGMAC_CMDCFG_SR 0x00000800 /* Set to reset mode */
+#define BGMAC_CMDCFG_SR_REVO 0x00000800 /* Set to reset mode, for other revs */
+#define BGMAC_CMDCFG_SR_REV4 0x00002000 /* Set to reset mode, only for core rev 4 */
+#define BGMAC_CMDCFG_SR(rev) ((rev >= 4) ? BGMAC_CMDCFG_SR_REV4 : BGMAC_CMDCFG_SR_REVO)
If you use _REV4 for rev 4+, then what about using _REV0 for rev 0+?
I guess REVO stands for OTHERS, but others doesn't actually mean rev != 4 here.
Unless it was supposed to be 0 from the beginning and it's just a typo?
In future you may need to use _REV7 or whatever number.
--
Rafał