Skip to content

Commit 9971fd1

Browse files
authored
Merge pull request #31 from serinyeh/pr_add_imx471_configs
Add IMX471 related graph configs, settings and aiqb for IPU7.5
2 parents fe6614b + 358b70e commit 9971fd1

4 files changed

Lines changed: 223 additions & 0 deletions

File tree

557 KB
Binary file not shown.
214 KB
Binary file not shown.

config/linux/ipu75xa/libcamhal_configs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"ov08x40-uf-2",
2828
"lt6911gxd-1-0",
2929
"lt6911gxd-2-2",
30+
"imx471-uf-0",
3031
"isx031-1-0",
3132
"isx031-2-0",
3233
"isx031-3-0",
Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
//
2+
// Copyright (C) 2022 Intel Corporation
3+
//
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
//
8+
// http://www.apache.org/licenses/LICENSE-2.0
9+
//
10+
// Unless required by applicable law or agreed to in writing, software
11+
// distributed under the License is distributed on an "AS IS" BASIS,
12+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
// See the License for the specific language governing permissions and
14+
// limitations under the License.
15+
//
16+
17+
{
18+
"CameraSettings": {
19+
"Sensor": [
20+
{
21+
"name": "imx471-uf",
22+
"description": "imx471 as sensor.",
23+
"MediaCtlConfig": [
24+
{
25+
"id": 0 ,
26+
"configMode": "AUTO",
27+
"output": [1928, 1088],
28+
"format": "V4L2_PIX_FMT_SRGGB10",
29+
"formats": [
30+
{
31+
"name": "imx471 $I2CBUS", "pad": 0, "width": 1928, "height": 1088,
32+
"format": "V4L2_MBUS_FMT_SRGGB10_1X10"
33+
},
34+
{
35+
"name": "Intel IPU7 CSI2 $CSI_PORT", "pad": 0, "width": 1928, "height": 1088,
36+
"format": "V4L2_MBUS_FMT_SRGGB10_1X10"
37+
}
38+
],
39+
"link": [
40+
{
41+
"srcName": "imx471 $I2CBUS", "srcPad": 0, "sinkName": "Intel IPU7 CSI2 $CSI_PORT",
42+
"sinkPad": 0, "enable": true
43+
},
44+
{
45+
"srcName": "Intel IPU7 CSI2 $CSI_PORT", "srcPad": 1,
46+
"sinkName": "Intel IPU7 ISYS Capture $CAP_N", "sinkPad": 0, "enable": true
47+
}
48+
],
49+
"control": [
50+
{
51+
"name": "imx471 $I2CBUS", "ctrlId": "V4L2_CID_HFLIP", "value": 0
52+
},
53+
{
54+
"name": "imx471 $I2CBUS", "ctrlId": "V4L2_CID_VFLIP", "value": 0
55+
},
56+
],
57+
"videonode": [
58+
{
59+
"name": "Intel IPU7 ISYS Capture $CAP_N", "videoNodeType": "VIDEO_GENERIC"
60+
},
61+
{
62+
"name": "Intel IPU7 CSI2 $CSI_PORT", "videoNodeType": "VIDEO_ISYS_RECEIVER"
63+
},
64+
{
65+
"name": "imx471 $I2CBUS", "videoNodeType": "VIDEO_PIXEL_ARRAY"
66+
}
67+
]
68+
}
69+
],
70+
"StaticMetadata": {
71+
"supportedStreamConfig": [
72+
{
73+
"format": "V4L2_PIX_FMT_NV12", "size": [1920, 1080], "field": 0, "mcId": 0
74+
},
75+
{
76+
"format": "V4L2_PIX_FMT_NV12", "size": [1280, 720], "field": 0, "mcId": 0
77+
},
78+
{
79+
"format": "V4L2_PIX_FMT_NV12", "size": [640, 480], "field": 0, "mcId": 0
80+
},
81+
{
82+
"format": "V4L2_PIX_FMT_NV12", "size": [640, 360], "field": 0, "mcId": 0
83+
}
84+
],
85+
"supportedFeatures": [
86+
"MANUAL_EXPOSURE", "MANUAL_WHITE_BALANCE", "IMAGE_ENHANCEMENT",
87+
"NOISE_REDUCTION", "PER_FRAME_CONTROL", "SCENE_MODE" ],
88+
"fpsRange": [ 15, 15, 15, 30, 30, 30 ],
89+
"evRange": [ -6, 6 ],
90+
"evStep": [ 1, 3 ],
91+
"supportedAeMode": [ "AUTO", "MANUAL" ],
92+
"supportedVideoStabilizationModes": ["OFF"],
93+
"supportedSceneMode": ["NORMAL"],
94+
"supportedAntibandingMode": [ "AUTO", "50Hz", "60Hz", "OFF" ],
95+
"supportedAwbMode": [ "AUTO", "INCANDESCENT", "FLUORESCENT", "DAYLIGHT", "FULL_OVERCAST",
96+
"PARTLY_OVERCAST", "SUNSET", "VIDEO_CONFERENCE", "MANUAL_CCT_RANGE", "MANUAL_WHITE_POINT",
97+
"MANUAL_GAIN", "MANUAL_COLOR_TRANSFORM" ],
98+
"supportedAfMode": [ "OFF" ],
99+
"metadata":{
100+
"ae.lockAvailable": [1],
101+
"awb.lockAvailable": [1],
102+
// 0: OFF, 1: AUTO, 2: USE_SCENE_MODE, 3: OFF_KEEP_STATE
103+
"control.availableModes" : [ 0, 1 ],
104+
// 0: DISABLE, 1: FACE_PRIORITY
105+
"control.availableSceneModes": [0],
106+
"control.maxRegions" : [ 1, 0, 0 ],
107+
// 0: OFF, 1: SMPLE, 2: FULL
108+
"statistics.info.availableFaceDetectModes" : [0],
109+
// align with supportedAeExposureTimeRange
110+
"sensor.info.exposureTimeRange": [ 100, 100000 ],
111+
"sensor.info.activeArraySize": [ 0, 0, 1928, 1088 ],
112+
"sensor.info.pixelArraySize": [1928, 1088],
113+
// 0:RGGB, 1:GRBG, 2:GBRG, 3:BGGR, 4:RGB
114+
"sensor.info.colorFilterArrangement": [0],
115+
// raw, yuv, jpeg
116+
"request.maxNumOutputStreams": [ 1, 3, 1 ],
117+
// 0: No input, 1: 1 input stream (YUV or RAW), 2: 2 input streams (YUV and RAW)
118+
"request.maxNumInputStreams": [1],
119+
"request.pipelineMaxDepth": [7],
120+
// 0:backward, 1:manual_sensor, 2:manual_pso_processing, 3:raw, 4:zsl, 5:read_sensor_settings, 6:burst_capture, 7: yuv reprocessing
121+
"request.availableCapabilities": [ 0, 1, 2, 4, 5, 6 ],
122+
// input fmt, output fmt number, output fmts; fmt: YCbCr_420_888:0x23 (35), IMPLEMENTATION_DEFINED:0x22 (34), Blob:0x21 (33)
123+
"scaler.availableInputOutputFormatsMap": [ 34, 2, 33, 35 ],
124+
"sensor.opaqueRawSize": [1928, 1088, 100],
125+
// available stream configurations: format: IMPLEMENTATION_DEFINED(34)|YCbCr_420_888:0x23(35)|BLOB(33), widthxheight, type: output(0)|input(1)
126+
"scaler.availableStreamConfigurations": [
127+
33,1920,1080,0,
128+
33,1280,720,0,
129+
33,640,480,0,
130+
33,640,360,0,
131+
35,1920,1080,0,
132+
35,1280,720,0,
133+
35,640,480,0,
134+
35,640,360,0,
135+
34,1920,1080,0,
136+
34,1280,720,0,
137+
34,640,480,0,
138+
34,640,360,0
139+
],
140+
// minimum frame duration: format: IMPLEMENTATION_DEFINED(34)|YCbCr_420_888:0x23(35)|BLOB(33), widthxheight, duration:(ns)
141+
"scaler.availableMinFrameDurations": [
142+
33,1920,1080,33333333,
143+
33,1280,720,33333333,
144+
33,640,480,33333333,
145+
33,640,360,33333333,
146+
35,1920,1080,33333333,
147+
35,1280,720,33333333,
148+
35,640,480,33333333,
149+
35,640,360,33333333,
150+
34,1920,1080,33333333,
151+
34,1280,720,33333333,
152+
34,640,480,33333333,
153+
34,640,360,33333333
154+
],
155+
// maximum stall duration: format: IMPLEMENTATION_DEFINED(34)|YCbCr_420_888:0x23(35)|BLOB(33), widthxheight, duration:(ns)
156+
"scaler.availableStallDurations": [
157+
33,1920,1080,33333333,
158+
33,1280,720,33333333,
159+
33,640,480,33333333,
160+
33,640,360,33333333
161+
],
162+
// INCREASING ORDER
163+
"jpeg.availableThumbnailSizes": [ 0, 0, 320, 180, 320, 240 ],
164+
// 0:off, 1:fast, 2:high_quality, 3:zero_shutter_lag
165+
"edge.availableEdgeModes": [ 0, 1, 2, 3 ],
166+
// 0:off, 1:fast, 2:high_quality
167+
"hotPixel.availableHotPixelModes": [ 1, 2 ],
168+
// 0:off, 1:fast, 2:high_quality, 3:minimal, 4:zero_shutter_lag
169+
"noiseReduction.availableNoiseReductionModes": [ 0, 1, 2, 4 ],
170+
"tonemap.maxCurvePoints": [1024],
171+
// 0:contrast_curve, 1:fast, 2:high_quality, 3:gamma_value, 4:preset_curve
172+
"tonemap.availableToneMapModes": [ 1, 2, 3, 4 ],
173+
// Number of frames
174+
"reprocess.maxCaptureStall": [4],
175+
// 0:limited, 1:full, 2:legacy, 3:level3
176+
"info.supportedHardwareLevel": [1],
177+
// 0:per-frame, -1:unknown, other positive number:frame count
178+
"sync.maxLatency": [0]
179+
}
180+
},
181+
"supportedTuningConfig": [ ["NORMAL", "VIDEO", "IMX471_BBG803N3_PTL"], ["STILL_CAPTURE", "VIDEO", "IMX471_BBG803N3_PTL"]],
182+
// The lard tags configuration. Every tag should be 4-characters.
183+
// TuningMode, cmc tag, aiq tag, isp tag, others tag
184+
"lardTags": [[ "VIDEO", "DFLT", "DFLT", "DFLT", "DFLT" ]],
185+
// ascending order request
186+
"supportedISysSizes": [[1928, 1088]],
187+
"supportedISysFormat": ["V4L2_PIX_FMT_SRGGB10"],
188+
"enableAIQ": true,
189+
"iSysRawFormat": "V4L2_PIX_FMT_SRGGB10",
190+
"maxRawDataNum": 32,
191+
"initialSkipFrame": 0,
192+
"exposureLag": 2,
193+
"gainLag": 2,
194+
"digitalGainLag": 0,
195+
"ltmGainLag": 1,
196+
// There are 2 yuv color range mode, like full, reduced.
197+
"yuvColorRangeMode": "full",
198+
"pipeSwitchDelayFrame": 60,
199+
"graphSettingsFile": "IMX471_BBG803N3.IPU75XA.bin",
200+
"graphSettingsType": "dispersed",
201+
"enablePSysProcessor": true,
202+
"dvsType": "IMG_TRANS",
203+
"testPatternMap": { "Off": 0, "ColorBars": 1
204+
},
205+
"enableAiqd": true,
206+
"useCrlModule": false,
207+
"pslOutputMapForRotation": [
208+
[[1920, 1080], [1920, 1080]],
209+
[[1280, 720], [1280, 720]],
210+
[[640, 480], [1280, 960]],
211+
[[640, 360], [1280, 960]]
212+
],
213+
"maxRequestsInflight": 6,
214+
"psysBundleWithAic": false,
215+
"skipFrameV4L2Error": true,
216+
"isISYSCompression": false,
217+
"isPSACompression": false,
218+
"usingMockPSys": false
219+
}
220+
]
221+
}
222+
}

0 commit comments

Comments
 (0)