MTK传感器驱动

编程入门 行业动态 更新时间:2024-10-05 07:26:20

MTK<a href=https://www.elefans.com/category/jswz/34/1770119.html style=传感器驱动"/>

MTK传感器驱动

1.修改 kernel-3.10/drivers/misc/mediatek/Kconfig.drivers增加选项:

config MTK_LSM303C_ACCbool "MTK_LSM303C_ACC for MediaTek package"default n
config MTK_LSM303C_MAGbool "MTK_LSM303C_MAG for MediaTek package"default n

修改device/${COMPANY}/${PROJECT}/ProjectConfig.mk

MTK_SERSOR_SUPPORT = yes
CUSTOM_KERNEL_ACCELEROMETER = dma280
CUSTOM_HAL_SENSOR = sensor

注意:M-sensor还要设置device/mediatek/mt6735/下的init_mt6735.rc中的daemon


2.添加kernel-3.10/drivers/misc/mediatek/accelerometer/Makefile,增加选项

ifeq ($(CONFIG_MTK_BMA280),y)
obj-y   +=  bma280/
endif
3.添加kernel-3.10/drivers/misc/mediatek/accelerometer/bma280/Makefile ,增加
include $(srctree)/drivers/misc/mediatek/Makefile.customobj-y	:=  bma280.o
4.把驱动bma280.c和bma280.h添加到 kernel-3.10/drivers/misc/mediatek/accelerometer/bma280/下
5.修改kernel-3.10/drivers/misc/mediatek/mach/mt6735/rq6735_35gt_b_l1/Makefile,增加

ifeq ($(CONFIG_MTK_BMA280),y)
obj-y   +=  accelerometer/bma280/
endif
6.添加kernel-3.10/drivers/misc/mediatek/mach/mt6735/rq6735_35gt_b_l1/accelerometer/bma280/Makefile,增加

include $(srctree)/drivers/misc/mediatek/Makefile.customobj-y	:=  cust_acc.o
7.添加kernel-3.10/drivers/misc/mediatek/mach/mt6735/rq6735_35gt_b_l1/accelerometer/bma280/cust_acc.c

#include <linux/types.h>
#include <cust_acc.h>
#include <mach/mt_pm_ldo.h>/*---------------------------------------------------------------------------*/
static struct acc_hw cust_acc_hw = {.i2c_num = 2,.i2c_addr = {0x53,0,0,0},.direction = 4,.power_id = MT65XX_POWER_NONE,  /*!< LDO is not used */.power_vol= VOL_DEFAULT,        /*!< LDO is not used */.firlen = 0, //old value 16                /*!< don't enable low pass fileter */.is_batch_supported = false,
};
/*---------------------------------------------------------------------------*/
struct acc_hw* bma280_get_cust_acc_hw(void)
{return &cust_acc_hw;
}
8.添加kernel-3.10/drivers/misc/mediatek/accelerometer/inc/cust_acc.h
#ifndef __CUST_ACC_H__
#define __CUST_ACC_H__#include <linux/types.h>
#define G_CUST_I2C_ADDR_NUM 2struct acc_hw {int i2c_num;            /*!< the i2c bus used by the chip */int direction;          /*!< the direction of the chip */int power_id;           /*!< the VDD LDO ID of the chip, MT6516_POWER_NONEmeans the power is always on */int power_vol;          /*!< the VDD Power Voltage used by the chip */int firlen;             /*!< the length of low pass filter */int (*power) (struct acc_hw *hw, unsigned int on, char *devname);unsigned char i2c_addr[G_CUST_I2C_ADDR_NUM];    /*!< i2c address list,for
chips which has different addresses with different HW layout */int power_vio_id;       /*!< the VIO LDO ID of the chip, MT6516_POWER_NONEmeans the power is always on */int power_vio_vol;      /*!< the VIO Power Voltage used by the chip */bool is_batch_supported;
};extern struct acc_hw *get_cust_acc_hw(void);
struct acc_hw* get_accel_dts_func(const char *, struct acc_hw*);
#endif




























更多推荐

MTK传感器驱动

本文发布于:2024-02-13 14:39:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759325.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:传感器   MTK

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!