aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLei Wen <[leiwen@marvell.com]>2011-02-09 18:06:58 +0530
committerAlbert Aribaud <albert.aribaud@free.fr>2011-02-21 08:30:55 +0100
commita03774ed88dd43acb57979d3439c2f5951379b6b (patch)
tree13361d41f8683a33d4e89acba95b59051bf2b7d4
parentb5d807f64d25d7d2859cc8e9f9d0e7242778eb46 (diff)
mvmfp: add MFP configuration support for PANTHEON
This patch adds the Multiple Function Pin configuration support for Marvell PANTHEON SoCs Signed-off-by: Lei Wen <leiwen@marvell.com>
-rw-r--r--arch/arm/include/asm/arch-pantheon/mfp.h41
-rw-r--r--drivers/gpio/mvmfp.c2
2 files changed, 43 insertions, 0 deletions
diff --git a/arch/arm/include/asm/arch-pantheon/mfp.h b/arch/arm/include/asm/arch-pantheon/mfp.h
new file mode 100644
index 000000000..fb291cf55
--- /dev/null
+++ b/arch/arm/include/asm/arch-pantheon/mfp.h
@@ -0,0 +1,41 @@
+/*
+ * Based on arch/arm/include/asm/arch-armada100/mfp.h
+ * (C) Copyright 2011
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Lei Wen <leiwen@marvell.com>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+#ifndef __PANTHEON_MFP_H
+#define __PANTHEON_MFP_H
+
+/*
+ * Frequently used MFP Configuration macros for all PANTHEON family of SoCs
+ *
+ * offset, pull,pF, drv,dF, edge,eF ,afn,aF
+ */
+/* UART2 */
+#define MFP47_UART2_RXD MFP_REG(0x198) | MFP_AF6 | MFP_DRIVE_MEDIUM
+#define MFP48_UART2_TXD MFP_REG(0x19c) | MFP_AF6 | MFP_DRIVE_MEDIUM
+
+/* More macros can be defined here... */
+
+#define MFP_PIN_MAX 117
+#endif
diff --git a/drivers/gpio/mvmfp.c b/drivers/gpio/mvmfp.c
index 5646ed437..e7830c690 100644
--- a/drivers/gpio/mvmfp.c
+++ b/drivers/gpio/mvmfp.c
@@ -28,6 +28,8 @@
#include <asm/arch/mfp.h>
#ifdef CONFIG_ARMADA100
#include <asm/arch/armada100.h>
+#elif defined(CONFIG_PANTHEON)
+#include <asm/arch/pantheon.h>
#else
#error Unsupported SoC...
#endif