summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Langlais <philippe.langlais@linaro.org>2011-05-11 14:24:12 +0200
committerHenrik Aberg <henrik.aberg@stericsson.com>2011-05-18 09:40:15 +0200
commitfbf8e9fd10ae3bbedf588910dadb4a55a7e0bfff (patch)
tree4f01b11c8c1056afb26d6c938ce416b573dff6ea
parent33e374b8e696c6d465a8243838f5ff0aca54ec4b (diff)
u5500: move pins to separate file
As on 8500. ST-Ericsson Linux next: - ST-Ericsson ID: WP257121 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I0dd20c6b99559fa4690d2d353553a6ebce7fdb90 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/22357 Tested-by: Rabin VINCENT <rabin.vincent@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Conflicts: arch/arm/mach-ux500/Makefile
-rw-r--r--arch/arm/mach-ux500/Makefile3
-rw-r--r--arch/arm/mach-ux500/board-u5500-pins.c104
-rw-r--r--arch/arm/mach-ux500/board-u5500.c93
-rw-r--r--arch/arm/mach-ux500/board-u5500.h2
4 files changed, 109 insertions, 93 deletions
diff --git a/arch/arm/mach-ux500/Makefile b/arch/arm/mach-ux500/Makefile
index 0ca0cfa6212..caa0eade71d 100644
--- a/arch/arm/mach-ux500/Makefile
+++ b/arch/arm/mach-ux500/Makefile
@@ -19,7 +19,8 @@ obj-$(CONFIG_MACH_U8500) += board-mop500.o board-mop500-sdi.o \
board-mop500-mcde.o \
board-mop500-msp.o board-mop500-bm.o
obj-$(CONFIG_MACH_U5500) += board-u5500.o board-u5500-sdi.o \
- board-u5500-mcde.o board-u5500-regulators.o
+ board-u5500-mcde.o board-u5500-regulators.o \
+ board-u5500-pins.o
obj-$(CONFIG_SMP) += platsmp.o headsmp.o
obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
obj-$(CONFIG_LOCAL_TIMERS) += localtimer.o
diff --git a/arch/arm/mach-ux500/board-u5500-pins.c b/arch/arm/mach-ux500/board-u5500-pins.c
new file mode 100644
index 00000000000..2167c48ca74
--- /dev/null
+++ b/arch/arm/mach-ux500/board-u5500-pins.c
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) ST-Ericsson SA 2011
+ *
+ * License terms: GNU General Public License (GPL) version 2
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/gpio.h>
+#include <plat/pincfg.h>
+#include <plat/gpio.h>
+
+#include "pins-db5500.h"
+#include "pins.h"
+
+static pin_cfg_t u5500_pins_default[] = {
+ /* I2C */
+ GPIO3_I2C1_SCL | PIN_INPUT_PULLUP,
+ GPIO4_I2C1_SDA | PIN_INPUT_PULLUP,
+ GPIO218_I2C2_SCL | PIN_INPUT_PULLUP,
+ GPIO219_I2C2_SDA | PIN_INPUT_PULLUP,
+
+ /* Keypad */
+ GPIO128_KP_I0 | PIN_INPUT_PULLUP,
+ GPIO130_KP_I1 | PIN_INPUT_PULLUP,
+ GPIO132_KP_I2 | PIN_INPUT_PULLUP,
+ GPIO134_KP_I3 | PIN_INPUT_PULLUP,
+ GPIO137_KP_O4 | PIN_INPUT_PULLUP,
+ GPIO139_KP_O5 | PIN_INPUT_PULLUP,
+
+ /* MSP */
+ GPIO32_MSP0_TCK | PIN_INPUT_PULLDOWN,
+ GPIO33_MSP0_TFS | PIN_INPUT_PULLDOWN,
+ GPIO34_MSP0_TXD | PIN_INPUT_PULLDOWN,
+ GPIO35_MSP0_RXD | PIN_INPUT_PULLDOWN,
+ GPIO96_MSP1_TCK | PIN_INPUT_PULLDOWN,
+ GPIO97_MSP1_TFS | PIN_INPUT_PULLDOWN,
+ GPIO98_MSP1_TXD | PIN_INPUT_PULLDOWN,
+ GPIO99_MSP1_RXD | PIN_INPUT_PULLDOWN,
+ GPIO220_MSP2_TCK | PIN_OUTPUT_LOW,
+ GPIO221_MSP2_TFS | PIN_OUTPUT_LOW,
+ GPIO222_MSP2_TXD | PIN_OUTPUT_LOW,
+
+ /* DISPLAY_ENABLE */
+ GPIO226_GPIO | PIN_OUTPUT_LOW,
+
+ /* Backlight Enable */
+ GPIO224_GPIO | PIN_OUTPUT_HIGH,
+
+ /* MMC0 (POP eMMC) */
+ GPIO5_MC0_DAT0 | PIN_INPUT_PULLUP,
+ GPIO6_MC0_DAT1 | PIN_INPUT_PULLUP,
+ GPIO7_MC0_DAT2 | PIN_INPUT_PULLUP,
+ GPIO8_MC0_DAT3 | PIN_INPUT_PULLUP,
+ GPIO9_MC0_DAT4 | PIN_INPUT_PULLUP,
+ GPIO10_MC0_DAT5 | PIN_INPUT_PULLUP,
+ GPIO11_MC0_DAT6 | PIN_INPUT_PULLUP,
+ GPIO12_MC0_DAT7 | PIN_INPUT_PULLUP,
+ GPIO13_MC0_CMD | PIN_INPUT_PULLUP,
+ GPIO14_MC0_CLK | PIN_OUTPUT_LOW,
+
+ /* SPI */
+ GPIO167_SPI1_CS0n | PIN_OUTPUT_HIGH,
+ GPIO168_SPI1_RXD | PIN_INPUT_PULLDOWN,
+ GPIO169_SPI1_TXD | PIN_OUTPUT_LOW,
+ GPIO170_SPI1_CLK | PIN_OUTPUT_LOW,
+
+ /* AB5500 */
+ GPIO78_IRQn,
+
+ /* TOUCH_IRQ */
+ GPIO179_GPIO | PIN_INPUT_PULLUP,
+
+ /* SDI1 (SD-CARD) */
+ GPIO191_MC1_DAT0 | PIN_INPUT_PULLUP,
+ GPIO192_MC1_DAT1 | PIN_INPUT_PULLUP,
+ GPIO193_MC1_DAT2 | PIN_INPUT_PULLUP,
+ GPIO194_MC1_DAT3 | PIN_INPUT_PULLUP,
+ GPIO195_MC1_CLK | PIN_OUTPUT_LOW,
+ GPIO196_MC1_CMD | PIN_INPUT_PULLUP,
+ GPIO197_MC1_CMDDIR | PIN_OUTPUT_HIGH,
+ GPIO198_MC1_FBCLK | PIN_INPUT_NOPULL,
+ GPIO199_MC1_DAT0DIR | PIN_OUTPUT_HIGH,
+ /* SD-CARD detect/levelshifter pins */
+ GPIO180_GPIO | PIN_INPUT_PULLUP,
+ GPIO227_GPIO,
+ GPIO185_GPIO,
+
+ /* SDI3 (SDIO) */
+ GPIO171_MC3_DAT0 | PIN_INPUT_PULLUP,
+ GPIO172_MC3_DAT1 | PIN_INPUT_PULLUP,
+ GPIO173_MC3_DAT2 | PIN_INPUT_PULLUP,
+ GPIO174_MC3_DAT3 | PIN_INPUT_PULLUP,
+ GPIO175_MC3_CMD | PIN_INPUT_PULLUP,
+ GPIO176_MC3_CLK | PIN_OUTPUT_LOW,
+
+ /* Display & HDMI HW sync */
+ GPIO204_LCD_VSI1 | PIN_INPUT_PULLUP,
+};
+
+void __init u5500_pins_init(void)
+{
+ nmk_config_pins(u5500_pins_default, ARRAY_SIZE(u5500_pins_default));
+}
diff --git a/arch/arm/mach-ux500/board-u5500.c b/arch/arm/mach-ux500/board-u5500.c
index 2b86760898e..b9f5fb4468f 100644
--- a/arch/arm/mach-ux500/board-u5500.c
+++ b/arch/arm/mach-ux500/board-u5500.c
@@ -1,7 +1,6 @@
/*
* Copyright (C) ST-Ericsson SA 2010
*
- * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
* License terms: GNU General Public License (GPL) version 2
*/
@@ -40,95 +39,6 @@
#include "board-u5500.h"
/*
- * GPIO
- */
-
-static pin_cfg_t u5500_pins[] = {
- /* I2C */
- GPIO3_I2C1_SCL | PIN_INPUT_PULLUP,
- GPIO4_I2C1_SDA | PIN_INPUT_PULLUP,
- GPIO218_I2C2_SCL | PIN_INPUT_PULLUP,
- GPIO219_I2C2_SDA | PIN_INPUT_PULLUP,
-
- /* Keypad */
- GPIO128_KP_I0 | PIN_INPUT_PULLUP,
- GPIO130_KP_I1 | PIN_INPUT_PULLUP,
- GPIO132_KP_I2 | PIN_INPUT_PULLUP,
- GPIO134_KP_I3 | PIN_INPUT_PULLUP,
- GPIO137_KP_O4 | PIN_INPUT_PULLUP,
- GPIO139_KP_O5 | PIN_INPUT_PULLUP,
-
- /* MSP */
- GPIO32_MSP0_TCK | PIN_INPUT_PULLDOWN,
- GPIO33_MSP0_TFS | PIN_INPUT_PULLDOWN,
- GPIO34_MSP0_TXD | PIN_INPUT_PULLDOWN,
- GPIO35_MSP0_RXD | PIN_INPUT_PULLDOWN,
- GPIO96_MSP1_TCK | PIN_INPUT_PULLDOWN,
- GPIO97_MSP1_TFS | PIN_INPUT_PULLDOWN,
- GPIO98_MSP1_TXD | PIN_INPUT_PULLDOWN,
- GPIO99_MSP1_RXD | PIN_INPUT_PULLDOWN,
- GPIO220_MSP2_TCK | PIN_OUTPUT_LOW,
- GPIO221_MSP2_TFS | PIN_OUTPUT_LOW,
- GPIO222_MSP2_TXD | PIN_OUTPUT_LOW,
-
- /* DISPLAY_ENABLE */
- GPIO226_GPIO | PIN_OUTPUT_LOW,
-
- /* Backlight Enable */
- GPIO224_GPIO | PIN_OUTPUT_HIGH,
-
- /* MMC0 (POP eMMC) */
- GPIO5_MC0_DAT0 | PIN_INPUT_PULLUP,
- GPIO6_MC0_DAT1 | PIN_INPUT_PULLUP,
- GPIO7_MC0_DAT2 | PIN_INPUT_PULLUP,
- GPIO8_MC0_DAT3 | PIN_INPUT_PULLUP,
- GPIO9_MC0_DAT4 | PIN_INPUT_PULLUP,
- GPIO10_MC0_DAT5 | PIN_INPUT_PULLUP,
- GPIO11_MC0_DAT6 | PIN_INPUT_PULLUP,
- GPIO12_MC0_DAT7 | PIN_INPUT_PULLUP,
- GPIO13_MC0_CMD | PIN_INPUT_PULLUP,
- GPIO14_MC0_CLK | PIN_OUTPUT_LOW,
-
- /* SPI */
- GPIO167_SPI1_CS0n | PIN_OUTPUT_HIGH,
- GPIO168_SPI1_RXD | PIN_INPUT_PULLDOWN,
- GPIO169_SPI1_TXD | PIN_OUTPUT_LOW,
- GPIO170_SPI1_CLK | PIN_OUTPUT_LOW,
-
- /* AB5500 */
- GPIO78_IRQn,
-
- /* TOUCH_IRQ */
- GPIO179_GPIO | PIN_INPUT_PULLUP,
-
- /* SDI1 (SD-CARD) */
- GPIO191_MC1_DAT0 | PIN_INPUT_PULLUP,
- GPIO192_MC1_DAT1 | PIN_INPUT_PULLUP,
- GPIO193_MC1_DAT2 | PIN_INPUT_PULLUP,
- GPIO194_MC1_DAT3 | PIN_INPUT_PULLUP,
- GPIO195_MC1_CLK | PIN_OUTPUT_LOW,
- GPIO196_MC1_CMD | PIN_INPUT_PULLUP,
- GPIO197_MC1_CMDDIR | PIN_OUTPUT_HIGH,
- GPIO198_MC1_FBCLK | PIN_INPUT_NOPULL,
- GPIO199_MC1_DAT0DIR | PIN_OUTPUT_HIGH,
- /* SD-CARD detect/levelshifter pins */
- GPIO180_GPIO | PIN_INPUT_PULLUP,
- GPIO227_GPIO,
- GPIO185_GPIO,
-
- /* SDI3 (SDIO) */
- GPIO171_MC3_DAT0 | PIN_INPUT_PULLUP,
- GPIO172_MC3_DAT1 | PIN_INPUT_PULLUP,
- GPIO173_MC3_DAT2 | PIN_INPUT_PULLUP,
- GPIO174_MC3_DAT3 | PIN_INPUT_PULLUP,
- GPIO175_MC3_CMD | PIN_INPUT_PULLUP,
- GPIO176_MC3_CLK | PIN_OUTPUT_LOW,
-
- /* Display & HDMI HW sync */
- GPIO204_LCD_VSI1 | PIN_INPUT_PULLUP,
-};
-
-/*
* LSM303DLH
*/
@@ -419,8 +329,7 @@ static void __init u5500_uart_init(void)
static void __init u5500_init_machine(void)
{
u5500_init_devices();
-
- nmk_config_pins(u5500_pins, ARRAY_SIZE(u5500_pins));
+ u5500_pins_init();
u5500_i2c_init();
u5500_msp_init();
diff --git a/arch/arm/mach-ux500/board-u5500.h b/arch/arm/mach-ux500/board-u5500.h
index 042b0ceb243..16868025f63 100644
--- a/arch/arm/mach-ux500/board-u5500.h
+++ b/arch/arm/mach-ux500/board-u5500.h
@@ -14,4 +14,6 @@
struct ab5500_regulator_platform_data;
extern struct ab5500_regulator_platform_data u5500_ab5500_regulator_data;
+extern void u5500_pins_init(void);
+
#endif