|
@@ -278,6 +278,32 @@ bfin_debug_mmrs_gptimer(struct dentry *parent, unsigned long base, int num)
|
|
|
}
|
|
|
#define GPTIMER(num) bfin_debug_mmrs_gptimer(parent, TIMER##num##_CONFIG, num)
|
|
|
|
|
|
+#define GPTIMER_GROUP_OFF(mmr) REGS_OFF(gptimer_group, mmr)
|
|
|
+#define __GPTIMER_GROUP(uname, lname) __REGS(gptimer_group, #uname, lname)
|
|
|
+static void __init __maybe_unused
|
|
|
+bfin_debug_mmrs_gptimer_group(struct dentry *parent, unsigned long base, int num)
|
|
|
+{
|
|
|
+ char buf[32], *_buf;
|
|
|
+
|
|
|
+ if (num == -1) {
|
|
|
+ _buf = buf + sprintf(buf, "TIMER_");
|
|
|
+ __GPTIMER_GROUP(ENABLE, enable);
|
|
|
+ __GPTIMER_GROUP(DISABLE, disable);
|
|
|
+ __GPTIMER_GROUP(STATUS, status);
|
|
|
+ } else {
|
|
|
+ /* These MMRs are a bit odd as the group # is a suffix */
|
|
|
+ _buf = buf + sprintf(buf, "TIMER_ENABLE%i", num);
|
|
|
+ d(buf, 16, base + GPTIMER_GROUP_OFF(enable));
|
|
|
+
|
|
|
+ _buf = buf + sprintf(buf, "TIMER_DISABLE%i", num);
|
|
|
+ d(buf, 16, base + GPTIMER_GROUP_OFF(disable));
|
|
|
+
|
|
|
+ _buf = buf + sprintf(buf, "TIMER_STATUS%i", num);
|
|
|
+ d(buf, 32, base + GPTIMER_GROUP_OFF(status));
|
|
|
+ }
|
|
|
+}
|
|
|
+#define GPTIMER_GROUP(mmr, num) bfin_debug_mmrs_gptimer_group(parent, mmr, num)
|
|
|
+
|
|
|
/*
|
|
|
* Handshake MDMA
|
|
|
*/
|
|
@@ -1006,29 +1032,19 @@ static int __init bfin_debug_mmrs_init(void)
|
|
|
#endif
|
|
|
|
|
|
parent = debugfs_create_dir("gptimer", top);
|
|
|
-#ifdef TIMER_DISABLE
|
|
|
- D16(TIMER_DISABLE);
|
|
|
- D16(TIMER_ENABLE);
|
|
|
- D32(TIMER_STATUS);
|
|
|
+#ifdef TIMER_ENABLE
|
|
|
+ GPTIMER_GROUP(TIMER_ENABLE, -1);
|
|
|
#endif
|
|
|
-#ifdef TIMER_DISABLE0
|
|
|
- D16(TIMER_DISABLE0);
|
|
|
- D16(TIMER_ENABLE0);
|
|
|
- D32(TIMER_STATUS0);
|
|
|
+#ifdef TIMER_ENABLE0
|
|
|
+ GPTIMER_GROUP(TIMER_ENABLE0, 0);
|
|
|
#endif
|
|
|
-#ifdef TIMER_DISABLE1
|
|
|
- D16(TIMER_DISABLE1);
|
|
|
- D16(TIMER_ENABLE1);
|
|
|
- D32(TIMER_STATUS1);
|
|
|
+#ifdef TIMER_ENABLE1
|
|
|
+ GPTIMER_GROUP(TIMER_ENABLE1, 1);
|
|
|
#endif
|
|
|
/* XXX: Should convert BF561 MMR names */
|
|
|
#ifdef TMRS4_DISABLE
|
|
|
- D16(TMRS4_DISABLE);
|
|
|
- D16(TMRS4_ENABLE);
|
|
|
- D32(TMRS4_STATUS);
|
|
|
- D16(TMRS8_DISABLE);
|
|
|
- D16(TMRS8_ENABLE);
|
|
|
- D32(TMRS8_STATUS);
|
|
|
+ GPTIMER_GROUP(TMRS4_ENABLE, 0);
|
|
|
+ GPTIMER_GROUP(TMRS8_ENABLE, 1);
|
|
|
#endif
|
|
|
GPTIMER(0);
|
|
|
GPTIMER(1);
|