@@ -851,6 +851,40 @@ static const struct ds5_resolution y8_sizes[] = {
851851 }
852852};
853853
854+ static const struct ds5_resolution y8_40x_sizes [] = {
855+ {
856+ .width = 1280 ,
857+ .height = 720 ,
858+ .framerates = ds5_depth_framerate_to_30 ,
859+ .n_framerates = ARRAY_SIZE (ds5_depth_framerate_to_30 ),
860+ }, {
861+ .width = 848 ,
862+ .height = 480 ,
863+ .framerates = ds5_framerate_to_90 ,
864+ .n_framerates = ARRAY_SIZE (ds5_framerate_to_90 ),
865+ }, {
866+ .width = 640 ,
867+ .height = 480 ,
868+ .framerates = ds5_framerate_to_90 ,
869+ .n_framerates = ARRAY_SIZE (ds5_framerate_to_90 ),
870+ }, {
871+ .width = 640 ,
872+ .height = 360 ,
873+ .framerates = ds5_framerate_to_90 ,
874+ .n_framerates = ARRAY_SIZE (ds5_framerate_to_90 ),
875+ }, {
876+ .width = 480 ,
877+ .height = 270 ,
878+ .framerates = ds5_framerate_to_90 ,
879+ .n_framerates = ARRAY_SIZE (ds5_framerate_to_90 ),
880+ }, {
881+ .width = 424 ,
882+ .height = 240 ,
883+ .framerates = ds5_framerate_to_90 ,
884+ .n_framerates = ARRAY_SIZE (ds5_framerate_to_90 ),
885+ },
886+ };
887+
854888static const struct ds5_resolution y8_41x_sizes [] = {
855889 {
856890 .width = 1920 ,
@@ -1191,6 +1225,26 @@ static const struct ds5_format ds5_y_formats_ds5u[] = {
11911225 },
11921226};
11931227
1228+ static const struct ds5_format ds5_y_formats_40x [] = {
1229+ {
1230+ /* First format: default */
1231+ .data_type = GMSL_CSI_DT_RAW_8 , /* Y8 */
1232+ .mbus_code = MEDIA_BUS_FMT_Y8_1X8 ,
1233+ .n_resolutions = ARRAY_SIZE (y8_40x_sizes ),
1234+ .resolutions = y8_40x_sizes ,
1235+ }, {
1236+ .data_type = GMSL_CSI_DT_YUV422_8 , /* Y8I */
1237+ .mbus_code = MEDIA_BUS_FMT_VYUY8_1X16 ,
1238+ .n_resolutions = ARRAY_SIZE (y8_40x_sizes ),
1239+ .resolutions = y8_40x_sizes ,
1240+ }, {
1241+ .data_type = GMSL_CSI_DT_RGB_888 , /* Y12I, 24-bit Calibration */
1242+ .mbus_code = MEDIA_BUS_FMT_RGB888_1X24 ,
1243+ .n_resolutions = ARRAY_SIZE (d40x_calibration_sizes ),
1244+ .resolutions = d40x_calibration_sizes ,
1245+ },
1246+ };
1247+
11941248static const struct ds5_format ds5_y_formats_41x [] = {
11951249 {
11961250 /* First format: default */
@@ -4909,6 +4963,10 @@ static int ds5_fixed_configuration(struct i2c_client *client, struct ds5 *state)
49094963
49104964 sensor = & state -> ir .sensor ;
49114965 switch (dev_type ) {
4966+ case DS5_DEVICE_TYPE_D40X :
4967+ sensor -> formats = ds5_y_formats_40x ;
4968+ sensor -> n_formats = ARRAY_SIZE (ds5_y_formats_40x );
4969+ break ;
49124970 case DS5_DEVICE_TYPE_D41X :
49134971 sensor -> formats = ds5_y_formats_41x ;
49144972 sensor -> n_formats = ARRAY_SIZE (ds5_y_formats_41x );
@@ -5999,4 +6057,4 @@ MODULE_AUTHOR("Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>,\n\
59996057 Shikun Ding <shikun.ding@intel.com>,\n\
60006058 Dmitry Perchanov <dmitry.perchanov@intel.com>" );
60016059MODULE_LICENSE ("GPL v2" );
6002- MODULE_VERSION ("1.0.2.0 " );
6060+ MODULE_VERSION ("1.0.2.1 " );
0 commit comments