xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/hwi/CamHwBase.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  *  Copyright (c) 2019 Rockchip Corporation
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Licensed under the Apache License, Version 2.0 (the "License");
5*4882a593Smuzhiyun  * you may not use this file except in compliance with the License.
6*4882a593Smuzhiyun  * You may obtain a copy of the License at
7*4882a593Smuzhiyun  *
8*4882a593Smuzhiyun  *      http://www.apache.org/licenses/LICENSE-2.0
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  * Unless required by applicable law or agreed to in writing, software
11*4882a593Smuzhiyun  * distributed under the License is distributed on an "AS IS" BASIS,
12*4882a593Smuzhiyun  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4882a593Smuzhiyun  * See the License for the specific language governing permissions and
14*4882a593Smuzhiyun  * limitations under the License.
15*4882a593Smuzhiyun  *
16*4882a593Smuzhiyun  */
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun #include "CamHwBase.h"
19*4882a593Smuzhiyun #include "SensorHw.h"
20*4882a593Smuzhiyun #include "LensHw.h"
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun namespace RkCam {
23*4882a593Smuzhiyun 
CamHwBase()24*4882a593Smuzhiyun CamHwBase::CamHwBase()
25*4882a593Smuzhiyun     : mKpHwSt (false)
26*4882a593Smuzhiyun {}
27*4882a593Smuzhiyun 
~CamHwBase()28*4882a593Smuzhiyun CamHwBase::~CamHwBase()
29*4882a593Smuzhiyun {}
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun XCamReturn
init(const char * sns_ent_name)32*4882a593Smuzhiyun CamHwBase::init(const char* sns_ent_name)
33*4882a593Smuzhiyun {
34*4882a593Smuzhiyun     // TODO: new all subdevices and open
35*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
36*4882a593Smuzhiyun }
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun XCamReturn
deInit()39*4882a593Smuzhiyun CamHwBase::deInit()
40*4882a593Smuzhiyun {
41*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
42*4882a593Smuzhiyun }
43*4882a593Smuzhiyun 
44*4882a593Smuzhiyun XCamReturn
prepare(uint32_t width,uint32_t height,int mode,int t_delay,int g_delay)45*4882a593Smuzhiyun CamHwBase::prepare(uint32_t width, uint32_t height, int mode, int t_delay, int g_delay)
46*4882a593Smuzhiyun {
47*4882a593Smuzhiyun     // TODO
48*4882a593Smuzhiyun     // check sensor's output width,height
49*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
50*4882a593Smuzhiyun }
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun XCamReturn
start()53*4882a593Smuzhiyun CamHwBase::start()
54*4882a593Smuzhiyun {
55*4882a593Smuzhiyun     // TODO
56*4882a593Smuzhiyun     // subscribe events
57*4882a593Smuzhiyun     // start devices
58*4882a593Smuzhiyun     // start pollthread
59*4882a593Smuzhiyun //    mPollthread->start();
60*4882a593Smuzhiyun //    mPollLumathread->start();
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
63*4882a593Smuzhiyun }
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun XCamReturn
stop()66*4882a593Smuzhiyun CamHwBase::stop()
67*4882a593Smuzhiyun {
68*4882a593Smuzhiyun     // TODO
69*4882a593Smuzhiyun     // unsubscribe events
70*4882a593Smuzhiyun     // stop pollthread
71*4882a593Smuzhiyun     // stop devices
72*4882a593Smuzhiyun //    mPollthread->stop();
73*4882a593Smuzhiyun //    mPollLumathread->stop();
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
76*4882a593Smuzhiyun }
77*4882a593Smuzhiyun 
pause()78*4882a593Smuzhiyun XCamReturn CamHwBase::pause()
79*4882a593Smuzhiyun {
80*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
81*4882a593Smuzhiyun }
resume()82*4882a593Smuzhiyun XCamReturn CamHwBase::resume()
83*4882a593Smuzhiyun {
84*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
85*4882a593Smuzhiyun }
86*4882a593Smuzhiyun 
87*4882a593Smuzhiyun XCamReturn
getSensorModeData(const char * sns_ent_name,rk_aiq_exposure_sensor_descriptor & sns_des)88*4882a593Smuzhiyun CamHwBase::getSensorModeData(const char* sns_ent_name,
89*4882a593Smuzhiyun                              rk_aiq_exposure_sensor_descriptor& sns_des)
90*4882a593Smuzhiyun {
91*4882a593Smuzhiyun     // TODO
92*4882a593Smuzhiyun     // get from SensorHw
93*4882a593Smuzhiyun 
94*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
95*4882a593Smuzhiyun }
96*4882a593Smuzhiyun 
97*4882a593Smuzhiyun XCamReturn
setHwResListener(HwResListener * resListener)98*4882a593Smuzhiyun CamHwBase::setHwResListener(HwResListener* resListener)
99*4882a593Smuzhiyun {
100*4882a593Smuzhiyun     mHwResLintener = resListener;
101*4882a593Smuzhiyun 
102*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
103*4882a593Smuzhiyun }
104*4882a593Smuzhiyun 
105*4882a593Smuzhiyun XCamReturn
poll_buffer_ready(SmartPtr<VideoBuffer> & buf,int type)106*4882a593Smuzhiyun CamHwBase::poll_buffer_ready (SmartPtr<VideoBuffer> &buf, int type)
107*4882a593Smuzhiyun {//not used
108*4882a593Smuzhiyun     assert(0);
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
111*4882a593Smuzhiyun }
112*4882a593Smuzhiyun 
113*4882a593Smuzhiyun XCamReturn
poll_buffer_ready(SmartPtr<VideoBuffer> & buf)114*4882a593Smuzhiyun CamHwBase::poll_buffer_ready (SmartPtr<VideoBuffer> &buf)
115*4882a593Smuzhiyun {
116*4882a593Smuzhiyun     if (mHwResLintener) {
117*4882a593Smuzhiyun         return mHwResLintener->hwResCb(buf);
118*4882a593Smuzhiyun     }
119*4882a593Smuzhiyun 
120*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
121*4882a593Smuzhiyun }
122*4882a593Smuzhiyun 
123*4882a593Smuzhiyun XCamReturn
poll_buffer_failed(int64_t timestamp,const char * msg)124*4882a593Smuzhiyun CamHwBase::poll_buffer_failed (int64_t timestamp, const char *msg)
125*4882a593Smuzhiyun {
126*4882a593Smuzhiyun     // TODO
127*4882a593Smuzhiyun     return XCAM_RETURN_ERROR_FAILED;
128*4882a593Smuzhiyun }
129*4882a593Smuzhiyun 
130*4882a593Smuzhiyun XCamReturn
poll_event_ready(uint32_t sequence,int type)131*4882a593Smuzhiyun CamHwBase::poll_event_ready (uint32_t sequence, int type)
132*4882a593Smuzhiyun {
133*4882a593Smuzhiyun     return XCAM_RETURN_NO_ERROR;
134*4882a593Smuzhiyun }
135*4882a593Smuzhiyun 
136*4882a593Smuzhiyun XCamReturn
poll_event_failed(int64_t timestamp,const char * msg)137*4882a593Smuzhiyun CamHwBase::poll_event_failed (int64_t timestamp, const char *msg)
138*4882a593Smuzhiyun {
139*4882a593Smuzhiyun     return XCAM_RETURN_ERROR_FAILED;
140*4882a593Smuzhiyun }
141*4882a593Smuzhiyun } //namspace RkCam
142