max9286
frame sync
帧同步模式分内同步、外同步两类;内同步又有手动、半自动、自动三种,半自动、自动时FSYNC PERDIV设置帧同步周期,每检测到多少个VSYNC后发送帧同步,半自动模式检测master那一路,自动模式时检测VSYNC最慢达到的那一路。
Internal Frame Sync (FSYNCMODE = 0X)
External Frame Sync (FSYNCMODE = 1X)
mode
| FSYNCMODE | default | |
| 00 | Internally generate frame sync, FSYNC/GPI is high impedance | 00 |
| 01 | Internally generate frame sync, FSYNC/GPI outputs frame sync | |
| 10 | Receive external frame sync from another MAX9286. FSYNC/ GPI is external frame sync input |
|
| 11 | Receive external frame sync from ECU. FSYNC/GPI is a general-purpose input |
method
| FSYNCMETH | when FSYNCMODE = 0X | default |
| 00 | Internal frame sync uses manual mode | |
| 01 | Internal frames sync uses semi-automatic mode | |
| 1x | Internal frame sync uses automatic mode | 10 |
log
grep "status change into" *.log
grep -E "CameraSourceProgress workingThread|CameraSourceProgress1Ch workingThread" *.log
I2C
[ 0.553150](2)[1:swapper/0][I2C]id: 0,freq:400000,div:5,ch_offset:0x0,offset_dma:0x0,offset_ccu:0x0
[ 0.553776](2)[1:swapper/0][I2C]id: 1,freq:100000,div:5,ch_offset:0x0,offset_dma:0x0,offset_ccu:0x0
[ 0.555925](2)[1:swapper/0][I2C]id: 2,freq:400000,div:5,ch_offset:0x100,offset_dma:0x0,offset_ccu:0x200
[ 0.556971](2)[1:swapper/0][I2C]id: 3,freq:100000,div:5,ch_offset:0x100,offset_dma:0x0,offset_ccu:0x0
[ 0.557453](2)[1:swapper/0][I2C]id: 4,freq:400000,div:5,ch_offset:0x100,offset_dma:0x0,offset_ccu:0x200
[ 0.557740](2)[1:swapper/0][I2C]id: 5,freq:400000,div:5,ch_offset:0x0,offset_dma:0x0,offset_ccu:0x0
[ 0.558477](2)[1:swapper/0][I2C]id: 6,freq:400000,div:5,ch_offset:0x100,offset_dma:0x0,offset_ccu:0x200
SIGNAL
| kernel-4.9 | ICameraStream | |||
| 0 | SIGNAL_IDLE | SIGNAL_STATUS_NONE | 0 | |
| 1 | SIGNAL_LOST | MIPIVC_SIGNAL_LOST | SIGNAL_STATUS_LOST | 2 |
| 2 | SIGNAL_READY | MIPIVC_SIGNAL_READY | SIGNAL_STATUS_READY | 1 |
drivers/misc/mediatek/imgsensor/inc/kd_imgsensor_define.h
85 typedef enum {
86 SIGNAL_IDLE,
87 SIGNAL_LOST,
88 SIGNAL_READY,
89 SIGNAL_STABLE,
90 SIGNAL_MAX
91 } SIGNAL_STATUS;
SIGNAL_STATUS
vendor/autochips/proprietary/hardware/videoin
ICameraStream
interface/camerasource/include/ICameraSource.h
70 class ICameraStream
71 {
72 public:
73 typedef enum
74 {
75 SIGNAL_STATUS_NONE = 0,
76 SIGNAL_STATUS_READY,
77 SIGNAL_STATUS_LOST,
78 SIGNAL_STATUS_MAX,
79 } SIGNAL_STATUS_ENUM;
MIPIVC_SIGNAL
libs/camerasource/inc/CameraSourceBase.h
52 #define MIPIVC_SIGNAL_LOST (1)
53 #define MIPIVC_SIGNAL_READY (2)
onEvent
215 if(isFirstGetStatus || _info.signalStatus != signalStatus) {
216 switch(_info.signalStatus) {
217 case MIPIVC_SIGNAL_LOST:
218 mCurStatus = ICameraStream::SIGNAL_STATUS_LOST;
219 break;
220
221 case MIPIVC_SIGNAL_READY:
222 mCurStatus = ICameraStream::SIGNAL_STATUS_READY;
223 break;
224
225 default:
226 mCurStatus = ICameraStream::SIGNAL_STATUS_NONE;
227 _LOGW("mipivcInst->getSensorInfo get invalid signalStatus : %d", _info.signalStatus);
228 break;
229 }
230
231 if(mCallback) {
232 mCallback->onEvent(IEventCallback::CAM_SIGNAL_CHANGED, camCh, mCurStatus);
233 }
234
235 signalStatus = _info.signalStatus;
236 isFirstGetStatus = false;
237 _LOGI("camera ch(%d) status change into %d", camCh, mCurStatus);
238 }
max9286_yuv_sensor.c
drivers/misc/mediatek/imgsensor/src/common/v1/max9286_yuv/max9286_yuv_sensor.c
i2c_speed
71 static int max9286_i2c_speed = 400;
max9671_read
120 static kal_uint16 max96701_read(int index, kal_uint32 addr)
121 {
1

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



