18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * et8ek8_mode.c
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2008 Nokia Corporation
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Contact: Sakari Ailus <sakari.ailus@iki.fi>
88c2ecf20Sopenharmony_ci *          Tuukka Toivonen <tuukkat76@gmail.com>
98c2ecf20Sopenharmony_ci */
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#include "et8ek8_reg.h"
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci/*
148c2ecf20Sopenharmony_ci * Stingray sensor mode settings for Scooby
158c2ecf20Sopenharmony_ci */
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci/* Mode1_poweron_Mode2_16VGA_2592x1968_12.07fps */
188c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode1_poweron_mode2_16vga_2592x1968_12_07fps = {
198c2ecf20Sopenharmony_ci/* (without the +1)
208c2ecf20Sopenharmony_ci * SPCK       = 80 MHz
218c2ecf20Sopenharmony_ci * CCP2       = 640 MHz
228c2ecf20Sopenharmony_ci * VCO        = 640 MHz
238c2ecf20Sopenharmony_ci * VCOUNT     = 84 (2016)
248c2ecf20Sopenharmony_ci * HCOUNT     = 137 (3288)
258c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
268c2ecf20Sopenharmony_ci * CKVAR_DIV  = 200
278c2ecf20Sopenharmony_ci * VCO_DIV    = 0
288c2ecf20Sopenharmony_ci * SPCK_DIV   = 7
298c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
308c2ecf20Sopenharmony_ci * LVDSCK_DIV = 0
318c2ecf20Sopenharmony_ci */
328c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_POWERON,
338c2ecf20Sopenharmony_ci	.mode = {
348c2ecf20Sopenharmony_ci		.sensor_width = 2592,
358c2ecf20Sopenharmony_ci		.sensor_height = 1968,
368c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
378c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
388c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
398c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
408c2ecf20Sopenharmony_ci		.width = 3288,
418c2ecf20Sopenharmony_ci		.height = 2016,
428c2ecf20Sopenharmony_ci		.window_origin_x = 0,
438c2ecf20Sopenharmony_ci		.window_origin_y = 0,
448c2ecf20Sopenharmony_ci		.window_width = 2592,
458c2ecf20Sopenharmony_ci		.window_height = 1968,
468c2ecf20Sopenharmony_ci		.pixel_clock = 80000000,
478c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
488c2ecf20Sopenharmony_ci		.timeperframe = {
498c2ecf20Sopenharmony_ci			.numerator = 100,
508c2ecf20Sopenharmony_ci			.denominator = 1207
518c2ecf20Sopenharmony_ci		},
528c2ecf20Sopenharmony_ci		.max_exp = 2012,
538c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
548c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_1X10,
558c2ecf20Sopenharmony_ci		.sensitivity = 65536
568c2ecf20Sopenharmony_ci	},
578c2ecf20Sopenharmony_ci	.regs = {
588c2ecf20Sopenharmony_ci		/* Need to set firstly */
598c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x126C, 0xCC },
608c2ecf20Sopenharmony_ci		/* Strobe and Data of CCP2 delay are minimized. */
618c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1269, 0x00 },
628c2ecf20Sopenharmony_ci		/* Refined value of Min H_COUNT  */
638c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0x89 },
648c2ecf20Sopenharmony_ci		/* Frequency of SPCK setting (SPCK=MRCK) */
658c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x07 },
668c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1241, 0x94 },
678c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1242, 0x02 },
688c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x124B, 0x00 },
698c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1255, 0xFF },
708c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1256, 0x9F },
718c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1258, 0x00 },
728c2ecf20Sopenharmony_ci		/* From parallel out to serial out */
738c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x88 },
748c2ecf20Sopenharmony_ci		/* From w/ embedded data to w/o embedded data */
758c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125E, 0xC0 },
768c2ecf20Sopenharmony_ci		/* CCP2 out is from STOP to ACTIVE */
778c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1263, 0x98 },
788c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1268, 0xC6 },
798c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1434, 0x00 },
808c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1163, 0x44 },
818c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1166, 0x29 },
828c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1140, 0x02 },
838c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1011, 0x24 },
848c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1151, 0x80 },
858c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1152, 0x23 },
868c2ecf20Sopenharmony_ci		/* Initial setting for improvement2 of lower frequency noise */
878c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1014, 0x05 },
888c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1033, 0x06 },
898c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1034, 0x79 },
908c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1423, 0x3F },
918c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1424, 0x3F },
928c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1426, 0x00 },
938c2ecf20Sopenharmony_ci		/* Switch of Preset-White-balance (0d:disable / 1d:enable) */
948c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1439, 0x00 },
958c2ecf20Sopenharmony_ci		/* Switch of blemish correction (0d:disable / 1d:enable) */
968c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x161F, 0x60 },
978c2ecf20Sopenharmony_ci		/* Switch of auto noise correction (0d:disable / 1d:enable) */
988c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1634, 0x00 },
998c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1646, 0x00 },
1008c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1648, 0x00 },
1018c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x113E, 0x01 },
1028c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x113F, 0x22 },
1038c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x64 },
1048c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x02 },
1058c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x70 },
1068c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x07 },
1078c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x64 },
1088c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x64 },
1098c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
1108c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0x89 },
1118c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
1128c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0x54 },
1138c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x88 }, /* CCP_LVDS_MODE/  */
1148c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
1158c2ecf20Sopenharmony_ci	}
1168c2ecf20Sopenharmony_ci};
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci/* Mode1_16VGA_2592x1968_13.12fps_DPCM10-8 */
1198c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode1_16vga_2592x1968_13_12fps_dpcm10_8 = {
1208c2ecf20Sopenharmony_ci/* (without the +1)
1218c2ecf20Sopenharmony_ci * SPCK       = 80 MHz
1228c2ecf20Sopenharmony_ci * CCP2       = 560 MHz
1238c2ecf20Sopenharmony_ci * VCO        = 560 MHz
1248c2ecf20Sopenharmony_ci * VCOUNT     = 84 (2016)
1258c2ecf20Sopenharmony_ci * HCOUNT     = 128 (3072)
1268c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
1278c2ecf20Sopenharmony_ci * CKVAR_DIV  = 175
1288c2ecf20Sopenharmony_ci * VCO_DIV    = 0
1298c2ecf20Sopenharmony_ci * SPCK_DIV   = 6
1308c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
1318c2ecf20Sopenharmony_ci * LVDSCK_DIV = 0
1328c2ecf20Sopenharmony_ci */
1338c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_MODE,
1348c2ecf20Sopenharmony_ci	.mode = {
1358c2ecf20Sopenharmony_ci		.sensor_width = 2592,
1368c2ecf20Sopenharmony_ci		.sensor_height = 1968,
1378c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
1388c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
1398c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
1408c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
1418c2ecf20Sopenharmony_ci		.width = 3072,
1428c2ecf20Sopenharmony_ci		.height = 2016,
1438c2ecf20Sopenharmony_ci		.window_origin_x = 0,
1448c2ecf20Sopenharmony_ci		.window_origin_y = 0,
1458c2ecf20Sopenharmony_ci		.window_width = 2592,
1468c2ecf20Sopenharmony_ci		.window_height = 1968,
1478c2ecf20Sopenharmony_ci		.pixel_clock = 80000000,
1488c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
1498c2ecf20Sopenharmony_ci		.timeperframe = {
1508c2ecf20Sopenharmony_ci			.numerator = 100,
1518c2ecf20Sopenharmony_ci			.denominator = 1292
1528c2ecf20Sopenharmony_ci		},
1538c2ecf20Sopenharmony_ci		.max_exp = 2012,
1548c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
1558c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8,
1568c2ecf20Sopenharmony_ci		.sensitivity = 65536
1578c2ecf20Sopenharmony_ci	},
1588c2ecf20Sopenharmony_ci	.regs = {
1598c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x57 },
1608c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x82 },
1618c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x70 },
1628c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x06 },
1638c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x64 },
1648c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x64 },
1658c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
1668c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0x80 }, /* <-changed to v14 7E->80 */
1678c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
1688c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0x54 },
1698c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x83 }, /* CCP_LVDS_MODE/  */
1708c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
1718c2ecf20Sopenharmony_ci	}
1728c2ecf20Sopenharmony_ci};
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci/* Mode3_4VGA_1296x984_29.99fps_DPCM10-8 */
1758c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode3_4vga_1296x984_29_99fps_dpcm10_8 = {
1768c2ecf20Sopenharmony_ci/* (without the +1)
1778c2ecf20Sopenharmony_ci * SPCK       = 96.5333333333333 MHz
1788c2ecf20Sopenharmony_ci * CCP2       = 579.2 MHz
1798c2ecf20Sopenharmony_ci * VCO        = 579.2 MHz
1808c2ecf20Sopenharmony_ci * VCOUNT     = 84 (2016)
1818c2ecf20Sopenharmony_ci * HCOUNT     = 133 (3192)
1828c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
1838c2ecf20Sopenharmony_ci * CKVAR_DIV  = 181
1848c2ecf20Sopenharmony_ci * VCO_DIV    = 0
1858c2ecf20Sopenharmony_ci * SPCK_DIV   = 5
1868c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
1878c2ecf20Sopenharmony_ci * LVDSCK_DIV = 0
1888c2ecf20Sopenharmony_ci */
1898c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_MODE,
1908c2ecf20Sopenharmony_ci	.mode = {
1918c2ecf20Sopenharmony_ci		.sensor_width = 2592,
1928c2ecf20Sopenharmony_ci		.sensor_height = 1968,
1938c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
1948c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
1958c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
1968c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
1978c2ecf20Sopenharmony_ci		.width = 3192,
1988c2ecf20Sopenharmony_ci		.height = 1008,
1998c2ecf20Sopenharmony_ci		.window_origin_x = 0,
2008c2ecf20Sopenharmony_ci		.window_origin_y = 0,
2018c2ecf20Sopenharmony_ci		.window_width = 1296,
2028c2ecf20Sopenharmony_ci		.window_height = 984,
2038c2ecf20Sopenharmony_ci		.pixel_clock = 96533333,
2048c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
2058c2ecf20Sopenharmony_ci		.timeperframe = {
2068c2ecf20Sopenharmony_ci			.numerator = 100,
2078c2ecf20Sopenharmony_ci			.denominator = 3000
2088c2ecf20Sopenharmony_ci		},
2098c2ecf20Sopenharmony_ci		.max_exp = 1004,
2108c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
2118c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8,
2128c2ecf20Sopenharmony_ci		.sensitivity = 65536
2138c2ecf20Sopenharmony_ci	},
2148c2ecf20Sopenharmony_ci	.regs = {
2158c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x5A },
2168c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x82 },
2178c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x70 },
2188c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x05 },
2198c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x63 },
2208c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0x85 },
2218c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
2228c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0x54 },
2238c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
2248c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x63 },
2258c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x83 }, /* CCP_LVDS_MODE/  */
2268c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
2278c2ecf20Sopenharmony_ci	}
2288c2ecf20Sopenharmony_ci};
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ci/* Mode4_SVGA_864x656_29.88fps */
2318c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode4_svga_864x656_29_88fps = {
2328c2ecf20Sopenharmony_ci/* (without the +1)
2338c2ecf20Sopenharmony_ci * SPCK       = 80 MHz
2348c2ecf20Sopenharmony_ci * CCP2       = 320 MHz
2358c2ecf20Sopenharmony_ci * VCO        = 640 MHz
2368c2ecf20Sopenharmony_ci * VCOUNT     = 84 (2016)
2378c2ecf20Sopenharmony_ci * HCOUNT     = 166 (3984)
2388c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
2398c2ecf20Sopenharmony_ci * CKVAR_DIV  = 200
2408c2ecf20Sopenharmony_ci * VCO_DIV    = 0
2418c2ecf20Sopenharmony_ci * SPCK_DIV   = 7
2428c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
2438c2ecf20Sopenharmony_ci * LVDSCK_DIV = 1
2448c2ecf20Sopenharmony_ci */
2458c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_MODE,
2468c2ecf20Sopenharmony_ci	.mode = {
2478c2ecf20Sopenharmony_ci		.sensor_width = 2592,
2488c2ecf20Sopenharmony_ci		.sensor_height = 1968,
2498c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
2508c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
2518c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
2528c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
2538c2ecf20Sopenharmony_ci		.width = 3984,
2548c2ecf20Sopenharmony_ci		.height = 672,
2558c2ecf20Sopenharmony_ci		.window_origin_x = 0,
2568c2ecf20Sopenharmony_ci		.window_origin_y = 0,
2578c2ecf20Sopenharmony_ci		.window_width = 864,
2588c2ecf20Sopenharmony_ci		.window_height = 656,
2598c2ecf20Sopenharmony_ci		.pixel_clock = 80000000,
2608c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
2618c2ecf20Sopenharmony_ci		.timeperframe = {
2628c2ecf20Sopenharmony_ci			.numerator = 100,
2638c2ecf20Sopenharmony_ci			.denominator = 2988
2648c2ecf20Sopenharmony_ci		},
2658c2ecf20Sopenharmony_ci		.max_exp = 668,
2668c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
2678c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_1X10,
2688c2ecf20Sopenharmony_ci		.sensitivity = 65536
2698c2ecf20Sopenharmony_ci	},
2708c2ecf20Sopenharmony_ci	.regs = {
2718c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x64 },
2728c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x02 },
2738c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x71 },
2748c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x07 },
2758c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x62 },
2768c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x62 },
2778c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
2788c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0xA6 },
2798c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
2808c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0x54 },
2818c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x88 }, /* CCP_LVDS_MODE/  */
2828c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
2838c2ecf20Sopenharmony_ci	}
2848c2ecf20Sopenharmony_ci};
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci/* Mode5_VGA_648x492_29.93fps */
2878c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode5_vga_648x492_29_93fps = {
2888c2ecf20Sopenharmony_ci/* (without the +1)
2898c2ecf20Sopenharmony_ci * SPCK       = 80 MHz
2908c2ecf20Sopenharmony_ci * CCP2       = 320 MHz
2918c2ecf20Sopenharmony_ci * VCO        = 640 MHz
2928c2ecf20Sopenharmony_ci * VCOUNT     = 84 (2016)
2938c2ecf20Sopenharmony_ci * HCOUNT     = 221 (5304)
2948c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
2958c2ecf20Sopenharmony_ci * CKVAR_DIV  = 200
2968c2ecf20Sopenharmony_ci * VCO_DIV    = 0
2978c2ecf20Sopenharmony_ci * SPCK_DIV   = 7
2988c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
2998c2ecf20Sopenharmony_ci * LVDSCK_DIV = 1
3008c2ecf20Sopenharmony_ci */
3018c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_MODE,
3028c2ecf20Sopenharmony_ci	.mode = {
3038c2ecf20Sopenharmony_ci		.sensor_width = 2592,
3048c2ecf20Sopenharmony_ci		.sensor_height = 1968,
3058c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
3068c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
3078c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
3088c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
3098c2ecf20Sopenharmony_ci		.width = 5304,
3108c2ecf20Sopenharmony_ci		.height = 504,
3118c2ecf20Sopenharmony_ci		.window_origin_x = 0,
3128c2ecf20Sopenharmony_ci		.window_origin_y = 0,
3138c2ecf20Sopenharmony_ci		.window_width = 648,
3148c2ecf20Sopenharmony_ci		.window_height = 492,
3158c2ecf20Sopenharmony_ci		.pixel_clock = 80000000,
3168c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
3178c2ecf20Sopenharmony_ci		.timeperframe = {
3188c2ecf20Sopenharmony_ci			.numerator = 100,
3198c2ecf20Sopenharmony_ci			.denominator = 2993
3208c2ecf20Sopenharmony_ci		},
3218c2ecf20Sopenharmony_ci		.max_exp = 500,
3228c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
3238c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_1X10,
3248c2ecf20Sopenharmony_ci		.sensitivity = 65536
3258c2ecf20Sopenharmony_ci	},
3268c2ecf20Sopenharmony_ci	.regs = {
3278c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x64 },
3288c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x02 },
3298c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x71 },
3308c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x07 },
3318c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x61 },
3328c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x61 },
3338c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
3348c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0xDD },
3358c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
3368c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0x54 },
3378c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x88 }, /* CCP_LVDS_MODE/  */
3388c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
3398c2ecf20Sopenharmony_ci	}
3408c2ecf20Sopenharmony_ci};
3418c2ecf20Sopenharmony_ci
3428c2ecf20Sopenharmony_ci/* Mode2_16VGA_2592x1968_3.99fps */
3438c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode2_16vga_2592x1968_3_99fps = {
3448c2ecf20Sopenharmony_ci/* (without the +1)
3458c2ecf20Sopenharmony_ci * SPCK       = 80 MHz
3468c2ecf20Sopenharmony_ci * CCP2       = 640 MHz
3478c2ecf20Sopenharmony_ci * VCO        = 640 MHz
3488c2ecf20Sopenharmony_ci * VCOUNT     = 254 (6096)
3498c2ecf20Sopenharmony_ci * HCOUNT     = 137 (3288)
3508c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
3518c2ecf20Sopenharmony_ci * CKVAR_DIV  = 200
3528c2ecf20Sopenharmony_ci * VCO_DIV    = 0
3538c2ecf20Sopenharmony_ci * SPCK_DIV   = 7
3548c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
3558c2ecf20Sopenharmony_ci * LVDSCK_DIV = 0
3568c2ecf20Sopenharmony_ci */
3578c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_MODE,
3588c2ecf20Sopenharmony_ci	.mode = {
3598c2ecf20Sopenharmony_ci		.sensor_width = 2592,
3608c2ecf20Sopenharmony_ci		.sensor_height = 1968,
3618c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
3628c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
3638c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
3648c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
3658c2ecf20Sopenharmony_ci		.width = 3288,
3668c2ecf20Sopenharmony_ci		.height = 6096,
3678c2ecf20Sopenharmony_ci		.window_origin_x = 0,
3688c2ecf20Sopenharmony_ci		.window_origin_y = 0,
3698c2ecf20Sopenharmony_ci		.window_width = 2592,
3708c2ecf20Sopenharmony_ci		.window_height = 1968,
3718c2ecf20Sopenharmony_ci		.pixel_clock = 80000000,
3728c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
3738c2ecf20Sopenharmony_ci		.timeperframe = {
3748c2ecf20Sopenharmony_ci			.numerator = 100,
3758c2ecf20Sopenharmony_ci			.denominator = 399
3768c2ecf20Sopenharmony_ci		},
3778c2ecf20Sopenharmony_ci		.max_exp = 6092,
3788c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
3798c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_1X10,
3808c2ecf20Sopenharmony_ci		.sensitivity = 65536
3818c2ecf20Sopenharmony_ci	},
3828c2ecf20Sopenharmony_ci	.regs = {
3838c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x64 },
3848c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x02 },
3858c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x70 },
3868c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x07 },
3878c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x64 },
3888c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x64 },
3898c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
3908c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0x89 },
3918c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
3928c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0xFE },
3938c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
3948c2ecf20Sopenharmony_ci	}
3958c2ecf20Sopenharmony_ci};
3968c2ecf20Sopenharmony_ci
3978c2ecf20Sopenharmony_ci/* Mode_648x492_5fps */
3988c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode_648x492_5fps = {
3998c2ecf20Sopenharmony_ci/* (without the +1)
4008c2ecf20Sopenharmony_ci * SPCK       = 13.3333333333333 MHz
4018c2ecf20Sopenharmony_ci * CCP2       = 53.3333333333333 MHz
4028c2ecf20Sopenharmony_ci * VCO        = 640 MHz
4038c2ecf20Sopenharmony_ci * VCOUNT     = 84 (2016)
4048c2ecf20Sopenharmony_ci * HCOUNT     = 221 (5304)
4058c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
4068c2ecf20Sopenharmony_ci * CKVAR_DIV  = 200
4078c2ecf20Sopenharmony_ci * VCO_DIV    = 5
4088c2ecf20Sopenharmony_ci * SPCK_DIV   = 7
4098c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
4108c2ecf20Sopenharmony_ci * LVDSCK_DIV = 1
4118c2ecf20Sopenharmony_ci */
4128c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_MODE,
4138c2ecf20Sopenharmony_ci	.mode = {
4148c2ecf20Sopenharmony_ci		.sensor_width = 2592,
4158c2ecf20Sopenharmony_ci		.sensor_height = 1968,
4168c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
4178c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
4188c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
4198c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
4208c2ecf20Sopenharmony_ci		.width = 5304,
4218c2ecf20Sopenharmony_ci		.height = 504,
4228c2ecf20Sopenharmony_ci		.window_origin_x = 0,
4238c2ecf20Sopenharmony_ci		.window_origin_y = 0,
4248c2ecf20Sopenharmony_ci		.window_width = 648,
4258c2ecf20Sopenharmony_ci		.window_height = 492,
4268c2ecf20Sopenharmony_ci		.pixel_clock = 13333333,
4278c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
4288c2ecf20Sopenharmony_ci		.timeperframe = {
4298c2ecf20Sopenharmony_ci			.numerator = 100,
4308c2ecf20Sopenharmony_ci			.denominator = 499
4318c2ecf20Sopenharmony_ci		},
4328c2ecf20Sopenharmony_ci		.max_exp = 500,
4338c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
4348c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_1X10,
4358c2ecf20Sopenharmony_ci		.sensitivity = 65536
4368c2ecf20Sopenharmony_ci	},
4378c2ecf20Sopenharmony_ci	.regs = {
4388c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x64 },
4398c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x02 },
4408c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x71 },
4418c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x57 },
4428c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x61 },
4438c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x61 },
4448c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
4458c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0xDD },
4468c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
4478c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0x54 },
4488c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x88 }, /* CCP_LVDS_MODE/  */
4498c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
4508c2ecf20Sopenharmony_ci	}
4518c2ecf20Sopenharmony_ci};
4528c2ecf20Sopenharmony_ci
4538c2ecf20Sopenharmony_ci/* Mode3_4VGA_1296x984_5fps */
4548c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode3_4vga_1296x984_5fps = {
4558c2ecf20Sopenharmony_ci/* (without the +1)
4568c2ecf20Sopenharmony_ci * SPCK       = 49.4 MHz
4578c2ecf20Sopenharmony_ci * CCP2       = 395.2 MHz
4588c2ecf20Sopenharmony_ci * VCO        = 790.4 MHz
4598c2ecf20Sopenharmony_ci * VCOUNT     = 250 (6000)
4608c2ecf20Sopenharmony_ci * HCOUNT     = 137 (3288)
4618c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
4628c2ecf20Sopenharmony_ci * CKVAR_DIV  = 247
4638c2ecf20Sopenharmony_ci * VCO_DIV    = 1
4648c2ecf20Sopenharmony_ci * SPCK_DIV   = 7
4658c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
4668c2ecf20Sopenharmony_ci * LVDSCK_DIV = 0
4678c2ecf20Sopenharmony_ci */
4688c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_MODE,
4698c2ecf20Sopenharmony_ci	.mode = {
4708c2ecf20Sopenharmony_ci		.sensor_width = 2592,
4718c2ecf20Sopenharmony_ci		.sensor_height = 1968,
4728c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
4738c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
4748c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
4758c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
4768c2ecf20Sopenharmony_ci		.width = 3288,
4778c2ecf20Sopenharmony_ci		.height = 3000,
4788c2ecf20Sopenharmony_ci		.window_origin_x = 0,
4798c2ecf20Sopenharmony_ci		.window_origin_y = 0,
4808c2ecf20Sopenharmony_ci		.window_width = 1296,
4818c2ecf20Sopenharmony_ci		.window_height = 984,
4828c2ecf20Sopenharmony_ci		.pixel_clock = 49400000,
4838c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
4848c2ecf20Sopenharmony_ci		.timeperframe = {
4858c2ecf20Sopenharmony_ci			.numerator = 100,
4868c2ecf20Sopenharmony_ci			.denominator = 501
4878c2ecf20Sopenharmony_ci		},
4888c2ecf20Sopenharmony_ci		.max_exp = 2996,
4898c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
4908c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_1X10,
4918c2ecf20Sopenharmony_ci		.sensitivity = 65536
4928c2ecf20Sopenharmony_ci	},
4938c2ecf20Sopenharmony_ci	.regs = {
4948c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x7B },
4958c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x82 },
4968c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x70 },
4978c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x17 },
4988c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x63 },
4998c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x63 },
5008c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
5018c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0x89 },
5028c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
5038c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0xFA },
5048c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x88 }, /* CCP_LVDS_MODE/  */
5058c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
5068c2ecf20Sopenharmony_ci	}
5078c2ecf20Sopenharmony_ci};
5088c2ecf20Sopenharmony_ci
5098c2ecf20Sopenharmony_ci/* Mode_4VGA_1296x984_25fps_DPCM10-8 */
5108c2ecf20Sopenharmony_cistatic struct et8ek8_reglist mode_4vga_1296x984_25fps_dpcm10_8 = {
5118c2ecf20Sopenharmony_ci/* (without the +1)
5128c2ecf20Sopenharmony_ci * SPCK       = 84.2666666666667 MHz
5138c2ecf20Sopenharmony_ci * CCP2       = 505.6 MHz
5148c2ecf20Sopenharmony_ci * VCO        = 505.6 MHz
5158c2ecf20Sopenharmony_ci * VCOUNT     = 88 (2112)
5168c2ecf20Sopenharmony_ci * HCOUNT     = 133 (3192)
5178c2ecf20Sopenharmony_ci * CKREF_DIV  = 2
5188c2ecf20Sopenharmony_ci * CKVAR_DIV  = 158
5198c2ecf20Sopenharmony_ci * VCO_DIV    = 0
5208c2ecf20Sopenharmony_ci * SPCK_DIV   = 5
5218c2ecf20Sopenharmony_ci * MRCK_DIV   = 7
5228c2ecf20Sopenharmony_ci * LVDSCK_DIV = 0
5238c2ecf20Sopenharmony_ci */
5248c2ecf20Sopenharmony_ci	.type = ET8EK8_REGLIST_MODE,
5258c2ecf20Sopenharmony_ci	.mode = {
5268c2ecf20Sopenharmony_ci		.sensor_width = 2592,
5278c2ecf20Sopenharmony_ci		.sensor_height = 1968,
5288c2ecf20Sopenharmony_ci		.sensor_window_origin_x = 0,
5298c2ecf20Sopenharmony_ci		.sensor_window_origin_y = 0,
5308c2ecf20Sopenharmony_ci		.sensor_window_width = 2592,
5318c2ecf20Sopenharmony_ci		.sensor_window_height = 1968,
5328c2ecf20Sopenharmony_ci		.width = 3192,
5338c2ecf20Sopenharmony_ci		.height = 1056,
5348c2ecf20Sopenharmony_ci		.window_origin_x = 0,
5358c2ecf20Sopenharmony_ci		.window_origin_y = 0,
5368c2ecf20Sopenharmony_ci		.window_width = 1296,
5378c2ecf20Sopenharmony_ci		.window_height = 984,
5388c2ecf20Sopenharmony_ci		.pixel_clock = 84266667,
5398c2ecf20Sopenharmony_ci		.ext_clock = 9600000,
5408c2ecf20Sopenharmony_ci		.timeperframe = {
5418c2ecf20Sopenharmony_ci			.numerator = 100,
5428c2ecf20Sopenharmony_ci			.denominator = 2500
5438c2ecf20Sopenharmony_ci		},
5448c2ecf20Sopenharmony_ci		.max_exp = 1052,
5458c2ecf20Sopenharmony_ci		/* .max_gain = 0, */
5468c2ecf20Sopenharmony_ci		.bus_format = MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8,
5478c2ecf20Sopenharmony_ci		.sensitivity = 65536
5488c2ecf20Sopenharmony_ci	},
5498c2ecf20Sopenharmony_ci	.regs = {
5508c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1239, 0x4F },
5518c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1238, 0x02 },
5528c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123B, 0x70 },
5538c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x123A, 0x05 },
5548c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121B, 0x63 },
5558c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1220, 0x85 },
5568c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1221, 0x00 },
5578c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1222, 0x58 },
5588c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x1223, 0x00 },
5598c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x121D, 0x63 },
5608c2ecf20Sopenharmony_ci		{ ET8EK8_REG_8BIT, 0x125D, 0x83 },
5618c2ecf20Sopenharmony_ci		{ ET8EK8_REG_TERM, 0, 0}
5628c2ecf20Sopenharmony_ci	}
5638c2ecf20Sopenharmony_ci};
5648c2ecf20Sopenharmony_ci
5658c2ecf20Sopenharmony_cistruct et8ek8_meta_reglist meta_reglist = {
5668c2ecf20Sopenharmony_ci	.version = "V14 03-June-2008",
5678c2ecf20Sopenharmony_ci	.reglist = {
5688c2ecf20Sopenharmony_ci		{ .ptr = &mode1_poweron_mode2_16vga_2592x1968_12_07fps },
5698c2ecf20Sopenharmony_ci		{ .ptr = &mode1_16vga_2592x1968_13_12fps_dpcm10_8 },
5708c2ecf20Sopenharmony_ci		{ .ptr = &mode3_4vga_1296x984_29_99fps_dpcm10_8 },
5718c2ecf20Sopenharmony_ci		{ .ptr = &mode4_svga_864x656_29_88fps },
5728c2ecf20Sopenharmony_ci		{ .ptr = &mode5_vga_648x492_29_93fps },
5738c2ecf20Sopenharmony_ci		{ .ptr = &mode2_16vga_2592x1968_3_99fps },
5748c2ecf20Sopenharmony_ci		{ .ptr = &mode_648x492_5fps },
5758c2ecf20Sopenharmony_ci		{ .ptr = &mode3_4vga_1296x984_5fps },
5768c2ecf20Sopenharmony_ci		{ .ptr = &mode_4vga_1296x984_25fps_dpcm10_8 },
5778c2ecf20Sopenharmony_ci		{ .ptr = NULL }
5788c2ecf20Sopenharmony_ci	}
5798c2ecf20Sopenharmony_ci};
580