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

2024-03-08 16:48

本文主要是介绍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

3. Platform OTP porting

3.1 OTP old/new architecture

Architecture history

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\**

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

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

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

Kernel code structure

As-is                                                                                    To-be

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

      

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

这篇关于OTP驱动程序移植指南-Android P的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787735

相关文章

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.