msm: board: Add GSBI4 UARTDM support for MSM9615
Uart hsl console uses GSBI4 on MSM9615. Add support for it.
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-9615.c b/arch/arm/mach-msm/board-9615.c
index 1488fb6..cd93212 100644
--- a/arch/arm/mach-msm/board-9615.c
+++ b/arch/arm/mach-msm/board-9615.c
@@ -21,6 +21,43 @@
#include "timer.h"
#include "devices.h"
+static struct platform_device *common_devices[] = {
+ &msm9615_device_uart_gsbi4,
+};
+
+static struct gpiomux_setting gsbi4 = {
+ .func = GPIOMUX_FUNC_1,
+ .drv = GPIOMUX_DRV_8MA,
+ .pull = GPIOMUX_PULL_NONE,
+};
+
+struct msm_gpiomux_config msm9615_gsbi_configs[] __initdata = {
+ {
+ .gpio = 12, /* GSBI4 UART */
+ .settings = {
+ [GPIOMUX_SUSPENDED] = &gsbi4,
+ },
+ },
+ {
+ .gpio = 13, /* GSBI4 UART */
+ .settings = {
+ [GPIOMUX_SUSPENDED] = &gsbi4,
+ },
+ },
+ {
+ .gpio = 14, /* GSBI4 UART */
+ .settings = {
+ [GPIOMUX_SUSPENDED] = &gsbi4,
+ },
+ },
+ {
+ .gpio = 15, /* GSBI4 UART */
+ .settings = {
+ [GPIOMUX_SUSPENDED] = &gsbi4,
+ },
+ },
+};
+
static int __init gpiomux_init(void)
{
int rc;
@@ -30,6 +67,9 @@
pr_err(KERN_ERR "msm_gpiomux_init failed %d\n", rc);
return rc;
}
+ msm_gpiomux_install(msm9615_gsbi_configs,
+ ARRAY_SIZE(msm9615_gsbi_configs));
+
return 0;
}
@@ -37,6 +77,7 @@
{
msm9615_device_init();
gpiomux_init();
+ platform_add_devices(common_devices, ARRAY_SIZE(common_devices));
}
static void __init msm9615_cdp_init(void)