Title: [9853] trunk/arch/blackfin/kernel/debug-mmrs.c: Blackfin: debug-mmrs: unify gpio/port blocks
Revision
9853
Author
vapier
Date
2011-04-15 14:27:56 -0400 (Fri, 15 Apr 2011)

Log Message

Blackfin: debug-mmrs: unify gpio/port blocks

Modified Paths


Diff

Modified: trunk/arch/blackfin/kernel/debug-mmrs.c (9852 => 9853)


--- trunk/arch/blackfin/kernel/debug-mmrs.c	2011-04-15 18:14:42 UTC (rev 9852)
+++ trunk/arch/blackfin/kernel/debug-mmrs.c	2011-04-15 18:27:56 UTC (rev 9853)
@@ -1,7 +1,7 @@
 /*
  * debugfs interface to core/system MMRs
  *
- * Copyright 2007-2010 Analog Devices Inc.
+ * Copyright 2007-2011 Analog Devices Inc.
  *
  * Licensed under the GPL-2 or later
  */
@@ -20,6 +20,12 @@
 #include <asm/bfin5xx_spi.h>
 #include <asm/bfin_twi.h>
 
+/* Common code defines PORT_MUX on us, so redirect the MMR back locally */
+#ifdef BFIN_PORT_MUX
+#undef PORT_MUX
+#define PORT_MUX BFIN_PORT_MUX
+#endif
+
 #define _d(name, bits, addr, perms) debugfs_create_x##bits(name, perms, parent, (u##bits *)addr)
 #define d(name, bits, addr)         _d(name, bits, addr, S_IRUSR|S_IWUSR)
 #define d_RO(name, bits, addr)      _d(name, bits, addr, S_IRUSR)
@@ -294,6 +300,48 @@
 #define HMDMA(num) bfin_debug_mmrs_hmdma(parent, HMDMA##num##_CONTROL, num)
 
 /*
+ * Port/GPIO
+ */
+#define bfin_gpio_regs gpio_port_t
+#define __PORT(uname, lname) __REGS(gpio, #uname, lname)
+static void __init __maybe_unused
+bfin_debug_mmrs_port(struct dentry *parent, unsigned long base, int num)
+{
+	char buf[32], *_buf;
+#ifdef __ADSPBF54x__
+	_buf = REGS_STR_PFX_C(buf, PORT, num);
+	__PORT(FER, port_fer);
+	__PORT(SET, data_set);
+	__PORT(CLEAR, data_clear);
+	__PORT(DIR_SET, dir_set);
+	__PORT(DIR_CLEAR, dir_clear);
+	__PORT(INEN, inen);
+	__PORT(MUX, port_mux);
+#else
+	_buf = buf + sprintf(buf, "PORT%cIO_", num);
+	__PORT(CLEAR, data_clear);
+	__PORT(SET, data_set);
+	__PORT(TOGGLE, toggle);
+	__PORT(MASKA, maska);
+	__PORT(MASKA_CLEAR, maska_clear);
+	__PORT(MASKA_SET, maska_set);
+	__PORT(MASKA_TOGGLE, maska_toggle);
+	__PORT(MASKB, maskb);
+	__PORT(MASKB_CLEAR, maskb_clear);
+	__PORT(MASKB_SET, maskb_set);
+	__PORT(MASKB_TOGGLE, maskb_toggle);
+	__PORT(DIR, dir);
+	__PORT(POLAR, polar);
+	__PORT(EDGE, edge);
+	__PORT(BOTH, both);
+	__PORT(INEN, inen);
+#endif
+	_buf[-1] = '\0';
+	d(buf, 16, base + REGS_OFF(gpio, data));
+}
+#define PORT(base, num) bfin_debug_mmrs_port(parent, base, num)
+
+/*
  * PPI
  */
 #define __PPI(uname, lname) __REGS(ppi, #uname, lname)
@@ -1662,358 +1710,120 @@
 	D32(WDOGB_STAT);
 #endif
 
-#ifdef __ADSPBF51x__
-# define USE_BF51x 1
-#else
-# define USE_BF51x 0
+	/* BF533 glue */
+#ifdef FIO_FLAG_D
+#define PORTFIO FIO_FLAG_D
 #endif
-	if (USE_BF51x) {
-
-		parent = debugfs_create_dir("GPIO PIN", top);
-		d("PORTF_FER", 16, 0xFFC03200);
-		d("PORTF_DRIVE", 16, 0xFFC03220);
-		d("PORTF_HYSTERESIS", 16, 0xFFC03240);
-		d("PORTF_MUX", 16, 0xFFC03210);
-		d("PORTG_FER", 16, 0xFFC03204);
-		d("PORTG_DRIVE", 16, 0xFFC03224);
-		d("PORTG_HYSTERESIS", 16, 0xFFC03244);
-		d("PORTG_MUX", 16, 0xFFC03214);
-		d("PORTH_FER", 16, 0xFFC03208);
-		d("PORTH_DRIVE", 16, 0xFFC03228);
-		d("PORTH_HYSTERESIS", 16, 0xFFC03248);
-		d("PORTH_MUX", 16, 0xFFC03218);
-
-		parent = debugfs_create_dir("NON-GPIO", top);
-		d("NONGPIO_DRIVE", 16, 0xFFC03280);
-		d("NONGPIO_HYSTERESIS", 16, 0xFFC03288);
-
-		parent = debugfs_create_dir("Port I-O", top);
-		d("PORTFIO", 16, 0xFFC00700);
-		d("PORTFIO_BOTH", 16, 0xFFC0073C);
-		d("PORTFIO_CLEAR", 16, 0xFFC00704);
-		d("PORTFIO_DIR", 16, 0xFFC00730);
-		d("PORTFIO_EDGE", 16, 0xFFC00738);
-		d("PORTFIO_INEN", 16, 0xFFC00740);
-		d("PORTFIO_MASKA", 16, 0xFFC00710);
-		d("PORTFIO_MASKA_CLEAR", 16, 0xFFC00714);
-		d("PORTFIO_MASKA_SET", 16, 0xFFC00718);
-		d("PORTFIO_MASKA_TOGGLE", 16, 0xFFC0071C);
-		d("PORTFIO_MASKB", 16, 0xFFC00720);
-		d("PORTFIO_MASKB_CLEAR", 16, 0xFFC00724);
-		d("PORTFIO_MASKB_SET", 16, 0xFFC00728);
-		d("PORTFIO_MASKB_TOGGLE", 16, 0xFFC0072C);
-		d("PORTFIO_POLAR", 16, 0xFFC00734);
-		d("PORTFIO_SET", 16, 0xFFC00708);
-		d("PORTFIO_TOGGLE", 16, 0xFFC0070C);
-		d("PORTGIO", 16, 0xFFC01500);
-		d("PORTGIO_BOTH", 16, 0xFFC0153C);
-		d("PORTGIO_CLEAR", 16, 0xFFC01504);
-		d("PORTGIO_DIR", 16, 0xFFC01530);
-		d("PORTGIO_EDGE", 16, 0xFFC01538);
-		d("PORTGIO_INEN", 16, 0xFFC01540);
-		d("PORTGIO_MASKA", 16, 0xFFC01510);
-		d("PORTGIO_MASKA_CLEAR", 16, 0xFFC01514);
-		d("PORTGIO_MASKA_SET", 16, 0xFFC01518);
-		d("PORTGIO_MASKA_TOGGLE", 16, 0xFFC0151C);
-		d("PORTGIO_MASKB", 16, 0xFFC01520);
-		d("PORTGIO_MASKB_CLEAR", 16, 0xFFC01524);
-		d("PORTGIO_MASKB_SET", 16, 0xFFC01528);
-		d("PORTGIO_MASKB_TOGGLE", 16, 0xFFC0152C);
-		d("PORTGIO_POLAR", 16, 0xFFC01534);
-		d("PORTGIO_SET", 16, 0xFFC01508);
-		d("PORTGIO_TOGGLE", 16, 0xFFC0150C);
-		d("PORTHIO", 16, 0xFFC01700);
-		d("PORTHIO_BOTH", 16, 0xFFC0173C);
-		d("PORTHIO_CLEAR", 16, 0xFFC01704);
-		d("PORTHIO_DIR", 16, 0xFFC01730);
-		d("PORTHIO_EDGE", 16, 0xFFC01738);
-		d("PORTHIO_INEN", 16, 0xFFC01740);
-		d("PORTHIO_MASKA", 16, 0xFFC01710);
-		d("PORTHIO_MASKA_CLEAR", 16, 0xFFC01714);
-		d("PORTHIO_MASKA_SET", 16, 0xFFC01718);
-		d("PORTHIO_MASKA_TOGGLE", 16, 0xFFC0171C);
-		d("PORTHIO_MASKB", 16, 0xFFC01720);
-		d("PORTHIO_MASKB_CLEAR", 16, 0xFFC01724);
-		d("PORTHIO_MASKB_SET", 16, 0xFFC01728);
-		d("PORTHIO_MASKB_TOGGLE", 16, 0xFFC0172C);
-		d("PORTHIO_POLAR", 16, 0xFFC01734);
-		d("PORTHIO_SET", 16, 0xFFC01708);
-		d("PORTHIO_TOGGLE", 16, 0xFFC0170C);
-
-	}	/* BF51x */
-
-#ifdef __ADSPBF52x__
-# define USE_BF52x 1
-#else
-# define USE_BF52x 0
+	/* BF561 glue */
+#ifdef FIO0_FLAG_D
+#define PORTFIO FIO0_FLAG_D
 #endif
-	if (USE_BF52x) {
-
-		parent = debugfs_create_dir("GPIO PIN", top);
-		d("PORTF_FER", 16, 0xFFC03200);
-		d("PORTF_DRIVE", 16, 0xFFC03220);
-		d("PORTF_HYSTERESIS", 16, 0xFFC03240);
-		d("PORTF_MUX", 16, 0xFFC03210);
-		d("PORTF_SLEW", 16, 0xFFC03230);
-		d("PORTG_FER", 16, 0xFFC03204);
-		d("PORTG_DRIVE", 16, 0xFFC03224);
-		d("PORTG_HYSTERESIS", 16, 0xFFC03244);
-		d("PORTG_MUX", 16, 0xFFC03214);
-		d("PORTG_SLEW", 16, 0xFFC03234);
-		d("PORTH_FER", 16, 0xFFC03208);
-		d("PORTH_DRIVE", 16, 0xFFC03228);
-		d("PORTH_HYSTERESIS", 16, 0xFFC03248);
-		d("PORTH_MUX", 16, 0xFFC03218);
-		d("PORTH_SLEW", 16, 0xFFC03238);
-
-		parent = debugfs_create_dir("NON-GPIO", top);
-		d("NONGPIO_DRIVE", 16, 0xFFC03280);
-		d("NONGPIO_HYSTERESIS", 16, 0xFFC03288);
-		d("NONGPIO_SLEW", 16, 0xFFC03284);
-
-		parent = debugfs_create_dir("Port I-O", top);
-		d("PORTFIO", 16, 0xFFC00700);
-		d("PORTFIO_BOTH", 16, 0xFFC0073C);
-		d("PORTFIO_CLEAR", 16, 0xFFC00704);
-		d("PORTFIO_DIR", 16, 0xFFC00730);
-		d("PORTFIO_EDGE", 16, 0xFFC00738);
-		d("PORTFIO_INEN", 16, 0xFFC00740);
-		d("PORTFIO_MASKA", 16, 0xFFC00710);
-		d("PORTFIO_MASKA_CLEAR", 16, 0xFFC00714);
-		d("PORTFIO_MASKA_SET", 16, 0xFFC00718);
-		d("PORTFIO_MASKA_TOGGLE", 16, 0xFFC0071C);
-		d("PORTFIO_MASKB", 16, 0xFFC00720);
-		d("PORTFIO_MASKB_CLEAR", 16, 0xFFC00724);
-		d("PORTFIO_MASKB_SET", 16, 0xFFC00728);
-		d("PORTFIO_MASKB_TOGGLE", 16, 0xFFC0072C);
-		d("PORTFIO_POLAR", 16, 0xFFC00734);
-		d("PORTFIO_SET", 16, 0xFFC00708);
-		d("PORTFIO_TOGGLE", 16, 0xFFC0070C);
-		d("PORTGIO", 16, 0xFFC01500);
-		d("PORTGIO_BOTH", 16, 0xFFC0153C);
-		d("PORTGIO_CLEAR", 16, 0xFFC01504);
-		d("PORTGIO_DIR", 16, 0xFFC01530);
-		d("PORTGIO_EDGE", 16, 0xFFC01538);
-		d("PORTGIO_INEN", 16, 0xFFC01540);
-		d("PORTGIO_MASKA", 16, 0xFFC01510);
-		d("PORTGIO_MASKA_CLEAR", 16, 0xFFC01514);
-		d("PORTGIO_MASKA_SET", 16, 0xFFC01518);
-		d("PORTGIO_MASKA_TOGGLE", 16, 0xFFC0151C);
-		d("PORTGIO_MASKB", 16, 0xFFC01520);
-		d("PORTGIO_MASKB_CLEAR", 16, 0xFFC01524);
-		d("PORTGIO_MASKB_SET", 16, 0xFFC01528);
-		d("PORTGIO_MASKB_TOGGLE", 16, 0xFFC0152C);
-		d("PORTGIO_POLAR", 16, 0xFFC01534);
-		d("PORTGIO_SET", 16, 0xFFC01508);
-		d("PORTGIO_TOGGLE", 16, 0xFFC0150C);
-		d("PORTHIO", 16, 0xFFC01700);
-		d("PORTHIO_BOTH", 16, 0xFFC0173C);
-		d("PORTHIO_CLEAR", 16, 0xFFC01704);
-		d("PORTHIO_DIR", 16, 0xFFC01730);
-		d("PORTHIO_EDGE", 16, 0xFFC01738);
-		d("PORTHIO_INEN", 16, 0xFFC01740);
-		d("PORTHIO_MASKA", 16, 0xFFC01710);
-		d("PORTHIO_MASKA_CLEAR", 16, 0xFFC01714);
-		d("PORTHIO_MASKA_SET", 16, 0xFFC01718);
-		d("PORTHIO_MASKA_TOGGLE", 16, 0xFFC0171C);
-		d("PORTHIO_MASKB", 16, 0xFFC01720);
-		d("PORTHIO_MASKB_CLEAR", 16, 0xFFC01724);
-		d("PORTHIO_MASKB_SET", 16, 0xFFC01728);
-		d("PORTHIO_MASKB_TOGGLE", 16, 0xFFC0172C);
-		d("PORTHIO_POLAR", 16, 0xFFC01734);
-		d("PORTHIO_SET", 16, 0xFFC01708);
-		d("PORTHIO_TOGGLE", 16, 0xFFC0170C);
-
-	}	/* BF52x */
-
-#ifdef __ADSPBF531__
-# define USE_BF531 1
-#else
-# define USE_BF531 0
+#ifdef FIO1_FLAG_D
+#define PORTGIO FIO1_FLAG_D
 #endif
-#ifdef __ADSPBF532__
-# define USE_BF532 1
-#else
-# define USE_BF532 0
+#ifdef FIO2_FLAG_D
+#define PORTHIO FIO2_FLAG_D
 #endif
-#ifdef __ADSPBF533__
-# define USE_BF533 1
-#else
-# define USE_BF533 0
+	parent = debugfs_create_dir("port", top);
+#ifdef PORTFIO
+	PORT(PORTFIO, 'F');
 #endif
-	if (USE_BF531 || USE_BF532 || USE_BF533) {
+#ifdef PORTGIO
+	PORT(PORTGIO, 'G');
+#endif
+#ifdef PORTHIO
+	PORT(PORTHIO, 'H');
+#endif
 
-		parent = debugfs_create_dir("Extended Registers", top);
-		d("FIO_BOTH", 16, 0xFFC0073C);
-		d("FIO_DIR", 16, 0xFFC00730);
-		d("FIO_EDGE", 16, 0xFFC00738);
-		d("FIO_FLAG_C", 16, 0xFFC00704);
-		d("FIO_FLAG_D", 16, 0xFFC00700);
-		d("FIO_FLAG_S", 16, 0xFFC00708);
-		d("FIO_FLAG_T", 16, 0xFFC0070C);
-		d("FIO_INEN", 16, 0xFFC00740);
-		d("FIO_MASKA_C", 16, 0xFFC00714);
-		d("FIO_MASKA_D", 16, 0xFFC00710);
-		d("FIO_MASKA_S", 16, 0xFFC00718);
-		d("FIO_MASKA_T", 16, 0xFFC0071C);
-		d("FIO_MASKB_C", 16, 0xFFC00724);
-		d("FIO_MASKB_D", 16, 0xFFC00720);
-		d("FIO_MASKB_S", 16, 0xFFC00728);
-		d("FIO_MASKB_T", 16, 0xFFC0072C);
-		d("FIO_POLAR", 16, 0xFFC00734);
+#ifdef __ADSPBF51x__
+	D16(PORTF_FER);
+	D16(PORTF_DRIVE);
+	D16(PORTF_HYSTERESIS);
+	D16(PORTF_MUX);
 
-	}	/* BF531 BF532 BF533 */
+	D16(PORTG_FER);
+	D16(PORTG_DRIVE);
+	D16(PORTG_HYSTERESIS);
+	D16(PORTG_MUX);
 
-#ifdef __ADSPBF534__
-# define USE_BF534 1
-#else
-# define USE_BF534 0
-#endif
-#ifdef __ADSPBF536__
-# define USE_BF536 1
-#else
-# define USE_BF536 0
-#endif
-#ifdef __ADSPBF537__
-# define USE_BF537 1
-#else
-# define USE_BF537 0
-#endif
-	if (USE_BF534 || USE_BF536 || USE_BF537) {
+	D16(PORTH_FER);
+	D16(PORTH_DRIVE);
+	D16(PORTH_HYSTERESIS);
+	D16(PORTH_MUX);
 
-		parent = debugfs_create_dir("Pin Control", top);
-		d("PORTF_FER", 16, 0xFFC03200);
-		d("PORTG_FER", 16, 0xFFC03204);
-		d("PORTH_FER", 16, 0xFFC03208);
-		d("PORT_MUX", 16, 0xFFC0320C);
+	D16(MISCPORT_DRIVE);
+	D16(MISCPORT_HYSTERESIS);
+#endif	/* BF51x */
 
-		parent = debugfs_create_dir("Port I-O", top);
-		d("PORTFIO", 16, 0xFFC00700);
-		d("PORTFIO_BOTH", 16, 0xFFC0073C);
-		d("PORTFIO_CLEAR", 16, 0xFFC00704);
-		d("PORTFIO_DIR", 16, 0xFFC00730);
-		d("PORTFIO_EDGE", 16, 0xFFC00738);
-		d("PORTFIO_INEN", 16, 0xFFC00740);
-		d("PORTFIO_MASKA", 16, 0xFFC00710);
-		d("PORTFIO_MASKA_CLEAR", 16, 0xFFC00714);
-		d("PORTFIO_MASKA_SET", 16, 0xFFC00718);
-		d("PORTFIO_MASKA_TOGGLE", 16, 0xFFC0071C);
-		d("PORTFIO_MASKB", 16, 0xFFC00720);
-		d("PORTFIO_MASKB_CLEAR", 16, 0xFFC00724);
-		d("PORTFIO_MASKB_SET", 16, 0xFFC00728);
-		d("PORTFIO_MASKB_TOGGLE", 16, 0xFFC0072C);
-		d("PORTFIO_POLAR", 16, 0xFFC00734);
-		d("PORTFIO_SET", 16, 0xFFC00708);
-		d("PORTFIO_TOGGLE", 16, 0xFFC0070C);
-		d("PORTGIO", 16, 0xFFC01500);
-		d("PORTGIO_BOTH", 16, 0xFFC0153C);
-		d("PORTGIO_CLEAR", 16, 0xFFC01504);
-		d("PORTGIO_DIR", 16, 0xFFC01530);
-		d("PORTGIO_EDGE", 16, 0xFFC01538);
-		d("PORTGIO_INEN", 16, 0xFFC01540);
-		d("PORTGIO_MASKA", 16, 0xFFC01510);
-		d("PORTGIO_MASKA_CLEAR", 16, 0xFFC01514);
-		d("PORTGIO_MASKA_SET", 16, 0xFFC01518);
-		d("PORTGIO_MASKA_TOGGLE", 16, 0xFFC0151C);
-		d("PORTGIO_MASKB", 16, 0xFFC01520);
-		d("PORTGIO_MASKB_CLEAR", 16, 0xFFC01524);
-		d("PORTGIO_MASKB_SET", 16, 0xFFC01528);
-		d("PORTGIO_MASKB_TOGGLE", 16, 0xFFC0152C);
-		d("PORTGIO_POLAR", 16, 0xFFC01534);
-		d("PORTGIO_SET", 16, 0xFFC01508);
-		d("PORTGIO_TOGGLE", 16, 0xFFC0150C);
-		d("PORTHIO", 16, 0xFFC01700);
-		d("PORTHIO_BOTH", 16, 0xFFC0173C);
-		d("PORTHIO_CLEAR", 16, 0xFFC01704);
-		d("PORTHIO_DIR", 16, 0xFFC01730);
-		d("PORTHIO_EDGE", 16, 0xFFC01738);
-		d("PORTHIO_INEN", 16, 0xFFC01740);
-		d("PORTHIO_MASKA", 16, 0xFFC01710);
-		d("PORTHIO_MASKA_CLEAR", 16, 0xFFC01714);
-		d("PORTHIO_MASKA_SET", 16, 0xFFC01718);
-		d("PORTHIO_MASKA_TOGGLE", 16, 0xFFC0171C);
-		d("PORTHIO_MASKB", 16, 0xFFC01720);
-		d("PORTHIO_MASKB_CLEAR", 16, 0xFFC01724);
-		d("PORTHIO_MASKB_SET", 16, 0xFFC01728);
-		d("PORTHIO_MASKB_TOGGLE", 16, 0xFFC0172C);
-		d("PORTHIO_POLAR", 16, 0xFFC01734);
-		d("PORTHIO_SET", 16, 0xFFC01708);
-		d("PORTHIO_TOGGLE", 16, 0xFFC0170C);
+#ifdef __ADSPBF52x__
+	D16(PORTF_FER);
+	D16(PORTF_DRIVE);
+	D16(PORTF_HYSTERESIS);
+	D16(PORTF_MUX);
+	D16(PORTF_SLEW);
 
-	}	/* BF534 BF536 BF537 */
+	D16(PORTG_FER);
+	D16(PORTG_DRIVE);
+	D16(PORTG_HYSTERESIS);
+	D16(PORTG_MUX);
+	D16(PORTG_SLEW);
 
-#ifdef __ADSPBF538__
-# define USE_BF538 1
-#else
-# define USE_BF538 0
-#endif
-#ifdef __ADSPBF539__
-# define USE_BF539 1
-#else
-# define USE_BF539 0
-#endif
-	if (USE_BF538 || USE_BF539) {
+	D16(PORTH_FER);
+	D16(PORTH_DRIVE);
+	D16(PORTH_HYSTERESIS);
+	D16(PORTH_MUX);
+	D16(PORTH_SLEW);
 
-		parent = debugfs_create_dir("GPIO Port C", top);
-		d("PORTCIO_FER", 16, 0xFFC01500);
-		d("PORTCIO", 16, 0xFFC01510);
-		d("PORTCIO_CLEAR", 16, 0xFFC01520);
-		d("PORTCIO_SET", 16, 0xFFC01530);
-		d("PORTCIO_TOGGLE", 16, 0xFFC01540);
-		d("PORTCIO_DIR", 16, 0xFFC01550);
-		d("PORTCIO_INEN", 16, 0xFFC01560);
+	D16(MISCPORT_DRIVE);
+	D16(MISCPORT_HYSTERESIS);
+	D16(MISCPORT_SLEW);
+#endif	/* BF52x */
 
-		parent = debugfs_create_dir("GPIO Port D", top);
-		d("PORTDIO", 16, 0xFFC01514);
-		d("PORTDIO_CLEAR", 16, 0xFFC01524);
-		d("PORTDIO_DIR", 16, 0xFFC01554);
-		d("PORTDIO_FER", 16, 0xFFC01504);
-		d("PORTDIO_INEN", 16, 0xFFC01564);
-		d("PORTDIO_SET", 16, 0xFFC01534);
-		d("PORTDIO_TOGGLE", 16, 0xFFC01544);
+#ifdef BF537_FAMILY
+	D16(PORTF_FER);
+	D16(PORTG_FER);
+	D16(PORTH_FER);
+	D16(PORT_MUX);
+#endif	/* BF534 BF536 BF537 */
 
-		parent = debugfs_create_dir("GPIO Port E", top);
-		d("PORTEIO", 16, 0xFFC01518);
-		d("PORTEIO_CLEAR", 16, 0xFFC01528);
-		d("PORTEIO_DIR", 16, 0xFFC01558);
-		d("PORTEIO_FER", 16, 0xFFC01508);
-		d("PORTEIO_INEN", 16, 0xFFC01568);
-		d("PORTEIO_SET", 16, 0xFFC01538);
-		d("PORTEIO_TOGGLE", 16, 0xFFC01548);
+#ifdef BF538_FAMILY
+	D16(PORTCIO_FER);
+	D16(PORTCIO);
+	D16(PORTCIO_CLEAR);
+	D16(PORTCIO_SET);
+	D16(PORTCIO_TOGGLE);
+	D16(PORTCIO_DIR);
+	D16(PORTCIO_INEN);
 
-		parent = debugfs_create_dir("GPIO Port F", top);
-		d("PORTFIO", 16, 0xFFC00700);
-		d("PORTFIO_BOTH", 16, 0xFFC0073C);
-		d("PORTFIO_CLEAR", 16, 0xFFC00704);
-		d("PORTFIO_DIR", 16, 0xFFC00730);
-		d("PORTFIO_EDGE", 16, 0xFFC00738);
-		d("PORTFIO_INEN", 16, 0xFFC00740);
-		d("PORTFIO_MASKA", 16, 0xFFC00710);
-		d("PORTFIO_MASKA_CLEAR", 16, 0xFFC00714);
-		d("PORTFIO_MASKA_SET", 16, 0xFFC00718);
-		d("PORTFIO_MASKA_TOGGLE", 16, 0xFFC0071C);
-		d("PORTFIO_MASKB", 16, 0xFFC00720);
-		d("PORTFIO_MASKB_CLEAR", 16, 0xFFC00724);
-		d("PORTFIO_MASKB_SET", 16, 0xFFC00728);
-		d("PORTFIO_MASKB_TOGGLE", 16, 0xFFC0072C);
-		d("PORTFIO_POLAR", 16, 0xFFC00734);
-		d("PORTFIO_SET", 16, 0xFFC00708);
-		d("PORTFIO_TOGGLE", 16, 0xFFC0070C);
+	D16(PORTDIO);
+	D16(PORTDIO_CLEAR);
+	D16(PORTDIO_DIR);
+	D16(PORTDIO_FER);
+	D16(PORTDIO_INEN);
+	D16(PORTDIO_SET);
+	D16(PORTDIO_TOGGLE);
 
-	}	/* BF538 BF539 */
+	D16(PORTEIO);
+	D16(PORTEIO_CLEAR);
+	D16(PORTEIO_DIR);
+	D16(PORTEIO_FER);
+	D16(PORTEIO_INEN);
+	D16(PORTEIO_SET);
+	D16(PORTEIO_TOGGLE);
+#endif	/* BF538 BF539 */
 
 #ifdef __ADSPBF54x__
-# define USE_BF54x 1
-#else
-# define USE_BF54x 0
-#endif
-
-#ifdef __ADSPBF54x__
 	{
 		int num;
 		unsigned long base;
 		char *_buf, buf[32];
 
+		base = PORTA_FER;
+		for (num = 0; num < 10; ++num) {
+			PORT(base, num);
+			base += sizeof(struct bfin_gpio_regs);
+		}
+
 #define __PINT(uname, lname) __REGS(pint, #uname, lname)
 		parent = debugfs_create_dir("pint", top);
 		base = PINT0_MASK_SET;
@@ -2032,93 +1842,9 @@
 			base += sizeof(struct bfin_pint_regs);
 		}
 
-#define bfin_gpio_regs gpio_port_t
-#define __PORT(uname, lname) __REGS(gpio, #uname, lname)
-		parent = debugfs_create_dir("port", top);
-		base = PORTA_FER;
-		for (num = 0; num < 10; ++num) {
-			_buf = REGS_STR_PFX_C(buf, PORT, num);
-			__PORT(FER, port_fer);
-			__PORT(SET, data_set);
-			__PORT(CLEAR, data_clear);
-			__PORT(DIR_SET, dir_set);
-			__PORT(DIR_CLEAR, dir_clear);
-			__PORT(INEN, inen);
-			__PORT(MUX, port_mux);
-			_buf[-1] = '\0';
-			d(buf, 16, base + REGS_OFF(gpio, data));
-			base += sizeof(struct bfin_gpio_regs);
-		}
-
 	}
 #endif	/* BF54x */
 
-#ifdef __ADSPBF561__
-# define USE_BF561 1
-#else
-# define USE_BF561 0
-#endif
-	if (USE_BF561) {
-
-		parent = debugfs_create_dir("Flag 0", top);
-		d("FIO0_BOTH", 16, 0xFFC0073C);
-		d("FIO0_DIR", 16, 0xFFC00730);
-		d("FIO0_EDGE", 16, 0xFFC00738);
-		d("FIO0_FLAG_C", 16, 0xFFC00704);
-		d("FIO0_FLAG_D", 16, 0xFFC00700);
-		d("FIO0_FLAG_S", 16, 0xFFC00708);
-		d("FIO0_FLAG_T", 16, 0xFFC0070C);
-		d("FIO0_INEN", 16, 0xFFC00740);
-		d("FIO0_MASKA_C", 16, 0xFFC00714);
-		d("FIO0_MASKA_D", 16, 0xFFC00710);
-		d("FIO0_MASKA_S", 16, 0xFFC00718);
-		d("FIO0_MASKA_T", 16, 0xFFC0071C);
-		d("FIO0_MASKB_C", 16, 0xFFC00724);
-		d("FIO0_MASKB_D", 16, 0xFFC00720);
-		d("FIO0_MASKB_S", 16, 0xFFC00728);
-		d("FIO0_MASKB_T", 16, 0xFFC0072C);
-		d("FIO0_POLAR", 16, 0xFFC00734);
-
-		parent = debugfs_create_dir("Flag 1", top);
-		d("FIO1_BOTH", 16, 0xFFC0153C);
-		d("FIO1_DIR", 16, 0xFFC01530);
-		d("FIO1_EDGE", 16, 0xFFC01538);
-		d("FIO1_FLAG_C", 16, 0xFFC01504);
-		d("FIO1_FLAG_D", 16, 0xFFC01500);
-		d("FIO1_FLAG_S", 16, 0xFFC01508);
-		d("FIO1_FLAG_T", 16, 0xFFC0150C);
-		d("FIO1_INEN", 16, 0xFFC01540);
-		d("FIO1_MASKA_C", 16, 0xFFC01514);
-		d("FIO1_MASKA_D", 16, 0xFFC01510);
-		d("FIO1_MASKA_S", 16, 0xFFC01518);
-		d("FIO1_MASKA_T", 16, 0xFFC0151C);
-		d("FIO1_MASKB_C", 16, 0xFFC01524);
-		d("FIO1_MASKB_D", 16, 0xFFC01520);
-		d("FIO1_MASKB_S", 16, 0xFFC01528);
-		d("FIO1_MASKB_T", 16, 0xFFC0152C);
-		d("FIO1_POLAR", 16, 0xFFC01534);
-
-		parent = debugfs_create_dir("Flag 2", top);
-		d("FIO2_BOTH", 16, 0xFFC0173C);
-		d("FIO2_DIR", 16, 0xFFC01730);
-		d("FIO2_EDGE", 16, 0xFFC01738);
-		d("FIO2_FLAG_C", 16, 0xFFC01704);
-		d("FIO2_FLAG_D", 16, 0xFFC01700);
-		d("FIO2_FLAG_S", 16, 0xFFC01708);
-		d("FIO2_FLAG_T", 16, 0xFFC0170C);
-		d("FIO2_INEN", 16, 0xFFC01740);
-		d("FIO2_MASKA_C", 16, 0xFFC01714);
-		d("FIO2_MASKA_D", 16, 0xFFC01710);
-		d("FIO2_MASKA_S", 16, 0xFFC01718);
-		d("FIO2_MASKA_T", 16, 0xFFC0171C);
-		d("FIO2_MASKB_C", 16, 0xFFC01724);
-		d("FIO2_MASKB_D", 16, 0xFFC01720);
-		d("FIO2_MASKB_S", 16, 0xFFC01728);
-		d("FIO2_MASKB_T", 16, 0xFFC0172C);
-		d("FIO2_POLAR", 16, 0xFFC01734);
-
-	}	/* BF561 */
-
 	debug_mmrs_dentry = top;
 
 	return 0;
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to