[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1380971830-21492-5-git-send-email-afenkart@gmail.com>
Date: Sat, 5 Oct 2013 13:17:10 +0200
From: Andreas Fenkart <afenkart@...il.com>
To: Chris Ball <cjb@...top.org>
Cc: Tony Lindgren <tony@...mide.com>,
Grant Likely <grant.likely@...retlab.ca>,
Felipe Balbi <balbi@...com>, Venkatraman S <svenkatr@...com>,
Balaji T K <balajitk@...com>, zonque@...il.com,
devicetree-discuss@...ts.ozlabs.org, devicetree@...r.kernel.org,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-mmc@...r.kernel.org,
linux-omap@...r.kernel.org, Andreas Fenkart <afenkart@...il.com>
Subject: [PATCH v3 4/4] mmc: omap_hsmmc: debugfs entries for SDIO IRQ detection and GPIO remuxing.
Update the debugfs related code for the SDIO IRQ support.
Note that PSTATE shows current state of data lines, incl.
SDIO IRQ pending
Signed-off-by: Andreas Fenkart <afenkart@...il.com>
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index a8894ee..f7fe06f 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -81,6 +81,7 @@ static void apply_clk_hack(struct device *dev)
#define OMAP_HSMMC_RSP54 0x0118
#define OMAP_HSMMC_RSP76 0x011C
#define OMAP_HSMMC_DATA 0x0120
+#define OMAP_HSMMC_PSTATE 0x0124
#define OMAP_HSMMC_HCTL 0x0128
#define OMAP_HSMMC_SYSCTL 0x012C
#define OMAP_HSMMC_STAT 0x0130
@@ -1812,6 +1813,22 @@ static int omap_hsmmc_regs_show(struct seq_file *s, void *data)
{
struct mmc_host *mmc = s->private;
struct omap_hsmmc_host *host = mmc_priv(mmc);
+ unsigned long flags;
+
+ spin_lock_irqsave(&host->irq_lock, flags);
+ seq_puts(s, "\n");
+ seq_printf(s, "sdio irq\t%s\n", ((host->flags & HSMMC_SDIO_IRQ_ENABLED)
+ ? "enabled" : "disabled"));
+ if (host->flags & HSMMC_SWAKEUP_QUIRK) {
+ seq_printf(s, "pinmux config\t%s\n", ((host->flags &
+ HSMMC_RUNTIME_SUSPENDED)
+ ? "gpio" : "sdio"));
+ if (host->flags & HSMMC_RUNTIME_SUSPENDED)
+ seq_printf(s, "sdio irq pin\t%s\n",
+ gpio_get_value(mmc_slot(host).gpio_cirq) ?
+ "high" : "low");
+ }
+ spin_unlock_irqrestore(&host->irq_lock, flags);
if (host->suspended) {
seq_printf(s, "host suspended, can't read registers\n");
@@ -1819,9 +1836,11 @@ static int omap_hsmmc_regs_show(struct seq_file *s, void *data)
}
pm_runtime_get_sync(host->dev);
-
+ seq_puts(s, "\nregs:\n");
seq_printf(s, "CON:\t\t0x%08x\n",
OMAP_HSMMC_READ(host->base, CON));
+ seq_printf(s, "PSTATE:\t\t0x%08x\n",
+ OMAP_HSMMC_READ(host->base, PSTATE));
seq_printf(s, "HCTL:\t\t0x%08x\n",
OMAP_HSMMC_READ(host->base, HCTL));
seq_printf(s, "SYSCTL:\t\t0x%08x\n",
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists