Commit graph

1,505 commits

Author SHA1 Message Date
chenlj26
82fb44bef6 Revert "(CR): camera-kernel: miami: support IIC Addr Switch method"
This reverts commit a25467f6bef17606af91ec342708c37d5ceff460.

Change-Id: I57a1300a03bdfd240ce76dc17076156c550b3591
Reviewed-on: https://gerrit.mot.com/2229671
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
huqian4
b26a4c2545 Dubai: Add retries for sensor id matching
details:
Add retries in the sensor id matching during kernel camera
probe to handle any transient failures

Change-Id: I71e43566e4d9f8f27cac1f2a96470bfb76fc9663
Signed-off-by: huqian4 <huqian4@motorola.com>
Reviewed-on: https://gerrit.mot.com/2228991
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: <liuzy55@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
chenlj26
a1daf6ff57 camera-kernel: miami: support IIC Addr Switch method
-For ov32c4c,must write reg 0x1001=0x4 to switch iic addr to 0x20
before any iic operation.
-add preInitSetting,it will be wroten into sensor before init.
-add IICAddrSwitch,it will be wroten into sensor before probe.

Change-Id: I0d0d3959371355843fc4e384042e4ad44a42243d
Signed-off-by: chenlj26 <chenlj26@motorola.com>
Reviewed-on: https://gerrit.mot.com/2218769
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Wang Liu <liuwang2@lenovo.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuzy55
2f54a39212 rhodep: Revert "(CR): rhodep: open camera debug ois log"
This reverts commit 69bc63863b2db2b8fb8f5e24644147a13d68b024.

Change-Id: I788daed45da882c3db2b4492c0b0e9de29474564
Signed-off-by: liuzy55 <liuzy55@motorola.com>
Reviewed-on: https://gerrit.mot.com/2208633
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Tested-by: Jira Key
Reviewed-by: Wang Liu <liuwang2@lenovo.com>
Reviewed-by: <weilt2@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
Xiaojie Liu
fec34e29a5 msm: camera: icp: fix memory overflow to slove ramdump
increase flush_req_pending's number to slove memory overflow

CRs-Fixed: 05724712
Mot-CRs-fixed: (CR)

Signed-off-by: Xiaojie Liu <liuxj26@lenovo.com>
Change-Id: Ifab545c0705cf18f3c479e14e6d66f815aac4f60
Reviewed-on: https://gerrit.mot.com/2200505
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zilong Zhang <zhangzl7@lenovo.com>
Reviewed-by: Lei Wang <wangl67@motorola.com>
Reviewed-by: <zhangl82@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuzy55
9fba93b60c rhodec: fixed macro camera not being opened
detalis:
switch the cci device to read the flash ID

Change-Id: Idf29474ca4946afb122339eeefe01b7dacfc0485
Signed-off-by: liuzy55 <liuzy55@motorola.com>
Reviewed-on: https://gerrit.mot.com/2191857
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Reviewed-by: Long Cheng <chengl1@motorola.com>
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Xingyun Fu <fuxy7@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuzy55
300796df8a rhodec: Actuator noise reduction
detalis:
add MOT_DEVICE_RHODEC for workaround

Change-Id: I5d24bb79f95a11f82781bd40ba14cbd64cadfa22
Signed-off-by: liuzy55 <liuzy55@motorola.com>
Reviewed-on: https://gerrit.mot.com/2188603
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: <hansx3@motorola.com>
Reviewed-by: <weilt2@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Tested-by: Jira Key
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuzy55
01ccb7d278 rhodep: open camera debug ois log
details:
modify CAM_DBG to CAM_INFO

Change-Id: Iebd6265277bccb34df5e8aca8d44bfc1caf5d684
Signed-off-by: liuzy55 <liuzy55@motorola.com>
Reviewed-on: https://gerrit.mot.com/2185462
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Wang Liu <liuwang2@lenovo.com>
Reviewed-by: <zhaoxy41@motorola.com>
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Xingyun Fu <fuxy7@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
de858431fa camera: ois: disable ois vsync irq in factory build
[detail]
disable ois vsync irq in factory build

Change-Id: I047fe7425f5153dd4034d573643cb2b37813bcdf
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2179329
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: <zhaoxy41@motorola.com>
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: gaoyx9 <gaoyx9@motorola.com>
2023-04-14 14:47:30 +08:00
liuzy55
a73de5791a rhodep: add ois_reset after download fw
details:
add ois_reset

Change-Id: I1a542a5dd4552d544ab044485ce7049a77e408a4
Signed-off-by: liuzy55 <liuzy55@motorola.com>
Reviewed-on: https://gerrit.mot.com/2178679
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Reviewed-by: <zhaoxy41@motorola.com>
Tested-by: Jira Key
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
87030b06d3 camera: ois: change timestamp type
[detail]
Change Qtimer timestap to mono timestamp.

Change-Id: I6684b4b50f26d103521db21427da73e84799b85f
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2176215
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: <yinhy6@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
813ed251ff camera: ois: use mono timestamp for ois data
[detail]
use mono timestamp for ois data

Change-Id: Iefe79dc95bccabb431dbef24a13448b9a5aa6a1e
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2176429
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: <yinhy6@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
42b21db1fb camera: ois: read ois status in vsync thread
Read ois status and mode in vsync thread.
If ois is not enabled and not in move mode, skip vsync handle.

Change-Id: I2ddbf839b089da75550aef03b63fe136cbd4bc43
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2175243
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
handong
ca3c46dadd rhodec flash supplier distinguish[2/4]
details:
distinguish flash supplier

Change-Id: I8c4692e80dc64cecb34f8d747ca40b44dea3b707
Reviewed-on: https://gerrit.mot.com/2174388
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: <handong@wingtech.com>
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: <liuzy55@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
9fb3bd88bd camera: ois: add dw9781c Q-timer active ois
add dw9781c Q-timer active ois.
for dubai project.

Change-Id: Id6c9dd48d928364ca39f0b8e19fb5d34b5081c43
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2163522
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: <yinhy6@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
Bruno Melo
58847a6593 Revert "Revert "msm: camera: ife: Add ife num outport bound checks""
Adding back: msm: camera: ife: Add ife num outport bound checks. QC helped us to
investigate the stability issue on Berlin/BerlinNA caused by the reverted change.
ISP output number was being set incorectly on camx for Astro165.

This reverts commit f3bb3c280110fb2961afac73d214f1411e0cb839

Change-Id: I3e9aac8ae3bf81ccb6ffa7434a8db609c3c76525
Reviewed-on: https://gerrit.mot.com/2165129
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Gilberto Gambugge Neto <gambugge@motorola.com>
Reviewed-by: Monica Mabuchi <monicam@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
741a27ea0b milanf: enable active eis
[detail]
add some condition judgement

Change-Id: Idf7db283b79662084fa287a5743c8ad12f915d5b
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2164715
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
Bruno Melo
f311d7c3d9 Revert "msm: camera: ife: Add ife num outport bound checks"
Reverting QC patch temporarily to unblock Berlin/BerlinNA camera while 
we investigate its applicability.

This reverts commit 45dbb6c0cd

Change-Id: I7ec6edc857787e48ebe4e5fb1405ad13604dfb36
Reviewed-on: https://gerrit.mot.com/2163860
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Monica Mabuchi <monicam@motorola.com>
Reviewed-by: Gilberto Gambugge Neto <gambugge@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
86a6f14b08 camera: ois: add dw9781c packet judgement
Sometimes dw9781c packet can reach to 20 for unknown reason.
Add packet judgement to avoid buffer overflow.

Change-Id: I6920fe1310cbf340e2e3b8c624d2c1b3400c75a0
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2163312
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
5aa8af341f camera: ois: modify active ois code
modify max packet to 5.
avoid buffer overflow issue.

Change-Id: Idf60aeebe349dca8b7c0da3132abae74c3e892dc
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2159174
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: <liuzy55@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
0d6e82462d camera: ois: add new cci read function for ois
Qcom cci read function will use kzalloc()/kfree() to alloc temp
buf for cci read data.
As ois vsync irq thread use cci read very frequently,
so don't alloc/free temp buf when cci read.

Change-Id: I67a912d6ef5ba3f1820d5b571ff5bd55f8c1f561
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2155763
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: <liuzy55@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
d296bfbc93 camera: ois: read 0xC bytes in cci_read
sm6375 cci only support read 0xE bytes each time.
if we read 0xE bytes, it will access invalid memory.
so change to read 0xC bytes each time.

Change-Id: Id59620df4e5cb16bfb31396fdc6fc65c60449600
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2155699
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: <liuzy55@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
luozhq15
a77c5ebdb3 Rhodep: flash node control
details:
control flash enable & brightness

Change-Id: I59933ae02344bf167dbc3c775d5c9f08061786c0
Signed-off-by: luozhq15 <luozhq15@motorola.com>
Reviewed-on: https://gerrit.mot.com/2145011
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Reviewed-by: <huaqin90@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Tested-by: Jira Key
Reviewed-by: <liuzy55@motorola.com>
Reviewed-by: Wang Liu <liuwang2@lenovo.com>
Reviewed-by: Xingyun Fu <fuxy7@motorola.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
eb14c6118f camera: ois: read ois data in vsync irq thread
when vsync arrived, ois data has updated.
read it in the vsync thread.

Change-Id: I1bde6a76cf85d051cdd72bdff7a6df91364c906c
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2143947
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
huaqin78
8c97d184f6 Rhodep: add flash current ma control
details:
add flash current ma control

Change-Id: Ic3c89657ac568cf56fc2f402c90211fb433b6212
Signed-off-by: huaqin78 <huaqin78@motorola.com>
Signed-off-by: luozhq15 <luozhq15@motorola.com>
Reviewed-on: https://gerrit.mot.com/2142725
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: <huaqin90@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Tested-by: Jira Key
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
0e977529ef camera: ois: support vsync interrupt
[detail]
Use vsync interrupt timestamp for ois data timestamp.

Change-Id: I56ffced64ad368129115067f84109d8a66663f59
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2138044
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: <liuzy55@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
fdd0555708 ois: enable active ois
[detail]
enable active ois for milan5G dw9781c

Change-Id: I48087bbcc20ad23d91469e40bbe3054714a12f08
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2126132
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: <yinhy6@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Ji Zhao <zhaoji1@lenovo.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
huaqin90
2af5b82957 disable CONFIG_CAMERA_FLASH_PWM
details: disable CONFIG_CAMERA_FLASH_PWM in holicamera.conf
Eliminate impact on other projects

Change-Id: I2648e11032870c3060b194a3bfc5eeadaa38866e
Signed-off-by: huaqin90 <huaqin90@motorola.com>
Reviewed-on: https://gerrit.mot.com/2136223
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Ying Xu <xuying9@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
huaqin90
680078aeec Rhodep: flash bring up(1/2)
details:
flash bring up

Change-Id: Ic076ca9324f3ab0a0e83493484c14529ae3677b3
Signed-off-by: huaqin90 <huaqin90@motorola.com>
Reviewed-on: https://gerrit.mot.com/2134124
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Ying Xu <xuying9@motorola.com>
Reviewed-by: Huosheng Liao <liaohs@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
liuwang2
09e1a7c0af camera: ope: remove perframe log
[detail]
remove perframe cam ope log

Change-Id: I5f5f2da761646fbf5a4ccc926b0b479bb2ef69c6
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2046072
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
(cherry picked from commit 937376377ba9bf6cfc400dfeba61b3333ad46179)
Reviewed-on: https://gerrit.mot.com/2128266
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
2023-04-14 14:47:30 +08:00
liuwang2
074580ba46 camera: add probe sub-device
probe sub-device after probe sensor.
sub-device could be eeprom/actuator/i2c flash.

Change-Id: I4773a55bb80aa17b873e5f5022db1a44dfed5580
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2118615
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Xingyun Fu <fuxy7@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
Qiang Guo
bd291b65f4 camera: porting flashlight modify
porting: (CR)
corfup:flashlight working abnormally

porting: (CR)
corfur: flashlight auto turn off

Change-Id: I097f481394cf74bb7497a373078d3391a9748252
Signed-off-by: Qiang Guo <guoqiang8@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2078599
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: Shanghui Zhang <zhangsh@motorola.com>
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Quanlin Zhu <zhuql3@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: Ji Zhao <zhaoji1@lenovo.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
Qiang Guo
d43c0f4f90 camera: porting dw9781c ois
porting: (CR)
milanf: dw9781c ois bringup

Change-Id: Ibc40c253f4e4d04df41feeda4af41829b53e906c
Signed-off-by: Qiang Guo <guoqiang8@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2078610
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Shanghui Zhang <zhangsh@motorola.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Quanlin Zhu <zhuql3@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: Ji Zhao <zhaoji1@lenovo.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
Qiang Guo
d972a0c95a camera: porting af noise elimination
porting: (CR)
camera: add mot actuator driver

porting: (CR)
corfu5g: add mot actuator driver

Change-Id: Ic6a16d17f745129545a17af3cc2d68181de72009
Signed-off-by: Qiang Guo <guoqiang8@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2078653
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Shanghui Zhang <zhangsh@motorola.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Quanlin Zhu <zhuql3@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: Ji Zhao <zhaoji1@lenovo.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
zhuql3
59915db63d Berlin:add ois data type
Fixed the issue that the submission milan ois bringup caused
the Berlin tele sensor not work

Change-Id: Ib77132b7ef9785f717bb95a51ba758ab7d761851
Signed-off-by: zhuql3 <zhuql3@lenovo.com>
Reviewed-on: https://gerrit.mot.com/2074029
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: XiaoFeng Wang <wangxf32@lenovo.com>
Reviewed-by: Xingyun Fu <fuxy7@motorola.com>
Reviewed-by: Zilong Zhang <zhangzl7@lenovo.com>
Reviewed-by: Qiang Guo <guoq8@motorola.com>
Reviewed-by: Shanghui Zhang <zhangsh@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
121a965a52 cam: support volt compatible for hm2sp03&hm2sd03
-On xpeng,rear main camera s5khm2 will have two type(SP03&SD03), we need
set correct DVDD voltage for each sensor per module pin_20 value.
-Use gpio_48 to read module pin_20
-1 means hm2SP03,DVDD is 1.1v. 0 means hm2SD03,DVDD is 1.05v.

Change-Id: I119d9c17795867c84b21ff0e8afa6b69f0579778
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1960645
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Ji Zhao <zhaoji1@lenovo.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
861c995355 cam: add reset lens to reduce pop noise during quick-draw
-when use quick-draw to open camera,vibrator will be trigger first,and
mot_acatuator will power on and pull lens to specify DAC position,
DAC is 900 on berlin.And then camera will take control of
actuator and init actuator,this will cause lens fall back from a
high position to a low position,it will cause a obvious hit noise.
-This change will move lens back to low position step-by-step,befor
camera take control of actuator.
-It will cause about 38ms delay,will affect focus lock performance of
opening tele camera after vibration.

Change-Id: Icded21d8a863af79abcb9e9f98559757158d75ba
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1989392
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
216643ab56 cam: add wakelock for the actuator noise reduction.
-Sometimes system will suspend during the delaywork.
so add wakelock to ensure system is awake.
-port from 1984717

Change-Id: Ie081d6d3e6642c7d6f77b2a1f3eb9a3d82c9f69c
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1985991
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Yongqin Wan <wanyq1@motorola.com>
Reviewed-by: Zhilong Wang <wangzl30@motorola.com>
Reviewed-by: Quanlin Zhu <zhuql3@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
70cfea590d cam: reduce launch_lens step,add judgement before init
1.Reduces the number and length of launch_lens,to reduce delay of vibrating.
-Optimize delay of vibrating,but it still have about 110ms delay. 
2.Do not init actuator when camera APP is holding actuator.
-Fix the wide camera image shaking issue when the phone was vibrating

Change-Id: I7ee1c1a063cb6428d36544b6958e1b2f19f518ed
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1976594
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Wang Liu <liuwang2@lenovo.com>
Reviewed-by: Darong Huang <huangdra@motorola.com>
Reviewed-by: Jian Zhang <zhangjo@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Xingyun Fu <fuxy7@motorola.com>
Reviewed-by: Qiang Guo <guoq8@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
bc6fc504f9 cam: add launch_lens method and some optimization
-On berlin gt9772, according to KP's testing,safe DAC pose is 900, it's too
close to the edge,and may cause a small tick noise.So use launch_lens to move
lens step-by-step to reduce tick noise.
-It may cause about 180ms delay to move lens to specify location.
-This change just take effect during vibrating, don't affect normal camera.
-add some delay after camera action,to allow lens to be pulled into position
-try to init cci again when meet cci init failed on the first time.
-change log level and add some debug method to debug low probability resonance
noise issues on berlna

Change-Id: I7188a5fe2a7697af19b6830fc82a5f99195b7c44
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1954392
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Wang Liu <liuwang2@lenovo.com>
Reviewed-by: Zhilong Wang <wangzl30@motorola.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: Darong Huang <huangdra@motorola.com>
Reviewed-by: Xu Ji <jixu@motorola.com>
Reviewed-by: Jian Zhang <zhangjo@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
47c3f617f1 cam: update berlin gt9772 DAC value for resonance noise issue
-According KP's request,update DAC value to 900 for gt9772 on berlin.
-This value may cause a small hit noise when actuator power on during vibrating.

Change-Id: If366e101d0319fda77458827f400d91ad06f83cc
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1949296
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Zilong Zhang <zhangzl7@lenovo.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: Dawei Wang <wangdw10@motorola.com>
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
50d0d3de28 cam: enable cci dump when meet cci fail
[detail]
Default enable cci register dump when meet NACK or Timeout issue.

Change-Id: I4656f4eca644fb4a8a8274323b5943122e15df58
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1936494
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Dawei Wang <wangdw10@motorola.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: Peng Zhang <zhangp49@motorola.com>
Reviewed-by: Xingyun Fu <fuxy7@motorola.com>
Reviewed-by: Ji Zhao <zhaoji1@lenovo.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
b7b5e8bc55 cam: Add actuator standalone diver for berlin
-To eliminate the resonance noise during system vibrator vibrating, set actuator to
specified DAC position(480 on GT9772), then the resonance noise can be obviously improved.
To achieve the conbination between vibrator and camera AF actuator,we implemnte:
- Actuator separately control during camera power off.
- Actuator policy to avoid vibrating disturb normal camera AF.
- reinitialize when the safe_pos parameter is manually configured.

Change-Id: I8f674eb441e8382f4de77acbca27179f8302139e
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1928778
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Tested-by: Jira Key
Reviewed-by: Long Cheng <chengl1@motorola.com>
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
9d023ce977 cam: add macro CONFIG_AF_NOISE_ELIMINATION judgment
-fix build error
-only integrate mot_actuator driver on device which enabled
CONFIG_AF_NOISE_ELIMINATION
-modify dac_pos to 480,follow hanoip

Change-Id: I7205cd01df239ede3c7a54609d4c8eb54f42eb87
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1918702
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Dawei Wang <wangdw10@motorola.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: Ji Zhao <zhaoji1@lenovo.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangshuo18
68f7e5cb86 cam: Add actuator standalone diver for vibrator.
-To eliminate the resonance noise during system vibrator vibrating, set actuator to
specified DAC position(480 on DW9714), then the resonance noise can be obviously improved.
To achieve the conbination between vibrator and camera AF actuator,we implemnte:
- Actuator separately control during camera power off.
- Actuator policy to avoid vibrating disturb normal camera AF.
port from (CR),fix berlna wide camera resonance noise issue.

-Port from (CR): cam/actuator: Add CCI access lock to avoid conflicts.
Usually actuator initial setting will execute power down reset(PD), actuator can't respond
CCI access for a while after PD. Add lock to avoid access actuator while PD operation.

-Port from (CR): cam/actuator: Create separate work queue for park lens.
Park lens may cost more than 100ms for different camera modules, create seperate
work queue for actuator to avoid park lens operation block system_wq too long.

-Port from (CR): cam/actautor: Optimizing park lens for vibrating.
Move lens to noise reduction postion after camera exited.

-Port from (CR): cam/actuator: Avoid error releasing CCI/regulator.
Avoid unbalanced aquire/release of CCI/regulator when actuator init failed.
Due to when CCI init for vibrator failed, regulators had been released.

-For new baseline sm8350,compile this standalone actuator diver into camera.ko

Change-Id: If77d10badfb4147c467ebae238f4e6af317d466f
Signed-off-by: wangshuo18 <wangshuo18@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1906964
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Dawei Wang <wangdw10@motorola.com>
Reviewed-by: Darong Huang <huangdra@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Xu Ji <jixu@motorola.com>
Reviewed-by: Jian Zhang <zhangjo@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: Bolei Shang <shangbl1@lenovo.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:30 +08:00
wangdw10
09fc695550 msm: ois: support new OIS i2c settings
Add new fields to OIS data structures, support to apply ois
preprog data, precoeff data and postcalibration data

Change-Id: Ic8546882e053c10981698bc5ef5182571e6afc0b
Signed-off-by: wangdw10 <wangdw10@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1898786
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Dawei Wang <wangdw10@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
Reviewed-by: Xu Ji <jixu@motorola.com>
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
2023-04-14 14:47:30 +08:00
Vishal Verma
e57ff4ba23 msm: camera: sensor: Read using addr and data type
[detail]
Read using address and data type provided in xml

CRs-Fixed: 2675042
Change-Id: Ice85f2ce4a6fa38a7de4b1bf4233449c52cd39e2
Signed-off-by: Vishal Verma <vishverm@codeaurora.org>
Reviewed-on: https://gerrit.mot.com/1761431
Submit-Approved: Jira Key
Tested-by: Jira Key
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Reviewed-by: Wang Liu <liuwang2@lenovo.com>
(cherry picked from commit cab465769a5a610d37bccb99e8fb722ab2ffe188)
Reviewed-on: https://gerrit.mot.com/1763255
Reviewed-by: Dawei Wang <wangdw10@motorola.com>
(cherry picked from commit f1f2e1f642f7d1526d9ceb51e9947ceb98292862)
Reviewed-on: https://gerrit.mot.com/1893806
Reviewed-by: Shuo Wang <wangsh18@motorola.com>
Reviewed-by: Long Cheng <chengl1@motorola.com>
Reviewed-by: Jian Zhang <zhangjo@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Reviewed-by: Zhuoran Xu <xuzr3@motorola.com>
2023-04-14 14:47:30 +08:00
timwang
ae871fa71d V(CR): Port Active OIS Kernel Changes
-Adds Active OIS packet decoding logic
-Adds logic to read Active OIS data out of the OIS chip

Change-Id: I428e912d401fd18d555df62fe4cdea1d8a3ca18d
Reviewed-on: https://gerrit.mot.com/1738888
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Jian Luan <jamesluan@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:29 +08:00
timwang
23cf72040d V(CR): Port OIS Kernel Changes
-Add new fields to OIS data structures
-Add capability to program OIS more flexibly

Change-Id: I97988cc3a6d7fa2241016bd4a269618c8ff10ad0
Reviewed-on: https://gerrit.mot.com/1736525
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Dawei Wang <wangdw10@motorola.com>
Reviewed-by: Rav(CR) Vembu <raviv@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:29 +08:00
liuwang2
2ce39159e6 camera: EXPORT_SYMBOL cam_cci_get_subdev function
In kernel 5.4, camera driver would compile to camera.ko as GKI requirements,
and cci_intf driver need to call cam_cci_get_subdev function,
so export symbol cam_cci_get_subdev to it.

Change-Id: Ic299d9135f147d703d082604d02b43d88b7eb5ef
Signed-off-by: liuwang2 <liuwang2@lenovo.com>
Reviewed-on: https://gerrit.mot.com/1679152
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Dawei Wang <wangdw10@motorola.com>
Reviewed-by: Zhenxin Xi <xizx@motorola.com>
Submit-Approved: Jira Key
2023-04-14 14:47:29 +08:00