platform: msm8916: Enable MMU and Clock drivers on MSM8916

 1. Enable MMU Mappings on DDR area that LK access.
 2. Enable Clock drivers for UART / SDCC / USB peripherals.

Change-Id: I20f874a824959e326e78a6c933fc9442610b7423
diff --git a/platform/msm8916/gpio.c b/platform/msm8916/gpio.c
index 1eb900e..3035047 100644
--- a/platform/msm8916/gpio.c
+++ b/platform/msm8916/gpio.c
@@ -44,12 +44,33 @@
 	return;
 }
 
-void gpio_set(uint32_t gpio, uint32_t dir)
+void gpio_set_dir(uint32_t gpio, uint32_t dir)
 {
 	writel(dir, (uint32_t *)GPIO_IN_OUT_ADDR(gpio));
 	return;
 }
 
+void gpio_set_value(uint32_t gpio, uint32_t value)
+{
+	/* GPIO_OUTPUT */
+	if (value) {
+		writel(GPIO_OUT_VAL(gpio),
+			(uint32_t *)GPIO_OUT_SET_ADDR(gpio));
+	} else {
+		writel(GPIO_OUT_VAL(gpio),
+			(uint32_t *)GPIO_OUT_CLR_ADDR(gpio));
+	}
+	/* GPIO_OE */
+	writel(GPIO_OUT_OE_VAL(gpio),
+			(uint32_t *)GPIO_OUT_OE_SET_ADDR(gpio));
+	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)
 {