summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikhil Bhandary <nikhil.bhandary@stericsson.com>2011-09-14 18:22:42 +0530
committerRajagopala V <rajagopala.v@stericsson.com>2011-09-22 14:41:44 +0530
commit36fc08941fe96cb5db9be5d93a2c9a2eabee8081 (patch)
treeb19ca07621c8821b2d66a8bbeb8c41cdd0142323
parent41fb326bdd6142c6e1b91e23e0f4090f94a53606 (diff)
mach-ux500: Functions to check for S5500 Board
ST-Ericsson Id: 351836 ST-Ericsson FOSS-OUT ID:Trivial Signed-off-by: Nikhil Bhandary <nikhil.bhandary@stericsson.com> Change-Id: I198445098f72bdca440a340f800a764ed83cc10c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30968 Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
-rw-r--r--arch/arm/mach-ux500/board-u5500.c30
-rw-r--r--arch/arm/mach-ux500/board-u5500.h2
2 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-u5500.c b/arch/arm/mach-ux500/board-u5500.c
index 584ce2fc325..7cdadd9792a 100644
--- a/arch/arm/mach-ux500/board-u5500.c
+++ b/arch/arm/mach-ux500/board-u5500.c
@@ -535,6 +535,36 @@ static struct platform_device *u5500_platform_devices[] __initdata = {
&ux500_thsens_device,
};
+/*
+ * This function check whether it is Small S5500 board
+ * GPIO0 is HIGH for S5500
+ */
+bool is_s5500_board()
+{
+ int err , val ;
+
+ err = gpio_request(GPIO_BOARD_VERSION, "Board Version");
+ if (err) {
+ pr_err("Error %d while requesting GPIO for Board Version\n",
+ err);
+ return err;
+ }
+
+ err = gpio_direction_input(GPIO_BOARD_VERSION);
+ if (err) {
+ pr_err("Error %d while setting GPIO for Board Version"
+ "output mode\n", err);
+ return err;
+ }
+
+ val = gpio_get_value(GPIO_BOARD_VERSION);
+
+ gpio_free(GPIO_BOARD_VERSION);
+
+ return (val == 1);
+}
+
+
static void __init u5500_i2c_init(void)
{
db5500_add_i2c1(&u5500_i2c1_data);
diff --git a/arch/arm/mach-ux500/board-u5500.h b/arch/arm/mach-ux500/board-u5500.h
index 5d6eb221e8f..1b53508e716 100644
--- a/arch/arm/mach-ux500/board-u5500.h
+++ b/arch/arm/mach-ux500/board-u5500.h
@@ -10,6 +10,7 @@
#define GPIO_SDMMC_CD 180
#define GPIO_MMC_CARD_CTRL 227
#define GPIO_MMC_CARD_VSEL 185
+#define GPIO_BOARD_VERSION 0
#define GPIO_PRIMARY_CAM_XSHUTDOWN 1
#define GPIO_SECONDARY_CAM_XSHUTDOWN 2
#define CYPRESS_TOUCH_INT_PIN 179
@@ -23,5 +24,6 @@ extern struct ab5500_regulator_platform_data u5500_ab5500_regulator_data;
extern void u5500_pins_init(void);
extern void __init u5500_regulators_init(void);
void u5500_cyttsp_init(void);
+bool is_s5500_board();
#endif