Commit Graph

31 Commits

Author SHA1 Message Date
Soumen Ghosh
24a496388f msm: camera: common: changes to handle err in bazel build
Currently, the 'mm/slab.h' header is used to access a private kernel
structure. With Bazel, private headers are not available.
Refactor the code to avoid the use of the private header.

CRs-Fixed: 3535645
Change-Id: I3b442f0a7b2b70fbf638d3f505c47de88b14c5e6
Signed-off-by: Soumen Ghosh <quic_soumeng@quicinc.com>
2023-08-03 16:50:00 -07:00
Sokchetra Eung
df4373f69f msm: camera: icp: Add OFE Kernel Driver
Create OFE HW layer which contains device, soc, and core files.
Device file provides the prob functionality and OFE dev interface
to ICP HW MGR. Core file provides HW related functionalities such
as PC, reset, init/deinit hw, etc. Soc file provides intermediate
functions to utilize camera soc APIs such as DT parsing, Clock
update, etc.

Modify Kbuild to include compilation of the source files. Update
camera main file to invoke ofe init module function during camera
module init. Update camera main header file to allow CRM to match
OFE driver for component bind.

Update OFE HW register addresses such as power status/power ctrl,
reset, irq, etc.

CRs-Fixed: 3266673
Change-Id: I97efe095801b1b42e9de07aeba6f26112cb8f92b
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>
2022-10-21 16:06:13 -07:00
Trishansh Bhardwaj
58fab0efe0 msm: camera: common: Add camera banner
camera_banner contains compilation timestamp, which can be used
to find mismatch between ramdump and symbols.

CRs-Fixed: 3261129
Change-Id: I021f6f9417b227d07a4424f7522e27c8535b0363
Signed-off-by: Trishansh Bhardwaj <quic_tbhardwa@quicinc.com>
2022-09-07 14:36:08 -07:00
sokchetra eung
9c730e3b84 msm: camera: icp: Rename A5 and LX7
Rename all instances of a5 and lx7 to icp_v1 and icp_v2
respectively. Remove all mentions of lx7 or a5 in icp_hw_mgr.
Relocate lx7_hw and a5_hw directories to a new directory -
icp_proc which contains a new file to provide related a5 or lx7
interfaces to icp_hw_mgr. Thus, icp_hw_mgr is agnostic to icp proc.
Place common functions and common global constant into icp_proc_common
file. Remove a5/lx7 soc files and create a common soc file for both.
Modify kbuild file to account for directory or file changes.

CRs-Fixed: 3162183
Change-Id: I7e0cfd2a2917f129097a517af3bd39578f85293d
Signed-off-by: sokchetra eung <quic_eung@quicinc.com>
2022-04-15 16:06:57 -07:00
Anand Ravi
cbe499e9eb msm: camera: common: create a common root folder for debugfs
Create common root folder under debugfs root named camera at probe. Add
utility functions to create subdirectories under the common camera root.

CRs-Fixed: 3093049
Change-Id: Ia4cefb5d2263ecabf1b9d70deefa1ee624b04f07
Signed-off-by: Anand Ravi <quic_ananravi@quicinc.com>
2021-12-22 16:43:42 -08:00
Depeng Shao
425e0a8142 msm: camera: sensor: enable the compilation for flash
This change enables the compilation for flash even
though there is no pmic flash support, since the i2c
flash still needs the flash framework.

CRs-Fixed: 3095773
Change-Id: I220a38dce1cbc829e446a65c61b7b7eb6b3a1c5b
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
2021-12-20 04:49:10 -08:00
Karthik Jayakumar
8e40886be9 msm: camera: common: Add presil compilation and probe support
Adds new presil files to Kbuild compilation and camera_main
probe support.

CRs-Fixed: 2932495
Change-Id: Iccde6ce68f6db2dee94e2d73d3094fa6314ad372
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2021-09-27 10:41:36 -07:00
Tony Lijo Jose
caa6b2a1a4 msm: camera: sensor: Add tpg driver support
Add new tpg subdev driver. This change exposes the tpg hw as a new
subdev similar to that of a sensor driver.

CRs-Fixed: 2973850
Change-Id: I6fdb4457d8cc829546896f26bdde8765a4258e7c
Signed-off-by: Tony Lijo Jose <tjose@codeaurora.org>
2021-06-29 00:44:14 -07:00
Gaurav Jindal
52ac0ccc9f msm: camera: isp: Remove TPG code from hw manager
In upcoming targets, TPG will be supported as a separate node.
This commit removes the tpg code from ife/tfe hw manager.

CRs-Fixed: 2973850
Change-Id: I031302756d85e004fc3a07f9864daf2c16dd837b
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
2021-06-29 12:30:22 +05:30
Vikram Sharma
455abec717 msm: camera: cre: unit test fixes
Fixes for the issues found in Unit testing of CRE.

CRs-Fixed: 2893978
Change-Id: I7b8061cf2fd4693bde084a003bc101be1cbde1d1
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
2021-05-17 01:13:41 -07:00
Wyes Karny
4e535ac459 msm: camera: isp: Add support for new CSID
Add CSID640 support. The following features support are added:
  - QCFA binning and BAYER binning support
  - Format measure support
  - Multi VC DT support
  - Add core_cfg support in in_port structure

CRs-Fixed: 2887030
Change-Id: Idd7d081c985f3ef21e0fee7ce4c1b8db96ddd3c3
Signed-off-by: Wyes Karny <wkarny@codeaurora.org>
2021-04-12 01:34:13 -07:00
Vikram Sharma
23762a67ed msm: camera: cre: Add CRE driver changes
Add new camera driver Camera Reformat Engine (CRE).

CRs-Fixed: 2893978
Change-Id: Ia39b222493393bf7bb72525c86f0060ca0dc77c2
Signed-off-by: Vikram Sharma <vikramsa@codeaurora.org>
2021-03-31 02:49:52 -07:00
Mukund Madhusudan Atre
fa19532b36 msm: camera: common: Add appropriate camera initialization log
Currently, the camera initialization log only points to the
camera initcalls execution. The camera driver is initailized when
all components are bound succussfully in CRM master bind. Add
appropriate log to convey correct info.

CRs-Fixed: 2841729
Change-Id: I5a52ad9fdf84d79d66763d47c92d2a63bb8d0e21
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2021-03-05 10:35:04 -08:00
Karthik Anantha Ram
b828e58254 msm: camera: common: Update waipio config
Allow SFE HW to probe via ISP config. Removes usage
of an exclusive SFE config macro.

CRs-Fixed: 2841729
Change-Id: I4494d23653fb6c96a4931c412babed0b8f61631b
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2021-02-05 10:20:06 -08:00
Karthik Anantha Ram
4e25fa702e msm: camera: icp: Add LX7 driver
Add initial support for the LX7 processor.
Support for firmware loading and processor boot are
still pending. Note this also cleans up some descriptions
in struct cam_icp_hw_mgr that were left over when the
debugfs entries were renamed.

CRs-Fixed: 2722486
Change-Id: I626cc27e26e1ebac8ec6b4509ab5da2a013457b1
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2021-01-12 19:00:56 -08:00
Gaurav Jindal
4b58880f6f msm: camera: isp: CSID Driver Refactoring
Due to major hw changes in latest CSID680 IP block, refactoring of
CSID kernel driver is required.
To support the hw speciific driver, version based files
are added. One common file to support the common functionality
and common utilities has also been added.

CRs-Fixed: 2830502
Change-Id: If1e2a0835ce285f968f154d2da5595e882ae6ccd
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
2020-12-11 22:12:44 +05:30
Karthik Anantha Ram
1232bfaa25 msm: camera: isp: Add support for SFE HW layer in ISP driver
Add support for SFE TOP, SFE BUS_WR & SFE BUS_RD in ISP
driver.

CRs-Fixed: 2733230
Change-Id: I85d356d28879b5cf9144a459fcdbd9f57526fa91
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2020-10-06 21:16:33 -07:00
Trishansh Bhardwaj
97eeefea15 msm: camera: tfe: Enable TFE and OPE for bengal
Enable TFE and OPE compilation for bengal target.

CRs-Fixed: 2729996
Change-Id: I648cae32f39a5bf7225c8be545f1c310e24db8e6
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2020-07-23 05:42:11 -07:00
Trishansh Bhardwaj
e625f33cff msm: camera: isp: Bring PPI driver in camera techpack
This change bring PPI driver from msm-4.14 to camera-kernel.lnx.4.0.
msm: camera: isp: Added PPI driver functionality
msm: camera: ppi: Change PPI reset sequence
msm: camera: isp: Do not enable the ppi hw twice.

CRs-Fixed: 2682747
Change-Id: I7cde3aeed1dbcef95f25441c2482f5bc8c1534de
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2020-06-19 00:37:59 +05:30
Karthik Jayakumar
655736ee0b msm: camera: common: Remove extra CAM_INFO logs
Changes extraneous CAM_INFO logs into CAM_DBG logs in order to help
de-clutter serial boot logs.

CRs-Fixed: 2669269
Change-Id: I7589bd64363aa122c46e1193c68bbf49d78a4a9a
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2020-04-30 09:37:40 -07:00
Karthik Jayakumar
75740a1ced msm: camera: common: Fix types for comparison function
Creates a function to match expectant types for platform device
comparisons during component registration.

CRs-Fixed: 2584631
Change-Id: Ib07160b8d8f1a370ba535ffdbbc6adbe391c68d5
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2020-03-10 12:57:20 -07:00
Camera Software Integration
695e073072 Merge "msm: camera: common: Fix failures in v4l2 unregister during error" into camera-kernel.lnx.4.0 2020-03-02 15:05:39 -08:00
Mukund Madhusudan Atre
0a649b3063 msm: camera: common: Fix failures in v4l2 unregister during error
Missing video unregister was causing list delete corruption.
Also, there were double free errors in Sync and CRM driver. Fix
v4l2 issues by adding the missing unregister calls and changing
release callback to empty, because we are freeing it during
cleanup. Improve logging during bind/unbind to better reflect what
is happening.

CRs-Fixed: 2584631
Change-Id: Idc5db655d22df54e8bdb470d29896e10f6987796
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-28 16:02:56 -08:00
Mukund Madhusudan Atre
ac6f8eeb6d msm: camera: flash: Add qti flash support in camera
Add support for qti flash along with updated max current DT
property. Remove support for enable/disable regulator as it
is no-op since a long time.

CRs-Fixed: 2584631
Change-Id: I3305e7b6e4d6ef34d90d38f5f25cfa5b8b817f8b
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-27 14:17:13 -08:00
Venkat Chinta
131b4115d5 msm: camera: isp: Add support for PHY TPG
This change adds support for PHY TPG version
102 hardware.

CRs-Fixed: 2608550
Change-Id: I92387b08e8a91bb0c6a77b5301ebc30c7cb6f252
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-10 15:17:44 -08:00
Mukund Madhusudan Atre
5cb000ee7f msm: camera: common: Add component helper support in camera
Due to the asynchronous nature of platform probes, inter
dependency between drivers needs to be taken care during
kernel boot up. Component helper provides the facility of
adding matching drivers in a list ordered in the way we want
to bind those drivers. The CRM driver acts as component master
to make sure all slave drivers are bound before it returns
from its own bind call. Add support for serializing platform
probes through component framework.

CRs-Fixed: 2584631
Change-Id: I345da1d2b9cccf6021ac6fc899143013b7714ec4
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-05 22:58:13 -08:00
Trishansh Bhardwaj
cb2e8943da msm: camera: tfe: Add support to TFE driver
TFE is thin front end hardware that capture and process the
real time image. Support is added to enable the TFE
hardware.

CRs-Fixed: 2594541
Change-Id: I0ab2eff7924e9e01f6a0fcec772d3a7dda229b37
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2020-01-16 17:45:42 +05:30
Trishansh Bhardwaj
12d9311463 msm: camera: ope: Add support to OPE driver
OPE is camera offline engine, support is added
to enable camera OPE hardware.

CRs-Fixed: 2594541
Change-Id: I65c69f5763d05abf265b645b09c95c55fb290182
Signed-off-by: Suresh Vankadara <svankada@codeaurora.org>
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2020-01-15 14:37:54 -08:00
Karthik Jayakumar
7b1dc04866 msm: camera: config: Fix lahaina configuration
Top-level Makefile doesn't export techpack configs.
As such, we must revert to generating our own conf.h file instead of
relying on autoconf.h. This has the side-effect of not allowing
IS_REACHABLE/IS_ENABLED macro's from working on configs enabled within
a techpack.

CRs-Fixed: 2584631
Change-Id: I9c35b305b81c5a6a6892ca87ace9f69192fcca5b
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2020-01-10 14:48:45 -08:00
Mukund Madhusudan Atre
80ccf69ac9 msm: camera: reqmgr: Change subdev register logic in camera req manager
Due to deferred probes being dpendent on request manager to register
v4l2 subdev, failures are seen if probes are delayed. Change logic
for subdev registration to avoid failures due to delay.

CRs-Fixed: 2584631
Change-Id: Ia01d5d27ff6a6e6dbbb8e3b25b9aa53ac2fa9e38
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
2020-01-09 12:05:56 -08:00
Jigarkumar Zala
03b6c2140f msm: camera: common: Make platform register centralized
Currently camera modules platform registration/remove function
is being called as a part of module_init function individually.
Building camera as module, current infrastructure cannot support
it, as DLKM only support single module_init/exit function.
This change enables that support by combining all platform
entry/remove functions centrally. Also, remove all submodule
makefiles and combined into one root makefile in order to generate
single kernel object file to dynamically loading the kernel module
in case of DLKM compilation.

CRs-Fixed: 2569808
Change-Id: I59db3ed6cef60123e474db2f222c39836056bd6e
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2019-12-04 12:33:01 -08:00