aboutsummaryrefslogtreecommitdiff
path: root/board/ti/panda/panda.c
diff options
context:
space:
mode:
authorSteve Sakoman2010-07-15 13:43:10 -0700
committerSandeep Paulraj2010-08-05 10:11:14 -0400
commit2ad853c3485e08612bb7725ba50d35b679978ebc (patch)
tree98fed499c3fb97e11919765af05a3742e8928ed6 /board/ti/panda/panda.c
parent9efac4a1eb99d9c5539aa6992025eeacab7980c6 (diff)
ARMV7: Add pad mux support for OMAP4
Add functional multiplexing support for OMAP4 pads. Configure all the pads for the OMAP4430 SDP and OMAP4 Panda boards Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Aneesh V <aneesh@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Diffstat (limited to 'board/ti/panda/panda.c')
-rw-r--r--board/ti/panda/panda.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c
index 917bbec5ec1..1b8153ba825 100644
--- a/board/ti/panda/panda.c
+++ b/board/ti/panda/panda.c
@@ -24,6 +24,8 @@
#include <common.h>
#include <asm/arch/sys_proto.h>
+#include "panda.h"
+
DECLARE_GLOBAL_DATA_PTR;
const struct omap_sysinfo sysinfo = {
@@ -61,3 +63,27 @@ int misc_init_r(void)
{
return 0;
}
+
+void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
+{
+ int i;
+ struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
+
+ for (i = 0; i < size; i++, pad++)
+ writew(pad->val, base + pad->offset);
+}
+
+/**
+ * @brief set_muxconf_regs Setting up the configuration Mux registers
+ * specific to the board.
+ */
+void set_muxconf_regs(void)
+{
+ do_set_mux(CONTROL_PADCONF_CORE, core_padconf_array,
+ sizeof(core_padconf_array) /
+ sizeof(struct pad_conf_entry));
+
+ do_set_mux(CONTROL_PADCONF_WKUP, wkup_padconf_array,
+ sizeof(wkup_padconf_array) /
+ sizeof(struct pad_conf_entry));
+}