diff options
author | Nikhil Bhandary <nikhil.bhandary@stericsson.com> | 2011-09-14 18:22:42 +0530 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:02:12 +0200 |
commit | a53a10b96609d0895719ad1a5fb3de67353f1c3d (patch) | |
tree | 479a3612f2fb381292fc3113d52fd6d041b85e88 | |
parent | 31cd092808a93e158c67ef358fbc2301be4fcb66 (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.c | 29 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-u5500.h | 2 |
2 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-u5500.c b/arch/arm/mach-ux500/board-u5500.c index c0e50e937f0..fd7e84d896b 100644 --- a/arch/arm/mach-ux500/board-u5500.c +++ b/arch/arm/mach-ux500/board-u5500.c @@ -517,6 +517,35 @@ 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(struct device *parent) { db5500_add_i2c1(pareent, &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 |