aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc/mediatek/gyroscope/inc/cust_gyro.h
blob: 31098c97fbef1f2eb2a0d39110ce2de7cd261a2f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef __CUST_GYRO_H__
#define __CUST_GYRO_H__

#include <linux/types.h>

#define GYRO_CUST_I2C_ADDR_NUM 2

struct gyro_hw {
    unsigned short addr;
    int i2c_num;    /*!< the i2c bus used by the chip */
    int direction;  /*!< the direction of the chip */
    int power_id;   /*!< the LDO ID of the chip, MT6516_POWER_NONE means the power is always on*/
    int power_vol;  /*!< the Power Voltage used by the chip */
    int firlen;     /*!< the length of low pass filter */
    int (*power)(struct gyro_hw *hw, unsigned int on, char *devname);
    unsigned char	i2c_addr[GYRO_CUST_I2C_ADDR_NUM]; /*!< i2c address list,for chips which has different addresses with different HW layout */
    int power_vio_id;   /*!< the LDO ID of the chip, MT6516_POWER_NONE means the power is always on*/
    int power_vio_vol;  /*!< the Power Voltage used by the chip */
    bool is_batch_supported;
};

extern struct gyro_hw* get_cust_gyro_hw(void);
struct gyro_hw* get_gyro_dts_func(const char *, struct gyro_hw*);
#endif