summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schaeffer <daniel.schaeffer@timesys.com>2009-10-08 13:40:25 -0400
committerDaniel Schaeffer <daniel.schaeffer@timesys.com>2009-10-08 13:40:25 -0400
commitd6c4a1316776a28ae4804217de6e767d53bc2f76 (patch)
tree098b892888a65687815629b270c29b09d9b6f8be
parent42b8da62f868065df510286b33751df6e879d210 (diff)
This patch originally from LogicPD OMAP35x Release 1.6.1 Original Patch Name: u-boot-2009.03-lv-som-14-dump-pinmux.patch
-rw-r--r--board/omap3/lv_som/lv_som.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/board/omap3/lv_som/lv_som.c b/board/omap3/lv_som/lv_som.c
index 4118a18218..479f1eaada 100644
--- a/board/omap3/lv_som/lv_som.c
+++ b/board/omap3/lv_som/lv_som.c
@@ -578,3 +578,42 @@ U_BOOT_CMD(
"dump_cs - display OMAP Chip Select registers\n",
"\n - display active OMAP Chip Select registers\n"
);
+
+int do_dump_mux (cmd_tbl_t *cmdtp, int flah, int argc, char *argv[])
+{
+ int i;
+ int reg_lo, reg_hi;
+ u16 regval;
+ u32 reg;
+ struct {
+ int lo, hi;
+ } mux_ranges[] = {
+ {0x30, 0x21e},
+ {0x5d8, 0x5fa},
+ };
+
+ for (i=0; i<ARRAY_SIZE(mux_ranges); ++i) {
+ reg_lo = mux_ranges[i].lo;
+ reg_hi = mux_ranges[i].hi;
+ for (reg=reg_lo; reg<=reg_hi; reg+=2) {
+ regval = readw(OMAP34XX_CTRL_BASE + reg);
+ /* If not disabled (mode 7) dump it */
+ if ((regval & M7) != M7)
+ printf("%03x = %04x (%s | %s | %s M%d)\n",
+ reg, regval,
+ ((regval & IEN) ? "IEN " : "IDIS"),
+ ((regval & PTU) ? "PTU" : "PTD"),
+ ((regval & EN) ? "EN " : "DIS"),
+ (regval & M7));
+ }
+
+ }
+
+ return 0;
+}
+
+U_BOOT_CMD(
+ dump_mux, 1, 1, do_dump_mux,
+ "dump_mux - display OMAP Pin MUX registers",
+ "\n - display active OMAP Pin MUX registers\n"
+);