MTK平台 -- Msensor移植(Android 5.1 -7.1)

本文详细记录了一位驱动工程师在MTK平台下,从Android 5.1到7.1移植Msensor的过程,包括移植编译、刷机验证、解决I2C地址问题以及msensor方向和校准的挑战。在移植过程中,作者发现了驱动中的局部变量问题,并解决了校准问题,最终成功完成Msensor的兼容工作。
摘要由CSDN通过智能技术生成

前言

  对于驱动工程师来说,sensor是很基础的东西,很多人刚开始接触驱动都是从sensor开始的。这篇记录其实是很久之前的了,这段时间正好在整理以前的一些文章,于是重新梳理一下。

背景

  工作环境:linux,platform_version=android 5.1,mt6580;
  工作任务:在原有的项目基础上兼容msensor AF8133J;

步骤

移植、编译

  此款msensor以前没有在Android 5.1中使用过,我只找到应用在Android 7.1上的一套代码,因为msensor的代码量不大,把Android 5.1中和Android 7.1中msensor的代码都看了一遍,发现除了获取i2c_address、i2c_num、direction、power_id、power_vol等属性的方式不一样,其它地方基本上一样,于是决定就采用Android 7.1中的代码,初期完成得很顺利,修改代码->编译->修改编译报错;修改了st480_init()函数中部分代码,如下:

原代码:

static int __init afx133_init(void)
{
   
    const char *name = "mediatek,afx133";
    hw = get_mag_dts_func(name, hw);
    
    #if 1   //def CONFIG_MTK_LEGACY
    struct i2c_board_info i2c_afx133={
    I2C_BOARD_INFO("afx133", hw->i2c_addr[0])i2c_register_board_info(hw->i2c_num, &i2c_afx133, 1);
    #endif

    if(mag_driver_add(&afx133_init_info) < 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值