msm: 8x60: config dragonboard platform
Use machine type detection for dragonboard configuration.
The default configuration is the same as FFA.
Signed-off-by: Zhang Chang Ken <kenz@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-msm8x60.c b/arch/arm/mach-msm/board-msm8x60.c
index 3c50a6c..ea28f98c 100644
--- a/arch/arm/mach-msm/board-msm8x60.c
+++ b/arch/arm/mach-msm/board-msm8x60.c
@@ -5207,7 +5207,7 @@
#if defined(CONFIG_PMIC8058_OTHC) || defined(CONFIG_PMIC8058_OTHC_MODULE)
/* Line_in only for 8660 ffa & surf */
if (machine_is_msm8x60_ffa() || machine_is_msm8x60_surf() ||
- machine_is_msm8x60_fusion() ||
+ machine_is_msm8x60_fusion() || machine_is_msm8x60_dragon() ||
machine_is_msm8x60_fusn_ffa()) {
rc = pm8058_gpio_config(line_in_gpio_cfg.gpio,
&line_in_gpio_cfg.cfg);
@@ -6775,6 +6775,7 @@
#define I2C_RUMI (1 << 2)
#define I2C_SIM (1 << 3)
#define I2C_FLUID (1 << 4)
+#define I2C_DRAGON (1 << 5)
struct i2c_registry {
u8 machs;
@@ -6786,7 +6787,7 @@
static struct i2c_registry msm8x60_i2c_devices[] __initdata = {
#ifdef CONFIG_PMIC8058
{
- I2C_SURF | I2C_FFA | I2C_FLUID,
+ I2C_SURF | I2C_FFA | I2C_FLUID | I2C_DRAGON,
MSM_SSBI1_I2C_BUS_ID,
pm8058_boardinfo,
ARRAY_SIZE(pm8058_boardinfo),
@@ -6794,7 +6795,7 @@
#endif
#ifdef CONFIG_PMIC8901
{
- I2C_SURF | I2C_FFA | I2C_FLUID,
+ I2C_SURF | I2C_FFA | I2C_FLUID | I2C_DRAGON,
MSM_SSBI2_I2C_BUS_ID,
pm8901_boardinfo,
ARRAY_SIZE(pm8901_boardinfo),
@@ -6802,13 +6803,13 @@
#endif
#if defined(CONFIG_GPIO_SX150X) || defined(CONFIG_GPIO_SX150X_MODULE)
{
- I2C_SURF | I2C_FFA,
+ I2C_SURF | I2C_FFA | I2C_DRAGON,
MSM_GSBI8_QUP_I2C_BUS_ID,
core_expander_i2c_info,
ARRAY_SIZE(core_expander_i2c_info),
},
{
- I2C_SURF | I2C_FFA,
+ I2C_SURF | I2C_FFA | I2C_DRAGON,
MSM_GSBI8_QUP_I2C_BUS_ID,
docking_expander_i2c_info,
ARRAY_SIZE(docking_expander_i2c_info),
@@ -6820,7 +6821,7 @@
ARRAY_SIZE(surf_expanders_i2c_info),
},
{
- I2C_SURF | I2C_FFA,
+ I2C_SURF | I2C_FFA | I2C_DRAGON,
MSM_GSBI3_QUP_I2C_BUS_ID,
fha_expanders_i2c_info,
ARRAY_SIZE(fha_expanders_i2c_info),
@@ -6841,14 +6842,14 @@
#if defined(CONFIG_TOUCHDISC_VTD518_SHINETSU) || \
defined(CONFIG_TOUCHDISC_VTD518_SHINETSU_MODULE)
{
- I2C_SURF | I2C_FFA | I2C_FLUID,
+ I2C_SURF | I2C_FFA | I2C_FLUID | I2C_DRAGON,
MSM_GSBI3_QUP_I2C_BUS_ID,
msm_i2c_gsbi3_tdisc_info,
ARRAY_SIZE(msm_i2c_gsbi3_tdisc_info),
},
#endif
{
- I2C_SURF | I2C_FFA | I2C_FLUID,
+ I2C_SURF | I2C_FFA | I2C_FLUID | I2C_DRAGON,
MSM_GSBI3_QUP_I2C_BUS_ID,
cy8ctmg200_board_info,
ARRAY_SIZE(cy8ctmg200_board_info),
@@ -6870,7 +6871,7 @@
#endif
#ifdef CONFIG_MSM_CAMERA
{
- I2C_SURF | I2C_FFA | I2C_FLUID,
+ I2C_SURF | I2C_FFA | I2C_FLUID | I2C_DRAGON,
MSM_GSBI4_QUP_I2C_BUS_ID,
msm_camera_boardinfo,
ARRAY_SIZE(msm_camera_boardinfo),
@@ -6934,7 +6935,8 @@
if (machine_is_msm8x60_surf() || machine_is_msm8x60_fusion())
sx150x_data[SX150X_CORE].irq_summary =
PM8058_GPIO_IRQ(PM8058_IRQ_BASE, UI_INT2_N);
- else if (machine_is_msm8x60_ffa() || machine_is_msm8x60_fusn_ffa())
+ else if (machine_is_msm8x60_ffa() || machine_is_msm8x60_fusn_ffa() ||
+ machine_is_msm8x60_dragon())
sx150x_data[SX150X_CORE].irq_summary =
PM8058_GPIO_IRQ(PM8058_IRQ_BASE, UI_INT1_N);
else if (machine_is_msm8x60_fluid())
@@ -6970,6 +6972,8 @@
mach_mask = I2C_SIM;
else if (machine_is_msm8x60_fluid())
mach_mask = I2C_FLUID;
+ else if (machine_is_msm8x60_dragon())
+ mach_mask = I2C_DRAGON;
else
pr_err("unmatched machine ID in register_i2c_devices\n");
@@ -7126,7 +7130,8 @@
ebi2_cfg = readl_relaxed(ebi2_cfg_ptr);
if (machine_is_msm8x60_surf() || machine_is_msm8x60_ffa() ||
- machine_is_msm8x60_fluid())
+ machine_is_msm8x60_fluid() ||
+ machine_is_msm8x60_dragon())
ebi2_cfg |= (1 << 4) | (1 << 5); /* CS2, CS3 */
else if (machine_is_msm8x60_sim())
ebi2_cfg |= (1 << 4); /* CS2 */
@@ -7138,7 +7143,7 @@
}
if (machine_is_msm8x60_surf() || machine_is_msm8x60_ffa() ||
- machine_is_msm8x60_fluid()) {
+ machine_is_msm8x60_fluid() || machine_is_msm8x60_dragon()) {
ebi2_cfg_ptr = ioremap_nocache(0x1a110000, SZ_4K);
if (ebi2_cfg_ptr != 0) {
/* EBI2_XMEM_CFG:PWRSAVE_MODE off */
@@ -9681,7 +9686,7 @@
if (machine_is_msm8x60_surf() || machine_is_msm8x60_ffa() ||
machine_is_msm8x60_fluid() || machine_is_msm8x60_fusion() ||
- machine_is_msm8x60_fusn_ffa()) {
+ machine_is_msm8x60_fusn_ffa() || machine_is_msm8x60_dragon()) {
msm8x60_cfg_smsc911x();
if (SOCINFO_VERSION_MAJOR(socinfo_get_version()) != 1)
platform_add_devices(msm_footswitch_devices,
@@ -9713,12 +9718,13 @@
ARRAY_SIZE(rumi_sim_devices));
}
#if defined(CONFIG_USB_PEHCI_HCD) || defined(CONFIG_USB_PEHCI_HCD_MODULE)
- if (machine_is_msm8x60_surf() || machine_is_msm8x60_ffa())
+ if (machine_is_msm8x60_surf() || machine_is_msm8x60_ffa() ||
+ machine_is_msm8x60_dragon())
msm8x60_cfg_isp1763();
#endif
#ifdef CONFIG_BATTERY_MSM8X60
if (machine_is_msm8x60_surf() || machine_is_msm8x60_ffa() ||
- machine_is_msm8x60_fusion() ||
+ machine_is_msm8x60_fusion() || machine_is_msm8x60_dragon() ||
machine_is_msm8x60_fusn_ffa() || machine_is_msm8x60_fluid())
platform_device_register(&msm_charger_device);
#endif
@@ -9808,7 +9814,8 @@
= sizeof(pm8058_flash_leds_data);
}
- if (machine_is_msm8x60_ffa() || machine_is_msm8x60_fusn_ffa()) {
+ if (machine_is_msm8x60_ffa() || machine_is_msm8x60_fusn_ffa() ||
+ machine_is_msm8x60_dragon()) {
pm8058_platform_data.sub_devices[PM8058_SUBDEV_VIB].
platform_data = &pmic_vib_pdata;
pm8058_platform_data.sub_devices[PM8058_SUBDEV_VIB].