OTP驱动程序移植指南-Android P

OTP驱动程序移植指南-Android P

1. Terminologies

OTP:一次可编程

LSC、AWB、AF校准数据:
• LSC :基于单模块对DNP光源下阴影的基本补偿。一般补偿为65%-75%,ISP将在此基础上做出补偿。一般按M*N*8+68
• AWB :将R/GR/Gb/B的值计算在单个模块的中心区域的百分之十或R/G和B/G的值之间,其中G=(GR+Gb)/2,然后将其烧录到传感器寄存器或EEPRO中英语字母表的第13个字母。
• AF :记录(近景)10厘米和(远视)3M开放甚至更长距离的VCM步骤。AF OTP校准需要平台处理。因此,本文只描述了AF OTP数据的读取。

OTP平台:
• 传感器没有OTP自校正功能,需要由我们的BB终端进行校正
• 从存储空间(外部EEPROM或传感器内部存储空间)读出数据,然后将数据发送到bb进行校准。

Sensor OTP:
• 传感器具有Otp自校准功能。
• 从存储空间(外部EEPROM或传感器内部存储空间)读出数据,然后写回传感器寄存器。
• 发送给bb的RawData已经更正了数据

2. SensorOTP porting

传感器OTP只需读出刻录的校准数据并将其写入传感器寄存器。

请参阅关于DCC的文件:Sensor_OTP_Porting_Guide.ppt

OTP驱动程序移植指南-Android P_第1张图片

3. Platform OTP porting

3.1 OTP old/new architecture

Architecture history

OTP驱动程序移植指南-Android P_第2张图片

Kernel-3.18 arch of Platform OTP

Old arch:
• kernel-3.18\drivers\misc\mediatek\cam_cal\src\legacy\$PLATFORM\
• kernel-3.18\drivers\misc\mediatek\cam_cal\src\legacy\mt6755\dummy_eeprom\**
• kernel-3.18\drivers\misc\mediatek\cam_cal\src\legacy\mt6755\imx258_eeprom\**
• kernel-3.18\drivers\misc\mediatek\cam_cal\src\legacy\mt6755\imx135_otp\**

OTP驱动程序移植指南-Android P_第3张图片

Kernal-4.4 Old arch of Platform OTP

Kernal-4.4 arch (Before alps-mp-p0.mp1-V5.3):
▪ \kernel-4.4\drivers\misc\mediatek\cam_cal\src\cam_cal_list.c
▪ \kernel-4.4\drivers\misc\mediatek\cam_cal\src\eeprom_driver.c
▪ \kernel-4.4\drivers\misc\mediatek\cam_cal\src\common\cat24c16\cat24c16.c

OTP驱动程序移植指南-Android P_第4张图片

Kernal-4.9 Old arch of Platform OTP

Kernel-4.9 arch:(Before alps-mp-p0.mp1-V4.1):
▪ \kernel-4.9\drivers\misc\mediatek\cam_cal\src\cam_cal_list.c
▪ \kernel-4.9\drivers\misc\mediatek\cam_cal\src\eeprom_driver.c
▪ \kernel-4.9\drivers\misc\mediatek\cam_cal\src\eeprom_i2c_driver.c

OTP驱动程序移植指南-Android P_第5张图片

New arch of Platform OTP

Kernel arch: ( Kernel-4.4:After alps-mp-p0.mp1-V5.3 Kernel-4.9:After alps-mp-p0.mp1-V4.1 )
• \kernel-4.9\drivers\misc\mediatek\cam_cal\src\${PLATFORM}\cam_cal_list.c
• \kernel-4.9\drivers\misc\mediatek\cam_cal\src\${PLATFORM}\eeprom_i2c_custom_driver.c
• \kernel-4.9\drivers\misc\mediatek\cam_cal\src\${PLATFORM}\eeprom_i2c_dev.c
• \kernel-4.9\drivers\misc\mediatek\cam_cal\src\common\v1\eeprom_driver.c
• \kernel-4.9\drivers\misc\mediatek\cam_cal\src\common\v1\eeprom_i2c_common_driver.c
• Kernel 4.4 is consistent with kernel 4.9

OTP驱动程序移植指南-Android P_第6张图片

Kernel code structure

As-is                                                                                    To-be

drivers/misc/mediatek/cam_cal/src/                      drivers/misc/mediatek/cam_cal/src/

OTP驱动程序移植指南-Android P_第7张图片      

OTP驱动程序移植指南-Android P_第8张图片

OTP驱动程序移植指南-Android P_第9张图片

本文转载自一牛网论坛-http://bbs.16rd.com/thread-468613-1-1.html

你可能感兴趣的:(MTK)