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)
{