MTK平台Camera OTP 学习

备忘

文末支持一波,感谢鞠躬

一、名词解释

1.1 OTP

OTP:One Time Programmable。

在嵌入式系统中,所有代码和系统数据都被存储在FLASH芯片内部。FLASH芯片可多次擦写,且掉电数据不丢失。为了保护FLASH中的数据,厂商提供OTP寄存器,OTP这个寄存器只可以编写一次,之后不能修改。

EEPROM全称“电可擦除可编程只读存储器”,手机中camera模块的EEPROM主要用来存储OTP数据,用来进行校准,来保持模组一致性。

1.2 OTP数据包括

模组信息:物料ID、日期、镜头、VCM等基本信息

 LSC:lens shading calibration data

 AWB:RGrGbB的通道值或比值

 AF:远、近焦的position对应DAC

PDAFSPCDCCdata

1.3 Platform OTP

    Sensor没有OTP自校准功能,需要我们BB端进行校正

    从存储空间(外挂eeprom或者sensor内部存储空间)中读出数据,然后将数据送到BB端进行校正

1.4 Sensor OTP

    Sensor有OTP自校准功能

    从存储空间(外挂eeprom或者sensor内部存储空间)中读出数据,然后写回sensor寄存器

     送到BB端的Raw Data是已经校准过的数据

二、OTP存储方式

     内:在sensor芯片中ROM,和sensor公用I2C bus和read/write id

     外:sensor外挂的EEPROM,和sensor公用I2C bus,但具有不同的read/write id

三、怎么做OTP

   

3.1.1 调试前准备--模组规格书

对于不同厂家的模组有不同的信息,在拿到一颗模组后需要通过模组规格书来了解模组的一系列信息,比如说:芯片型号、镜头型号、光圈大小等。

3.1.2调试前准备--sensor数据表

 1、上电时序 :

Sensor datasheet 搜Power -up seqence ,可以从图中看到上电时序

 2、slave address  :

   

I2C设备的写地址 = I2C设备地址 << 1

I2C设备的读地址 = (I2C设备地址 << 1) + 1

https://blog.csdn.net/stoic163/article/details/77966545

3、读写规则

   从sensor datasheet可以找到读写规则

3.1.3 调试前准备--模组OTP烧录指导书

   主要关注信息:

 一、烧录内容详细说明

           模组信息

            AWB校准

            LSC校准

  二、EEPROM MAP

 

由于这段时间只做了OTP代码走读和log抓取,没有dump出otp数据,dump数据这块暂时不展示。

3.2 insensor OTP 代码

     读取OTP的方法

1、这块可以修改rg bg的值,刷版本看预览是否偏色,来看OTP是否正常(偏色)应用

2、这一抓kernel log来看OTP数据,是否正常。这块可以联系模组厂fae看OTP数据是否正常。

  adb reboot

  adb root

  adb shell dmesg > D:\log\kernel.txt

 

3.3 platform OTP 代码

一般前置的是insensor OTP,后置是platform otp。遇到前后置一样型号的sensor会在驱动代码中额外加宏区分

这一抓androdi log来看OTP数据,是否正常。这块可以联系模组厂fae看OTP数据是否正常。

  adb reboot

  adb root

  adb shell logcat > D:\log\android.txt

平台OTP可以在MTK官网下载文档来溜代码,事半功倍。

 

四、总结

 1、OTP分sensor OTP 和platform OTP

 2、sensor OTP的函数 》sensor型号_read_data_kernel《,获取有差异,但是大同小异。这里讲一个不一样的,万一找不到,从datasheet中找出OTP的寄存器,然后在驱动代码中搜寄存器就找到了;platform OTP可以根据camera_custom_msdk.cpp中GetCameraCalData()函数来看走那个函数来分析。

 3、有问题找文档联系FAE

 4、未完待续...

五、恰饭

如果您觉得有用,感谢老铁请支持一波

猜你喜欢

转载自blog.csdn.net/weixin_38328785/article/details/106807189