msm: board-qrd7627a: Add support for EVB

Change-Id: I3a131af3c21d0fd0c9d3c9543c07b45ec052953d
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Signed-off-by: Chintan Pandya <cpandya@codeaurora.org>
This commit is contained in:
Taniya Das
2012-01-03 10:18:47 +05:30
committed by Chintan Pandya
parent 5fd7777826
commit c868a2e9fc
7 changed files with 63 additions and 20 deletions

View File

@@ -422,6 +422,14 @@ config MACH_MSM7627A_QRD1
help
Support for the Qualcomm MSM7627A Refrence Design.
config MACH_MSM7627A_EVB
depends on ARCH_MSM7X27A
depends on !MSM_STACKED_MEMORY
default y
bool "MSM7627A EVB"
help
Support for the Qualcomm MSM7627A Reference Design.
config MACH_MSM7X30_SURF
depends on ARCH_MSM7X30
depends on !MSM_STACKED_MEMORY

View File

@@ -223,6 +223,7 @@ obj-$(CONFIG_MACH_MSM7X27A_RUMI3) += board-msm7x27a.o board-msm7627a-storage.o b
obj-$(CONFIG_MACH_MSM7X27A_SURF) += board-msm7x27a.o board-msm7627a-storage.o board-msm7627a-bt.o board-msm7627a-camera.o board-msm7627a-display.o
obj-$(CONFIG_MACH_MSM7X27A_FFA) += board-msm7x27a.o board-msm7627a-storage.o board-msm7627a-bt.o board-msm7627a-camera.o board-msm7627a-display.o
obj-$(CONFIG_MACH_MSM7627A_QRD1) += board-qrd7627a.o board-msm7627a-storage.o board-msm7627a-bt.o board-msm7627a-camera.o board-msm7627a-display.o
obj-$(CONFIG_MACH_MSM7627A_EVB) += board-qrd7627a.o board-msm7627a-storage.o board-msm7627a-bt.o board-msm7627a-camera.o board-msm7627a-display.o
obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o memory_topology.o
obj-$(CONFIG_ARCH_MSM7X30) += clock-local.o clock-7x30.o acpuclock-7x30.o
obj-$(CONFIG_MACH_MSM7X25_SURF) += board-msm7x27.o devices-msm7x25.o

View File

@@ -933,6 +933,9 @@ void __init msm7627a_bt_power_init(void)
int i, rc = 0;
struct device *dev;
if (machine_is_msm7627a_evb())
return;
gpio_bt_config();
i2c_register_board_info(MSM_GSBI1_QUP_I2C_BUS_ID,

View File

@@ -509,7 +509,9 @@ void __init msm7627a_camera_init(void)
qrd1_camera_gpio_cfg();
platform_add_devices(camera_devices_qrd,
ARRAY_SIZE(camera_devices_qrd));
} else
} else if (machine_is_msm7627a_evb())
return;
else
platform_add_devices(camera_devices_msm,
ARRAY_SIZE(camera_devices_msm));

View File

@@ -316,6 +316,10 @@ static struct platform_device *qrd_fb_devices[] __initdata = {
&mipi_dsi_truly_panel_device,
};
static struct platform_device *evb_fb_devices[] __initdata = {
};
void __init msm_msm7627a_allocate_memory_regions(void)
{
void *addr;
@@ -688,6 +692,9 @@ void __init msm_fb_add_devices(void)
if (machine_is_msm7627a_qrd1())
platform_add_devices(qrd_fb_devices,
ARRAY_SIZE(qrd_fb_devices));
else if (machine_is_msm7627a_evb())
platform_add_devices(evb_fb_devices,
ARRAY_SIZE(evb_fb_devices));
else
platform_add_devices(msm_fb_devices,
ARRAY_SIZE(msm_fb_devices));

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2011, Code Aurora Forum. All rights reserved.
/* Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -148,7 +148,7 @@ static struct sdcc_gpio sdcc_cfg_data[] = {
static int gpio_sdc1_hw_det = 85;
static void gpio_sdc1_config(void)
{
if (machine_is_msm7627a_qrd1())
if (machine_is_msm7627a_qrd1() || machine_is_msm7627a_evb())
gpio_sdc1_hw_det = 42;
}
@@ -248,7 +248,8 @@ static unsigned int msm7627a_sdcc_slot_status(struct device *dev)
} else {
status = gpio_direction_input(gpio_sdc1_hw_det);
if (!status) {
if (machine_is_msm7627a_qrd1())
if (machine_is_msm7627a_qrd1() ||
machine_is_msm7627a_evb())
status = !gpio_get_value(gpio_sdc1_hw_det);
else
status = gpio_get_value(gpio_sdc1_hw_det);

View File

@@ -658,7 +658,7 @@ static struct platform_device msm_batt_device = {
.dev.platform_data = &msm_psy_batt_data,
};
static struct platform_device *qrd1_devices[] __initdata = {
static struct platform_device *qrd_common_devices[] __initdata = {
&msm_device_dmov,
&msm_device_smd,
&msm_device_uart1,
@@ -793,8 +793,27 @@ static void __init msm7627a_init_regulators(void)
__func__, rc);
}
static void msm7627a_add_io_devices(void)
{
if (machine_is_msm7627a_evb())
return;
#if defined(CONFIG_TOUCHSCREEN_SYNAPTICS_RMI4_I2C) || \
defined(CONFIG_TOUCHSCREEN_SYNAPTICS_RMI4_I2C_MODULE)
i2c_register_board_info(MSM_GSBI1_QUP_I2C_BUS_ID,
synaptic_i2c_clearpad3k,
ARRAY_SIZE(synaptic_i2c_clearpad3k));
#endif
platform_device_register(&hs_pdev);
#ifdef CONFIG_MSM_RPC_VIBRATOR
msm_init_pmic_vibrator();
#endif
}
#define UART1DM_RX_GPIO 45
static void __init msm_qrd1_init(void)
static void __init msm_qrd_init(void)
{
msm7x2x_misc_init();
msm7627a_init_regulators();
@@ -811,8 +830,10 @@ static void __init msm_qrd1_init(void)
#endif
msm_device_gadget_peripheral.dev.platform_data =
&msm_gadget_pdata;
platform_add_devices(qrd1_devices,
ARRAY_SIZE(qrd1_devices));
platform_add_devices(qrd_common_devices,
ARRAY_SIZE(qrd_common_devices));
msm7627a_init_mmc();
#ifdef CONFIG_USB_EHCI_MSM_72K
@@ -830,17 +851,7 @@ static void __init msm_qrd1_init(void)
msm7627a_camera_init();
#if defined(CONFIG_TOUCHSCREEN_SYNAPTICS_RMI4_I2C) || \
defined(CONFIG_TOUCHSCREEN_SYNAPTICS_RMI4_I2C_MODULE)
i2c_register_board_info(MSM_GSBI1_QUP_I2C_BUS_ID,
synaptic_i2c_clearpad3k,
ARRAY_SIZE(synaptic_i2c_clearpad3k));
#endif
platform_device_register(&hs_pdev);
#ifdef CONFIG_MSM_RPC_VIBRATOR
msm_init_pmic_vibrator();
#endif
msm7627a_add_io_devices();
}
static void __init qrd7627a_init_early(void)
@@ -853,7 +864,17 @@ MACHINE_START(MSM7627A_QRD1, "QRD MSM7627a QRD1")
.map_io = msm_common_io_init,
.reserve = msm7627a_reserve,
.init_irq = msm_init_irq,
.init_machine = msm_qrd1_init,
.init_machine = msm_qrd_init,
.timer = &msm_timer,
.init_early = qrd7627a_init_early,
.handle_irq = vic_handle_irq,
MACHINE_END
MACHINE_START(MSM7627A_EVB, "QRD MSM7627a EVB")
.boot_params = PHYS_OFFSET + 0x100,
.map_io = msm_common_io_init,
.reserve = msm7627a_reserve,
.init_irq = msm_init_irq,
.init_machine = msm_qrd_init,
.timer = &msm_timer,
.init_early = qrd7627a_init_early,
.handle_irq = vic_handle_irq,