platform: msm8226: Add api to query GPIO status.

Change-Id: Ic2e494ae8c84987d990620e40f1c7648eb2cb2b6
diff --git a/platform/msm8226/gpio.c b/platform/msm8226/gpio.c
index b869367..f184fb0 100644
--- a/platform/msm8226/gpio.c
+++ b/platform/msm8226/gpio.c
@@ -50,6 +50,11 @@
 	return;
 }
 
+uint32_t gpio_status(uint32_t gpio)
+{
+	return readl(GPIO_IN_OUT_ADDR(gpio)) & GPIO_IN;
+}
+
 /* Configure gpio for blsp uart 2 */
 void gpio_config_uart_dm(uint8_t id)
 {
diff --git a/platform/msm8226/include/platform/gpio.h b/platform/msm8226/include/platform/gpio.h
index 51a1ce0..ac554da 100644
--- a/platform/msm8226/include/platform/gpio.h
+++ b/platform/msm8226/include/platform/gpio.h
@@ -29,6 +29,8 @@
 #ifndef __PLATFORM_MSM8226_GPIO_H
 #define __PLATFORM_MSM8226_GPIO_H
 
+#include <bits.h>
+
 /* GPIO TLMM: Direction */
 #define GPIO_INPUT      0
 #define GPIO_OUTPUT     1
@@ -53,6 +55,17 @@
 #define GPIO_ENABLE     0
 #define GPIO_DISABLE    1
 
+/* GPIO_IN_OUT register shifts. */
+#define GPIO_IN         BIT(0)
+#define GPIO_OUT        BIT(1)
+
 void gpio_config_uart_dm(uint8_t id);
+uint32_t gpio_status(uint32_t gpio);
+void gpio_tlmm_config(uint32_t gpio,
+                      uint8_t func,
+                      uint8_t dir,
+                      uint8_t pull,
+                      uint8_t drvstr,
+                      uint32_t enable);
 
 #endif