blob: 7f932f79f9ddcdaf31ad73fa0ec5371cac9d6a65 [file] [log] [blame]
Jay Chokshie8741282012-01-25 15:22:55 -08001/* Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -08002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 *
12 */
13
14#include <linux/init.h>
15#include <linux/ioport.h>
16#include <linux/platform_device.h>
17#include <linux/bootmem.h>
Jay Chokshie8741282012-01-25 15:22:55 -080018#include <linux/mfd/pm8xxx/pm8921.h>
19#include <linux/leds.h>
20#include <linux/leds-pm8xxx.h>
Jay Chokshif3a9ea82012-01-12 16:34:43 -080021#include <linux/mfd/pm8xxx/pm8xxx-adc.h>
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -080022#include <asm/mach-types.h>
23#include <asm/mach/mmc.h>
24#include <mach/msm_bus_board.h>
25#include <mach/board.h>
26#include <mach/gpio.h>
27#include <mach/gpiomux.h>
Jay Chokshie8741282012-01-25 15:22:55 -080028#include <mach/restart.h>
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -080029#include "devices.h"
30#include "board-8064.h"
31
Jay Chokshie8741282012-01-25 15:22:55 -080032struct pm8xxx_gpio_init {
33 unsigned gpio;
34 struct pm_gpio config;
35};
36
37struct pm8xxx_mpp_init {
38 unsigned mpp;
39 struct pm8xxx_mpp_config_data config;
40};
41
42#define PM8921_GPIO_INIT(_gpio, _dir, _buf, _val, _pull, _vin, _out_strength, \
43 _func, _inv, _disable) \
44{ \
45 .gpio = PM8921_GPIO_PM_TO_SYS(_gpio), \
46 .config = { \
47 .direction = _dir, \
48 .output_buffer = _buf, \
49 .output_value = _val, \
50 .pull = _pull, \
51 .vin_sel = _vin, \
52 .out_strength = _out_strength, \
53 .function = _func, \
54 .inv_int_pol = _inv, \
55 .disable_pin = _disable, \
56 } \
57}
58
59#define PM8921_MPP_INIT(_mpp, _type, _level, _control) \
60{ \
61 .mpp = PM8921_MPP_PM_TO_SYS(_mpp), \
62 .config = { \
63 .type = PM8XXX_MPP_TYPE_##_type, \
64 .level = _level, \
65 .control = PM8XXX_MPP_##_control, \
66 } \
67}
68
69#define PM8821_MPP_INIT(_mpp, _type, _level, _control) \
70{ \
71 .mpp = PM8821_MPP_PM_TO_SYS(_mpp), \
72 .config = { \
73 .type = PM8XXX_MPP_TYPE_##_type, \
74 .level = _level, \
75 .control = PM8XXX_MPP_##_control, \
76 } \
77}
78
79#define PM8921_GPIO_DISABLE(_gpio) \
80 PM8921_GPIO_INIT(_gpio, PM_GPIO_DIR_IN, 0, 0, 0, PM_GPIO_VIN_S4, \
81 0, 0, 0, 1)
82
83#define PM8921_GPIO_OUTPUT(_gpio, _val, _strength) \
84 PM8921_GPIO_INIT(_gpio, PM_GPIO_DIR_OUT, PM_GPIO_OUT_BUF_CMOS, _val, \
85 PM_GPIO_PULL_NO, PM_GPIO_VIN_S4, \
86 PM_GPIO_STRENGTH_##_strength, \
87 PM_GPIO_FUNC_NORMAL, 0, 0)
88
Jay Chokshi1de4f9d2012-02-07 16:11:31 -080089#define PM8921_GPIO_OUTPUT_BUFCONF(_gpio, _val, _strength, _bufconf) \
90 PM8921_GPIO_INIT(_gpio, PM_GPIO_DIR_OUT,\
91 PM_GPIO_OUT_BUF_##_bufconf, _val, \
92 PM_GPIO_PULL_NO, PM_GPIO_VIN_S4, \
93 PM_GPIO_STRENGTH_##_strength, \
94 PM_GPIO_FUNC_NORMAL, 0, 0)
95
Jay Chokshie8741282012-01-25 15:22:55 -080096#define PM8921_GPIO_INPUT(_gpio, _pull) \
97 PM8921_GPIO_INIT(_gpio, PM_GPIO_DIR_IN, PM_GPIO_OUT_BUF_CMOS, 0, \
98 _pull, PM_GPIO_VIN_S4, \
99 PM_GPIO_STRENGTH_NO, \
100 PM_GPIO_FUNC_NORMAL, 0, 0)
101
102#define PM8921_GPIO_OUTPUT_FUNC(_gpio, _val, _func) \
103 PM8921_GPIO_INIT(_gpio, PM_GPIO_DIR_OUT, PM_GPIO_OUT_BUF_CMOS, _val, \
104 PM_GPIO_PULL_NO, PM_GPIO_VIN_S4, \
105 PM_GPIO_STRENGTH_HIGH, \
106 _func, 0, 0)
107
108#define PM8921_GPIO_OUTPUT_VIN(_gpio, _val, _vin) \
109 PM8921_GPIO_INIT(_gpio, PM_GPIO_DIR_OUT, PM_GPIO_OUT_BUF_CMOS, _val, \
110 PM_GPIO_PULL_NO, _vin, \
111 PM_GPIO_STRENGTH_HIGH, \
112 PM_GPIO_FUNC_NORMAL, 0, 0)
113
114/* Initial PM8921 GPIO configurations */
115static struct pm8xxx_gpio_init pm8921_gpios[] __initdata = {
David Collins390fc332012-02-07 14:38:16 -0800116 PM8921_GPIO_OUTPUT(23, 0, HIGH), /* touchscreen power FET */
Jay Chokshi1de4f9d2012-02-07 16:11:31 -0800117 PM8921_GPIO_OUTPUT_BUFCONF(25, 0, LOW, CMOS), /* DISP_RESET_N */
118 PM8921_GPIO_OUTPUT_FUNC(26, 0, PM_GPIO_FUNC_2), /* Bl: Off, PWM mode */
119 PM8921_GPIO_OUTPUT_BUFCONF(36, 1, LOW, OPEN_DRAIN),
Amy Maloche70090f992012-02-16 16:35:26 -0800120 PM8921_GPIO_OUTPUT_FUNC(44, 0, PM_GPIO_FUNC_2),
121 PM8921_GPIO_OUTPUT(33, 0, HIGH),
122 PM8921_GPIO_OUTPUT(20, 0, HIGH),
Mohan Pallaka474b94b2012-01-25 12:59:58 +0530123 PM8921_GPIO_INPUT(35, PM_GPIO_PULL_UP_1P5),
124 PM8921_GPIO_INPUT(38, PM_GPIO_PULL_UP_1P5),
Shiv Maliyappanahalli7e0beff2012-02-06 15:56:39 -0800125 /* TABLA CODEC RESET */
126 PM8921_GPIO_OUTPUT(34, 1, MED),
Mohan Pallaka474b94b2012-01-25 12:59:58 +0530127};
128
129static struct pm8xxx_gpio_init pm8921_mtp_kp_gpios[] __initdata = {
130 PM8921_GPIO_INPUT(3, PM_GPIO_PULL_UP_1P5),
131 PM8921_GPIO_INPUT(4, PM_GPIO_PULL_UP_1P5),
132};
133
134static struct pm8xxx_gpio_init pm8921_cdp_kp_gpios[] __initdata = {
135 PM8921_GPIO_INPUT(37, PM_GPIO_PULL_UP_1P5),
Jing Lin3f8f8422012-03-05 09:32:11 -0800136 PM8921_GPIO_INPUT(42, PM_GPIO_PULL_UP_1P5),
Jay Chokshie8741282012-01-25 15:22:55 -0800137};
138
139/* Initial PM8XXX MPP configurations */
140static struct pm8xxx_mpp_init pm8xxx_mpps[] __initdata = {
Jay Chokshi1de4f9d2012-02-07 16:11:31 -0800141 PM8921_MPP_INIT(3, D_OUTPUT, PM8921_MPP_DIG_LEVEL_VPH, DOUT_CTRL_LOW),
David Collinsf0d00732012-01-25 15:46:50 -0800142 /* External 5V regulator enable; shared by HDMI and USB_OTG switches. */
Jay Chokshi1de4f9d2012-02-07 16:11:31 -0800143 PM8921_MPP_INIT(7, D_OUTPUT, PM8921_MPP_DIG_LEVEL_VPH, DOUT_CTRL_LOW),
144 PM8921_MPP_INIT(8, D_OUTPUT, PM8921_MPP_DIG_LEVEL_S4, DOUT_CTRL_LOW),
Hemant Kumar56925352012-02-13 16:59:52 -0800145 /*MPP9 is used to detect docking station connection/removal on Liquid*/
146 PM8921_MPP_INIT(9, D_INPUT, PM8921_MPP_DIG_LEVEL_S4, DIN_TO_INT),
Jay Chokshie8741282012-01-25 15:22:55 -0800147};
148
149void __init apq8064_pm8xxx_gpio_mpp_init(void)
150{
151 int i, rc;
152
153 for (i = 0; i < ARRAY_SIZE(pm8921_gpios); i++) {
154 rc = pm8xxx_gpio_config(pm8921_gpios[i].gpio,
155 &pm8921_gpios[i].config);
156 if (rc) {
157 pr_err("%s: pm8xxx_gpio_config: rc=%d\n", __func__, rc);
158 break;
159 }
160 }
161
Mohan Pallaka474b94b2012-01-25 12:59:58 +0530162 if (machine_is_apq8064_cdp() || machine_is_apq8064_liquid())
163 for (i = 0; i < ARRAY_SIZE(pm8921_cdp_kp_gpios); i++) {
164 rc = pm8xxx_gpio_config(pm8921_cdp_kp_gpios[i].gpio,
165 &pm8921_cdp_kp_gpios[i].config);
166 if (rc) {
167 pr_err("%s: pm8xxx_gpio_config: rc=%d\n",
168 __func__, rc);
169 break;
170 }
171 }
172
173 if (machine_is_apq8064_mtp())
174 for (i = 0; i < ARRAY_SIZE(pm8921_mtp_kp_gpios); i++) {
175 rc = pm8xxx_gpio_config(pm8921_mtp_kp_gpios[i].gpio,
176 &pm8921_mtp_kp_gpios[i].config);
177 if (rc) {
178 pr_err("%s: pm8xxx_gpio_config: rc=%d\n",
179 __func__, rc);
180 break;
181 }
182 }
183
Jay Chokshie8741282012-01-25 15:22:55 -0800184 for (i = 0; i < ARRAY_SIZE(pm8xxx_mpps); i++) {
185 rc = pm8xxx_mpp_config(pm8xxx_mpps[i].mpp,
186 &pm8xxx_mpps[i].config);
187 if (rc) {
188 pr_err("%s: pm8xxx_mpp_config: rc=%d\n", __func__, rc);
189 break;
190 }
191 }
192}
193
194static struct pm8xxx_pwrkey_platform_data apq8064_pm8921_pwrkey_pdata = {
195 .pull_up = 1,
196 .kpd_trigger_delay_us = 15625,
197 .wakeup = 1,
198};
199
200static struct pm8xxx_misc_platform_data apq8064_pm8921_misc_pdata = {
201 .priority = 0,
202};
203
204#define PM8921_LC_LED_MAX_CURRENT 4 /* I = 4mA */
205#define PM8921_LC_LED_LOW_CURRENT 1 /* I = 1mA */
206#define PM8XXX_LED_PWM_PERIOD 1000
207#define PM8XXX_LED_PWM_DUTY_MS 20
208/**
209 * PM8XXX_PWM_CHANNEL_NONE shall be used when LED shall not be
210 * driven using PWM feature.
211 */
212#define PM8XXX_PWM_CHANNEL_NONE -1
213
214static struct led_info pm8921_led_info[] = {
215 [0] = {
216 .name = "led:red",
217 .default_trigger = "ac-online",
218 },
219};
220
221static struct led_platform_data pm8921_led_core_pdata = {
222 .num_leds = ARRAY_SIZE(pm8921_led_info),
223 .leds = pm8921_led_info,
224};
225
226static int pm8921_led0_pwm_duty_pcts[56] = {
227 1, 4, 8, 12, 16, 20, 24, 28, 32, 36,
228 40, 44, 46, 52, 56, 60, 64, 68, 72, 76,
229 80, 84, 88, 92, 96, 100, 100, 100, 98, 95,
230 92, 88, 84, 82, 78, 74, 70, 66, 62, 58,
231 58, 54, 50, 48, 42, 38, 34, 30, 26, 22,
232 14, 10, 6, 4, 1
233};
234
235static struct pm8xxx_pwm_duty_cycles pm8921_led0_pwm_duty_cycles = {
236 .duty_pcts = (int *)&pm8921_led0_pwm_duty_pcts,
237 .num_duty_pcts = ARRAY_SIZE(pm8921_led0_pwm_duty_pcts),
238 .duty_ms = PM8XXX_LED_PWM_DUTY_MS,
239 .start_idx = 0,
240};
241
242static struct pm8xxx_led_config pm8921_led_configs[] = {
243 [0] = {
244 .id = PM8XXX_ID_LED_0,
245 .mode = PM8XXX_LED_MODE_PWM2,
246 .max_current = PM8921_LC_LED_MAX_CURRENT,
247 .pwm_channel = 5,
248 .pwm_period_us = PM8XXX_LED_PWM_PERIOD,
249 .pwm_duty_cycles = &pm8921_led0_pwm_duty_cycles,
250 },
251};
252
253static struct pm8xxx_led_platform_data apq8064_pm8921_leds_pdata = {
254 .led_core = &pm8921_led_core_pdata,
255 .configs = pm8921_led_configs,
256 .num_configs = ARRAY_SIZE(pm8921_led_configs),
257};
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -0800258
Jay Chokshif3a9ea82012-01-12 16:34:43 -0800259static struct pm8xxx_adc_amux apq8064_pm8921_adc_channels_data[] = {
260 {"vcoin", CHANNEL_VCOIN, CHAN_PATH_SCALING2, AMUX_RSV1,
261 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
262 {"vbat", CHANNEL_VBAT, CHAN_PATH_SCALING2, AMUX_RSV1,
263 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
264 {"dcin", CHANNEL_DCIN, CHAN_PATH_SCALING4, AMUX_RSV1,
265 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
266 {"ichg", CHANNEL_ICHG, CHAN_PATH_SCALING1, AMUX_RSV1,
267 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
268 {"vph_pwr", CHANNEL_VPH_PWR, CHAN_PATH_SCALING2, AMUX_RSV1,
269 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
270 {"ibat", CHANNEL_IBAT, CHAN_PATH_SCALING1, AMUX_RSV1,
271 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
272 {"batt_therm", CHANNEL_BATT_THERM, CHAN_PATH_SCALING1, AMUX_RSV2,
273 ADC_DECIMATION_TYPE2, ADC_SCALE_BATT_THERM},
274 {"batt_id", CHANNEL_BATT_ID, CHAN_PATH_SCALING1, AMUX_RSV1,
275 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
276 {"usbin", CHANNEL_USBIN, CHAN_PATH_SCALING3, AMUX_RSV1,
277 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
278 {"pmic_therm", CHANNEL_DIE_TEMP, CHAN_PATH_SCALING1, AMUX_RSV1,
279 ADC_DECIMATION_TYPE2, ADC_SCALE_PMIC_THERM},
280 {"625mv", CHANNEL_625MV, CHAN_PATH_SCALING1, AMUX_RSV1,
281 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
282 {"125v", CHANNEL_125V, CHAN_PATH_SCALING1, AMUX_RSV1,
283 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
284 {"chg_temp", CHANNEL_CHG_TEMP, CHAN_PATH_SCALING1, AMUX_RSV1,
285 ADC_DECIMATION_TYPE2, ADC_SCALE_DEFAULT},
286 {"xo_therm", CHANNEL_MUXOFF, CHAN_PATH_SCALING1, AMUX_RSV0,
287 ADC_DECIMATION_TYPE2, ADC_SCALE_XOTHERM},
288};
289
290static struct pm8xxx_adc_properties apq8064_pm8921_adc_data = {
291 .adc_vdd_reference = 1800, /* milli-voltage for this adc */
292 .bitresolution = 15,
293 .bipolar = 0,
294};
295
296static struct pm8xxx_adc_platform_data apq8064_pm8921_adc_pdata = {
297 .adc_channel = apq8064_pm8921_adc_channels_data,
298 .adc_num_board_channel = ARRAY_SIZE(apq8064_pm8921_adc_channels_data),
299 .adc_prop = &apq8064_pm8921_adc_data,
300 .adc_mpp_base = PM8921_MPP_PM_TO_SYS(1),
301};
302
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -0800303static struct pm8xxx_mpp_platform_data
304apq8064_pm8921_mpp_pdata __devinitdata = {
305 .mpp_base = PM8921_MPP_PM_TO_SYS(1),
306};
307
308static struct pm8xxx_gpio_platform_data
309apq8064_pm8921_gpio_pdata __devinitdata = {
310 .gpio_base = PM8921_GPIO_PM_TO_SYS(1),
311};
312
313static struct pm8xxx_irq_platform_data
314apq8064_pm8921_irq_pdata __devinitdata = {
315 .irq_base = PM8921_IRQ_BASE,
Jeffrey Chuanga92c7ab2012-03-01 23:56:00 -0800316 .devirq = MSM_GPIO_TO_INT(74),
317 .irq_trigger_flag = IRQF_TRIGGER_LOW,
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -0800318 .dev_id = 0,
319};
320
Ashay Jaiswal0b023dc2012-01-25 10:18:36 +0530321static struct pm8xxx_rtc_platform_data
322apq8064_pm8921_rtc_pdata = {
323 .rtc_write_enable = false,
324 .rtc_alarm_powerup = false,
325};
326
Jay Chokshi42fe9f02012-02-01 20:52:08 -0800327static int apq8064_pm8921_therm_mitigation[] = {
328 1100,
329 700,
330 600,
331 325,
332};
333
334#define MAX_VOLTAGE_MV 4200
335static struct pm8921_charger_platform_data
336apq8064_pm8921_chg_pdata __devinitdata = {
337 .safety_time = 180,
338 .update_time = 60000,
339 .max_voltage = MAX_VOLTAGE_MV,
340 .min_voltage = 3200,
341 .resume_voltage_delta = 100,
342 .term_current = 100,
343 .cool_temp = 10,
344 .warm_temp = 40,
345 .temp_check_period = 1,
346 .max_bat_chg_current = 1100,
347 .cool_bat_chg_current = 350,
348 .warm_bat_chg_current = 350,
349 .cool_bat_voltage = 4100,
350 .warm_bat_voltage = 4100,
351 .thermal_mitigation = apq8064_pm8921_therm_mitigation,
352 .thermal_levels = ARRAY_SIZE(apq8064_pm8921_therm_mitigation),
353};
354
355static struct pm8xxx_ccadc_platform_data
356apq8064_pm8xxx_ccadc_pdata = {
357 .r_sense = 10,
358};
359
360static struct pm8921_bms_platform_data
361apq8064_pm8921_bms_pdata __devinitdata = {
David Keitel35e11872012-02-17 17:40:42 -0800362 .battery_type = BATT_UNKNOWN,
Jay Chokshi42fe9f02012-02-01 20:52:08 -0800363 .r_sense = 10,
364 .i_test = 2500,
365 .v_failure = 3000,
366 .calib_delay_ms = 600000,
367 .max_voltage_uv = MAX_VOLTAGE_MV * 1000,
368};
369
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -0800370static struct pm8921_platform_data
371apq8064_pm8921_platform_data __devinitdata = {
372 .regulator_pdatas = msm8064_pm8921_regulator_pdata,
373 .irq_pdata = &apq8064_pm8921_irq_pdata,
374 .gpio_pdata = &apq8064_pm8921_gpio_pdata,
375 .mpp_pdata = &apq8064_pm8921_mpp_pdata,
Ashay Jaiswal0b023dc2012-01-25 10:18:36 +0530376 .rtc_pdata = &apq8064_pm8921_rtc_pdata,
Jay Chokshie8741282012-01-25 15:22:55 -0800377 .pwrkey_pdata = &apq8064_pm8921_pwrkey_pdata,
378 .misc_pdata = &apq8064_pm8921_misc_pdata,
379 .leds_pdata = &apq8064_pm8921_leds_pdata,
Jay Chokshif3a9ea82012-01-12 16:34:43 -0800380 .adc_pdata = &apq8064_pm8921_adc_pdata,
Jay Chokshi42fe9f02012-02-01 20:52:08 -0800381 .charger_pdata = &apq8064_pm8921_chg_pdata,
382 .bms_pdata = &apq8064_pm8921_bms_pdata,
383 .ccadc_pdata = &apq8064_pm8xxx_ccadc_pdata,
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -0800384};
385
386static struct pm8xxx_irq_platform_data
387apq8064_pm8821_irq_pdata __devinitdata = {
388 .irq_base = PM8821_IRQ_BASE,
Jay Chokshie8741282012-01-25 15:22:55 -0800389 .devirq = PM8821_SEC_IRQ_N,
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -0800390 .irq_trigger_flag = IRQF_TRIGGER_HIGH,
391 .dev_id = 1,
392};
393
394static struct pm8xxx_mpp_platform_data
395apq8064_pm8821_mpp_pdata __devinitdata = {
396 .mpp_base = PM8821_MPP_PM_TO_SYS(1),
397};
398
399static struct pm8821_platform_data
400apq8064_pm8821_platform_data __devinitdata = {
401 .irq_pdata = &apq8064_pm8821_irq_pdata,
402 .mpp_pdata = &apq8064_pm8821_mpp_pdata,
403};
404
405static struct msm_ssbi_platform_data apq8064_ssbi_pm8921_pdata __devinitdata = {
406 .controller_type = MSM_SBI_CTRL_PMIC_ARBITER,
407 .slave = {
408 .name = "pm8921-core",
409 .platform_data = &apq8064_pm8921_platform_data,
410 },
411};
412
413static struct msm_ssbi_platform_data apq8064_ssbi_pm8821_pdata __devinitdata = {
414 .controller_type = MSM_SBI_CTRL_PMIC_ARBITER,
415 .slave = {
416 .name = "pm8821-core",
417 .platform_data = &apq8064_pm8821_platform_data,
418 },
419};
420
421void __init apq8064_init_pmic(void)
422{
Jay Chokshie8741282012-01-25 15:22:55 -0800423 pmic_reset_irq = PM8921_IRQ_BASE + PM8921_RESOUT_IRQ;
424
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -0800425 apq8064_device_ssbi_pmic1.dev.platform_data =
426 &apq8064_ssbi_pm8921_pdata;
427 apq8064_device_ssbi_pmic2.dev.platform_data =
428 &apq8064_ssbi_pm8821_pdata;
429 apq8064_pm8921_platform_data.num_regulators =
430 msm8064_pm8921_regulator_pdata_len;
431
432 if (machine_is_apq8064_rumi3()) {
433 apq8064_pm8921_irq_pdata.devirq = 0;
434 apq8064_pm8821_irq_pdata.devirq = 0;
David Keitel35e11872012-02-17 17:40:42 -0800435 } else if (machine_is_apq8064_mtp()) {
436 apq8064_pm8921_bms_pdata.battery_type = BATT_PALLADIUM;
437 } else if (machine_is_apq8064_liquid()) {
438 apq8064_pm8921_bms_pdata.battery_type = BATT_DESAY;
Stepan Moskovchenkoc1074f02011-12-14 17:51:57 -0800439 }
440}