mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
04e554807c
Change-Id: Ibead64ce2e901dede2ddd1b86088b88f2350ce92 Signed-off-by: Duy Truong <dtruong@codeaurora.org>
62 lines
1.5 KiB
C
62 lines
1.5 KiB
C
/*
|
|
* isa1200.h - ISA1200 Haptic Motor driver
|
|
*
|
|
* Copyright (C) 2009 Samsung Electronics
|
|
* Kyungmin Park <kyungmin.park@samsung.com>
|
|
* Copyright (c) 2010-2012, The Linux Foundation. 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 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef __LINUX_ISA1200_H
|
|
#define __LINUX_ISA1200_H
|
|
|
|
#define ISA_I2C_VTG_MAX_UV 1800000
|
|
#define ISA_I2C_VTG_MIN_UV 1800000
|
|
#define ISA_I2C_CURR_UA 9630
|
|
|
|
struct isa1200_regulator {
|
|
const char *name;
|
|
u32 min_uV;
|
|
u32 max_uV;
|
|
u32 load_uA;
|
|
};
|
|
|
|
enum mode_control {
|
|
POWER_DOWN_MODE = 0,
|
|
PWM_INPUT_MODE,
|
|
PWM_GEN_MODE,
|
|
WAVE_GEN_MODE
|
|
};
|
|
|
|
union pwm_div_freq {
|
|
unsigned int pwm_div; /* PWM gen mode */
|
|
unsigned int pwm_freq; /* PWM input mode */
|
|
};
|
|
|
|
struct isa1200_platform_data {
|
|
const char *name;
|
|
unsigned int pwm_ch_id; /* pwm channel id */
|
|
unsigned int max_timeout;
|
|
unsigned int hap_en_gpio;
|
|
unsigned int hap_len_gpio;
|
|
bool overdrive_high; /* high/low overdrive */
|
|
bool overdrive_en; /* enable/disable overdrive */
|
|
enum mode_control mode_ctrl; /* input/generation/wave */
|
|
union pwm_div_freq pwm_fd;
|
|
bool smart_en; /* smart mode enable/disable */
|
|
bool is_erm;
|
|
bool ext_clk_en;
|
|
bool need_pwm_clk;
|
|
unsigned int chip_en;
|
|
unsigned int duty;
|
|
struct isa1200_regulator *regulator_info;
|
|
u8 num_regulators;
|
|
int (*power_on)(int on);
|
|
int (*dev_setup)(bool on);
|
|
int (*clk_enable)(bool on);
|
|
};
|
|
|
|
#endif /* __LINUX_ISA1200_H */
|