http://blog.csdn.net/u012452964/article/details/74941164
1:进入vendor\qcom\proprietary\mm-camera\mm-camera2\media-controller\modules\sensors\actuator\libs,复制一个马达名称类似的文件夹,修改好里面的文件名和宏定义。
2:修改h文件的如下内容
.actuator_params =
{//看datasheet
.module_name = "abico",
.actuator_name = "dw9714v",
.i2c_addr = 0x18,//马达的i2c地址
.i2c_data_type = CAMERA_I2C_BYTE_DATA,
.i2c_addr_type = CAMERA_I2C_BYTE_ADDR,
.act_type = ACTUATOR_TYPE_VCM,//马达类型
.data_size = 10,//DAC(数字模拟转换)精度,
.reg_tbl =
{
.reg_tbl_size = 1,
.reg_params =
{
{
.reg_write_type = ACTUATOR_WRITE_DAC,
.hw_mask = 0x0000000F,//hw掩码,搜索马达文档的register format,0x0000000F的后四位对应了下图的pd~s0.要保证D1~D9的数值正确传递,需要将hw_mask 的后四位中的DAC位都置为0.剩余位根据功能选择设置。
.reg_addr = 0xFFFF,
.hw_shift = 0,
.data_shift = 4,//dac(数字模拟转换)的位移(s0~s3共4位)
},
},
},
.init_setting_size = 4,
.init_settings =
{//找产商提供
{0xEC, CAMERA_I2C_BYTE_ADDR, 0xA3,
CAMERA_I2C_BYTE_DATA, ACTUATOR_I2C_OP_WRITE, 0},
{0xA1, CAMERA_I2C_BYTE_ADDR, 0x05,
CAMERA_I2C_BYTE_DATA, ACTUATOR_I2C_OP_WRITE, 0},
{0xF2, CAMERA_I2C_BYTE_ADDR, 0x08,
CAMERA_I2C_BYTE_DATA, ACTUATOR_I2C_OP_WRITE, 0},
{0xDC, CAMERA_I2C_BYTE_ADDR, 0x51,
CAMERA_I2C_BYTE_DATA, ACTUATOR_I2C_OP_WRITE, 0},
},
}, /* actuator_params */
3:进入vendor\qcom\proprietary\mm-camera\mm-camera2\media-controller\modules\sensors\configs找到对应的xml文件里对应的camera配置处,添加 <ActuatorName>dw9714v</ActuatorName>这一项。
4:编译,把生成的库文件和xml文件push进手机对应目录下。
5:开机看效果。