From d16da38f64e935e60d82356f2f9c35f82aa51a4a Mon Sep 17 00:00:00 2001
From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Date: Wed, 8 May 2019 16:45:54 +0300
Subject: [PATCH 115/122] lvds: AR0233: add superexposure plus

This adds superexposure plus T2

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
---
 drivers/media/i2c/soc_camera/ar0233.c      |    6 +-
 drivers/media/i2c/soc_camera/ar0233_rev2.h | 1182 ++++++++++++++++++++++++++++
 2 files changed, 1186 insertions(+), 2 deletions(-)

diff --git a/drivers/media/i2c/soc_camera/ar0233.c b/drivers/media/i2c/soc_camera/ar0233.c
index 54cc38a..5c3d4e1 100644
--- a/drivers/media/i2c/soc_camera/ar0233.c
+++ b/drivers/media/i2c/soc_camera/ar0233.c
@@ -442,6 +442,8 @@ static int ar0233_initialize(struct i2c_client *client)
 
 		if (strcmp(mode, "hdr") == 0)
 			ar0233_set_regs(client, ar0233_regs_hdr_mipi_12bit_30fps_rev2);
+		else if (strcmp(mode, "seplus") == 0)
+			ar0233_set_regs(client, ar0233_regs_seplus_mipi_12bit_30fps_rev2);
 		else
 			dev_err(&client->dev, "Unsupported mode %s\n", mode);
 		break;
@@ -461,8 +463,8 @@ static int ar0233_initialize(struct i2c_client *client)
 	val |= (1 << 2);			// Set streamOn bit
 	reg16_write16(client, 0x301a, val);	// Start Streaming
 
-	dev_info(&client->dev, "ar0233 PID %x (rev %x), res %dx%d, OTP_ID %02x:%02x:%02x:%02x:%02x:%02x\n",
-		 pid, rev, AR0233_MAX_WIDTH, AR0233_MAX_HEIGHT, priv->id[0], priv->id[1], priv->id[2], priv->id[3], priv->id[4], priv->id[5]);
+	dev_info(&client->dev, "ar0233 PID %x (rev %x), res %dx%d, mode=%s, OTP_ID %02x:%02x:%02x:%02x:%02x:%02x\n",
+		 pid, rev, AR0233_MAX_WIDTH, AR0233_MAX_HEIGHT, mode, priv->id[0], priv->id[1], priv->id[2], priv->id[3], priv->id[4], priv->id[5]);
 err:
 	return ret;
 }
diff --git a/drivers/media/i2c/soc_camera/ar0233_rev2.h b/drivers/media/i2c/soc_camera/ar0233_rev2.h
index c821d35..02d9af1 100644
--- a/drivers/media/i2c/soc_camera/ar0233_rev2.h
+++ b/drivers/media/i2c/soc_camera/ar0233_rev2.h
@@ -1124,6 +1124,1146 @@ static const struct ar0233_reg ar0233_rev2_O1_Recommended_Defaults_LFM_HDR[] = {
 { }
 }; /* O1_Recommended_Defaults_LFM_HDR */
 
+static const struct ar0233_reg ar0233_rev2_O1_Recommended_Defaults_SE_T1_LIN_T2[] = {
+/* Design_recommended_settings_REV2_seplus */
+{0x3086, 0x0000},
+{0x3092, 0x400C},
+{0x3362, 0x0001}, // DC_GAIN
+{0x342E, 0x0014},
+{0x34B8, 0x0001},
+{0x34BA, 0x0001},
+{0x3508, 0xAF1A},
+{0x351A, 0xF400},
+{0x3520, 0x0080},
+{0x3522, 0x7D19},
+{0x3524, 0xFF9F},
+{0x3528, 0xF02D},
+{0x352C, 0x0F02},
+{0x3530, 0x1F18},
+{0x3534, 0x3898},
+{0x353A, 0x9ABA},
+{0x353C, 0x9A8A},
+{0x3544, 0x030F},
+{0x3550, 0x806C},
+{0x3562, 0x0C08},
+{0x3564, 0x1223},
+{0x3568, 0x0028},
+{0x356A, 0x81AA},
+{0x356C, 0x6A7F},
+{0x356E, 0x068A},
+{0x3576, 0x1DFF},
+{0x37B2, 0x1FFF}, // DBLC_OUT_CLIP_MAX
+{0x3C72, 0x0076}, // ADC_DEC_CTRL7
+{0x3C74, 0x0031}, // ADC_DEC_CTRL8
+{0x3C76, 0x00DC}, // ADC_DEC_CTRL9
+{0x3C78, 0x01AA}, // ADC_DEC_CTRL10
+{0x3C7A, 0x0352}, // ADC_DEC_CTRL11
+{0x3C7C, 0x06AA}, // ADC_DEC_CTRL12
+{0x3E3E, 0x004A},
+{0x3044, 0x0400}, // DARK_CONTROL
+{0x336E, 0x0147}, // DATAPATH_SELECT2
+{0x3192, 0x2249},
+{0x3194, 0x1AA6},
+{0x3198, 0xB691},
+{0x3546, 0x5203},
+{0x34D4, 0x0001}, // DISCRETE_FINE_INTEGRATION
+{0x3E00, 0x8000}, // LFM2_T1_CTRL
+{0x34BC, 0x0808}, // LFM_PATTERN_CTRL
+{0x3494, 0x0808}, // LFM_TX_PATTERN_CTRL
+{0x3496, 0x5F00}, // LFM_CONTROL
+{0x3474, 0x006F},
+{0x3458, 0x008D},
+{0x3490, 0x0045},
+{0x3C08, 0x0104},
+{0x3C06, 0x0C3C},
+{0x3C08, 0x0104},
+{0x3D28, 0xEA60},
+{0x3D2A, 0xEA60},
+{0x3290, 0xF80C},
+{0x3292, 0xF80C},
+{0x3294, 0xF80C},
+{0x3296, 0xF80C},
+{0x3298, 0xFFFF},
+{0x329A, 0xFFFF},
+{0x329C, 0xFFFF},
+{0x329E, 0xFFFF},
+{0x3110, 0x0011}, // HDR_CONTROL0
+{0x3492, 0x0004},
+{0x3496, 0x5B00}, // LFM_CONTROL
+{0x34A0, 0x0036},
+{0x34A4, 0x0035},
+{0x34A6, 0x0040},
+{0x3512, 0x0ED6},
+{0x3516, 0x8888},
+{0x3518, 0x4040},
+{0x351C, 0xCFF6},
+{0x3528, 0xE00A},
+{0x352A, 0x0827},
+{0x352E, 0x060A},
+{0x353A, 0x1ABA},
+{0x353E, 0x2044},
+{0x3540, 0x4444},
+{0x3542, 0x448F},
+{0x3548, 0x3A3C},
+{0x354A, 0x3C3C},
+{0x354C, 0x321E},
+{0x354E, 0x1E1E},
+{0x3E02, 0x0F32},
+{0x3E04, 0x0000},
+{0x3E06, 0x0000},
+{0x3E10, 0x0000},
+{0x3E14, 0x003F},
+{0x3E16, 0x1FFF},
+{0x3E18, 0x0F52},
+{0x562A, 0x03E8}, // OCL_T1_E2_E1_SAT
+/* Design_recommended_settings_REV2_seplus */
+
+/* Sequence_hidy_ar0233_REV2_seplus */
+{0x2512, 0x8000},
+{0x2510, 0x070F},
+{0x2510, 0x1011},
+{0x2510, 0x1216},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0x191A},
+{0x2510, 0x1E1F},
+{0x2510, 0x2022},
+{0x2510, 0xFFFF},
+{0x2510, 0x2644},
+{0x2510, 0x5574},
+{0x2510, 0x878D},
+{0x2510, 0x9496},
+{0x2510, 0x9B9D},
+{0x2510, 0x9FA1},
+{0x2510, 0xA3A5},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xC003},
+{0x2510, 0x805A},
+{0x2510, 0xA0E0},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3048},
+{0x2510, 0x3088},
+{0x2510, 0x30A0},
+{0x2510, 0x3090},
+{0x2510, 0x32C2},
+{0x2510, 0xA0C0},
+{0x2510, 0x9008},
+{0x2510, 0x8802},
+{0x2510, 0x20FF},
+{0x2510, 0x20FF},
+{0x2510, 0x20FF},
+{0x2510, 0x20FF},
+{0x2510, 0x20FF},
+{0x2510, 0x9018},
+{0x2510, 0x891A},
+{0x2510, 0x807E},
+{0x2510, 0x20FF},
+{0x2510, 0x895B},
+{0x2510, 0x20FF},
+{0x2510, 0x897B},
+{0x2510, 0x20FF},
+{0x2510, 0x897F},
+{0x2510, 0x20FF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x20FF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x20FF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x20FF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0xA0C4},
+{0x2510, 0x20FF},
+{0x2510, 0x805A},
+{0x2510, 0x9039},
+{0x2510, 0x20FF},
+{0x2510, 0x907F},
+{0x2510, 0x895B},
+{0x2510, 0x2064},
+{0x2510, 0x891B},
+{0x2510, 0x2010},
+{0x2510, 0x8803},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x20FF},
+{0x2510, 0x906B},
+{0x2510, 0x2064},
+{0x2510, 0x3084},
+{0x2510, 0x2003},
+{0x2510, 0x3044},
+{0x2510, 0x2000},
+{0x2510, 0xA004},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x2400},
+{0x2510, 0x2401},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x2400},
+{0x2510, 0x2401},
+{0x2510, 0x2702},
+{0x2510, 0x3242},
+{0x2510, 0x2420},
+{0x2510, 0x2421},
+{0x2510, 0x2703},
+{0x2510, 0x3242},
+{0x2510, 0x2420},
+{0x2510, 0x2421},
+{0x2510, 0x2704},
+{0x2510, 0x3242},
+{0x2510, 0x2420},
+{0x2510, 0x2421},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x2201},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x2201},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x2404},
+{0x2510, 0x2779},
+{0x2510, 0x2427},
+{0x2510, 0x2781},
+{0x2510, 0x2427},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x2703},
+{0x2510, 0x242A},
+{0x2510, 0x2703},
+{0x2510, 0x3242},
+{0x2510, 0x27BB},
+{0x2510, 0x2428},
+{0x2510, 0x27BB},
+{0x2510, 0x3242},
+{0x2510, 0x2702},
+{0x2510, 0x2429},
+{0x2510, 0x2702},
+{0x2510, 0x3242},
+{0x2510, 0x27C3},
+{0x2510, 0x2428},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0xB800},
+{0x2510, 0x8058},
+{0x2510, 0xA005},
+{0x2510, 0x3101},
+{0x2510, 0x3041},
+{0x2510, 0x3104},
+{0x2510, 0xB035},
+{0x2510, 0xB075},
+{0x2510, 0x30C1},
+{0x2510, 0x3102},
+{0x2510, 0x3041},
+{0x2510, 0xB808},
+{0x2510, 0x3202},
+{0x2510, 0xB848},
+{0x2510, 0xB84C},
+{0x2510, 0x2201},
+{0x2510, 0xB377},
+{0x2510, 0x8843},
+{0x2510, 0x916F},
+{0x2510, 0x2201},
+{0x2510, 0xB84E},
+{0x2510, 0xF905},
+{0x2510, 0xF907},
+{0x2510, 0x2200},
+{0x2510, 0x885B},
+{0x2510, 0xA898},
+{0x2510, 0xA8D8},
+{0x2510, 0xF8E8},
+{0x2510, 0x80D8},
+{0x2510, 0x9007},
+{0x2510, 0x916F},
+{0x2510, 0x2206},
+{0x2510, 0xB808},
+{0x2510, 0xC800},
+{0x2510, 0xE807},
+{0x2510, 0x88DB},
+{0x2510, 0xF8A8},
+{0x2510, 0xF888},
+{0x2510, 0x2203},
+{0x2510, 0xB07B},
+{0x2510, 0x2000},
+{0x2510, 0x80C8},
+{0x2510, 0x8088},
+{0x2510, 0x220B},
+{0x2510, 0xB06A},
+{0x2510, 0x88CB},
+{0x2510, 0x888B},
+{0x2510, 0x2224},
+{0x2510, 0xB04A},
+{0x2510, 0x2218},
+{0x2510, 0x210D},
+{0x2510, 0x2108},
+{0x2510, 0x902F},
+{0x2510, 0xB04B},
+{0x2510, 0xF880},
+{0x2510, 0x2205},
+{0x2510, 0x2205},
+{0x2510, 0x2203},
+{0x2510, 0x9800},
+{0x2510, 0xB043},
+{0x2510, 0xA8C9},
+{0x2510, 0x31C1},
+{0x2510, 0x80A8},
+{0x2510, 0x2205},
+{0x2510, 0x916F},
+{0x2510, 0x2104},
+{0x2510, 0x88AB},
+{0x2510, 0x2104},
+{0x2510, 0xB808},
+{0x2510, 0x9800},
+{0x2510, 0x2440},
+{0x2510, 0xF110},
+{0x2510, 0xF804},
+{0x2510, 0x2000},
+{0x2510, 0x8088},
+{0x2510, 0x3002},
+{0x2510, 0xB838},
+{0x2510, 0xA8C8},
+{0x2510, 0xB04B},
+{0x2510, 0x2442},
+{0x2510, 0x3210},
+{0x2510, 0x2206},
+{0x2510, 0x888B},
+{0x2510, 0x2203},
+{0x2510, 0xF1CB},
+{0x2510, 0x2201},
+{0x2510, 0x3202},
+{0x2510, 0xF880},
+{0x2510, 0xB830},
+{0x2510, 0xC801},
+{0x2510, 0x30C2},
+{0x2510, 0xE80C},
+{0x2510, 0x2201},
+{0x2510, 0xB04A},
+{0x2510, 0x2227},
+{0x2510, 0x2205},
+{0x2510, 0x2200},
+{0x2510, 0x2207},
+{0x2510, 0x902F},
+{0x2510, 0x220E},
+{0x2510, 0x2205},
+{0x2510, 0x2204},
+{0x2510, 0xB042},
+{0x2510, 0xA9A1},
+{0x2510, 0x8008},
+{0x2510, 0xB0D3},
+{0x2510, 0x31C1},
+{0x2510, 0x916B},
+{0x2510, 0x2008},
+{0x2510, 0x32C1},
+{0x2510, 0x8803},
+{0x2510, 0xA044},
+{0x2510, 0x3044},
+{0x2510, 0x2000},
+{0x2510, 0xA004},
+{0x2510, 0x2000},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0xA084},
+{0x2510, 0x30D0},
+{0x2510, 0x807C},
+{0x2510, 0x3141},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3142},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3281},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3290},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3110},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x3120},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x3282},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x32A0},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x881B},
+{0x2510, 0x887F},
+{0x2510, 0xA08C},
+{0x2510, 0x221F},
+{0x2510, 0xA084},
+{0x2510, 0x2440},
+{0x2510, 0x3260},
+{0x2510, 0x3248},
+{0x2510, 0xB095},
+{0x2510, 0xF110},
+{0x2510, 0xF864},
+{0x2510, 0xF90D},
+{0x2510, 0x3084},
+{0x2510, 0x32C1},
+{0x2510, 0x3090},
+{0x2510, 0x3088},
+{0x2510, 0x2443},
+{0x2510, 0x8058},
+{0x2510, 0x3001},
+{0x2510, 0x2442},
+{0x2510, 0x3220},
+{0x2510, 0x2002},
+{0x2510, 0x8867},
+{0x2510, 0x2004},
+{0x2510, 0x8803},
+{0x2510, 0x2002},
+{0x2510, 0x30C2},
+{0x2510, 0xA9A0},
+{0x2510, 0xB094},
+{0x2510, 0x2201},
+{0x2510, 0xA0C4},
+{0x2510, 0x3044},
+{0x2510, 0x2000},
+{0x2510, 0xA004},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0xB980},
+{0x2510, 0xA881},
+{0x2510, 0xA8C1},
+{0x2510, 0x8108},
+{0x2510, 0xA105},
+{0x2510, 0x30C1},
+{0x2510, 0x2020},
+{0x2510, 0x3101},
+{0x2510, 0x3041},
+{0x2510, 0x3104},
+{0x2510, 0x3102},
+{0x2510, 0x3041},
+{0x2510, 0xF860},
+{0x2510, 0xB095},
+{0x2510, 0x2001},
+{0x2510, 0xB988},
+{0x2510, 0xB9F8},
+{0x2510, 0xB9FC},
+{0x2510, 0x8803},
+{0x2510, 0x916F},
+{0x2510, 0x2001},
+{0x2510, 0xB9FE},
+{0x2510, 0xF905},
+{0x2510, 0xF907},
+{0x2510, 0x3202},
+{0x2510, 0x880B},
+{0x2510, 0xB397},
+{0x2510, 0xF8E8},
+{0x2510, 0x8188},
+{0x2510, 0x9007},
+{0x2510, 0x916F},
+{0x2510, 0x2204},
+{0x2510, 0xB137},
+{0x2510, 0xB9B8},
+{0x2510, 0xC801},
+{0x2510, 0xE807},
+{0x2510, 0xB177},
+{0x2510, 0x888B},
+{0x2510, 0xF8A8},
+{0x2510, 0xF888},
+{0x2510, 0x2203},
+{0x2510, 0xA8C8},
+{0x2510, 0xB07B},
+{0x2510, 0x2000},
+{0x2510, 0x8188},
+{0x2510, 0x8088},
+{0x2510, 0x220B},
+{0x2510, 0xB06A},
+{0x2510, 0x888B},
+{0x2510, 0x888B},
+{0x2510, 0x2224},
+{0x2510, 0xB04A},
+{0x2510, 0x2214},
+{0x2510, 0xB04B},
+{0x2510, 0x902F},
+{0x2510, 0xF880},
+{0x2510, 0x2211},
+{0x2510, 0x2205},
+{0x2510, 0x2204},
+{0x2510, 0xB043},
+{0x2510, 0xA8C1},
+{0x2510, 0x31C1},
+{0x2510, 0x2200},
+{0x2510, 0x80C8},
+{0x2510, 0x2103},
+{0x2510, 0x916F},
+{0x2510, 0x2106},
+{0x2510, 0x88CB},
+{0x2510, 0x210A},
+{0x2510, 0xA8C1},
+{0x2510, 0x2440},
+{0x2510, 0xF110},
+{0x2510, 0xF804},
+{0x2510, 0x2000},
+{0x2510, 0x8088},
+{0x2510, 0x2002},
+{0x2510, 0x888B},
+{0x2510, 0x3002},
+{0x2510, 0xB988},
+{0x2510, 0x2442},
+{0x2510, 0x3210},
+{0x2510, 0x2206},
+{0x2510, 0x2207},
+{0x2510, 0x3202},
+{0x2510, 0xA8C1},
+{0x2510, 0x2013},
+{0x2510, 0x8088},
+{0x2510, 0x200C},
+{0x2510, 0x888B},
+{0x2510, 0x2005},
+{0x2510, 0xA8D0},
+{0x2510, 0xB04B},
+{0x2510, 0xF880},
+{0x2510, 0xB980},
+{0x2510, 0xC800},
+{0x2510, 0x30C2},
+{0x2510, 0xE80C},
+{0x2510, 0x2201},
+{0x2510, 0xB04A},
+{0x2510, 0x2213},
+{0x2510, 0x2225},
+{0x2510, 0x8088},
+{0x2510, 0x2205},
+{0x2510, 0x888B},
+{0x2510, 0x2203},
+{0x2510, 0x902F},
+{0x2510, 0x2206},
+{0x2510, 0x2204},
+{0x2510, 0xB042},
+{0x2510, 0xA9A1},
+{0x2510, 0x8058},
+{0x2510, 0xB093},
+{0x2510, 0x31C1},
+{0x2510, 0x916B},
+{0x2510, 0x2007},
+{0x2510, 0x3084},
+{0x2510, 0x32C1},
+{0x2510, 0x8803},
+{0x2510, 0xA144},
+{0x2510, 0x3044},
+{0x2510, 0x2000},
+{0x2510, 0xA004},
+{0x2510, 0xB800},
+{0x2510, 0x7FFF},
+{0x2510, 0x30D0},
+{0x2510, 0xA981},
+{0x2510, 0xA9C1},
+{0x2510, 0x2006},
+{0x2510, 0xA184},
+{0x2510, 0xB800},
+{0x2510, 0x80FC},
+{0x2510, 0x3141},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3142},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3281},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3290},
+{0x2510, 0x3041},
+{0x2510, 0x3042},
+{0x2510, 0x2000},
+{0x2510, 0x3110},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x3120},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x3282},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x32A0},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x889B},
+{0x2510, 0x88FF},
+{0x2510, 0x2440},
+{0x2510, 0x3260},
+{0x2510, 0x3248},
+{0x2510, 0xB095},
+{0x2510, 0xF110},
+{0x2510, 0xF864},
+{0x2510, 0xF90D},
+{0x2510, 0x32C2},
+{0x2510, 0x30A0},
+{0x2510, 0x3090},
+{0x2510, 0x3088},
+{0x2510, 0x2443},
+{0x2510, 0x80D8},
+{0x2510, 0x3001},
+{0x2510, 0x2206},
+{0x2510, 0x88DB},
+{0x2510, 0x2442},
+{0x2510, 0x3220},
+{0x2510, 0x2010},
+{0x2510, 0x2001},
+{0x2510, 0x30C2},
+{0x2510, 0x8098},
+{0x2510, 0x2010},
+{0x2510, 0x889B},
+{0x2510, 0x2008},
+{0x2510, 0x809A},
+{0x2510, 0x200A},
+{0x2510, 0x8002},
+{0x2510, 0xA9A1},
+{0x2510, 0xB094},
+{0x2510, 0x2201},
+{0x2510, 0x8803},
+{0x2510, 0xA1C4},
+{0x2510, 0x3044},
+{0x2510, 0xB800},
+{0x2510, 0xA004},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x8002},
+{0x2510, 0x9818},
+{0x2510, 0x3101},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x3102},
+{0x2510, 0x3041},
+{0x2510, 0x8018},
+{0x2510, 0x2002},
+{0x2510, 0x8038},
+{0x2510, 0x2205},
+{0x2510, 0x881B},
+{0x2510, 0x883B},
+{0x2510, 0x2119},
+{0x2510, 0x8018},
+{0x2510, 0x2202},
+{0x2510, 0x8000},
+{0x2510, 0x2201},
+{0x2510, 0x8803},
+{0x2510, 0x9800},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0xB980},
+{0x2510, 0x3260},
+{0x2510, 0x3101},
+{0x2510, 0x3041},
+{0x2510, 0x2000},
+{0x2510, 0x3102},
+{0x2510, 0x3041},
+{0x2510, 0x8028},
+{0x2510, 0x220A},
+{0x2510, 0x880B},
+{0x2510, 0x882B},
+{0x2510, 0x2440},
+{0x2510, 0xB095},
+{0x2510, 0xF110},
+{0x2510, 0xF864},
+{0x2510, 0xF90D},
+{0x2510, 0x8008},
+{0x2510, 0x3004},
+{0x2510, 0x2202},
+{0x2510, 0x2442},
+{0x2510, 0x882B},
+{0x2510, 0x3220},
+{0x2510, 0x2004},
+{0x2510, 0x880B},
+{0x2510, 0x2004},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x240D},
+{0x2510, 0x2751},
+{0x2510, 0x2423},
+{0x2510, 0x2750},
+{0x2510, 0x2421},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x3250},
+{0x2510, 0x27D8},
+{0x2510, 0x242B},
+{0x2510, 0x27D9},
+{0x2510, 0x242B},
+{0x2510, 0x3250},
+{0x2510, 0xC023},
+{0x2510, 0x2402},
+{0x2510, 0xC023},
+{0x2510, 0x2751},
+{0x2510, 0x2423},
+{0x2510, 0xC02B},
+{0x2510, 0x2750},
+{0x2510, 0x2421},
+{0x2510, 0xC003},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x2404},
+{0x2510, 0x2779},
+{0x2510, 0x2427},
+{0x2510, 0x2781},
+{0x2510, 0x2427},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x2791},
+{0x2510, 0x2428},
+{0x2510, 0x2799},
+{0x2510, 0x2426},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x27A1},
+{0x2510, 0x2428},
+{0x2510, 0x27A9},
+{0x2510, 0x2426},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0xC167},
+{0x2510, 0x2400},
+{0x2510, 0xC067},
+{0x2510, 0x2405},
+{0x2510, 0x240C},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x30C2},
+{0x2510, 0xA9A0},
+{0x2510, 0xB094},
+{0x2510, 0x2201},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0x7FFF},
+{0x2510, 0xB800},
+{0x2510, 0x8058},
+{0x2510, 0xA005},
+{0x2510, 0x3101},
+{0x2510, 0x3041},
+{0x2510, 0x3104},
+{0x2510, 0xB035},
+{0x2510, 0xB075},
+{0x2510, 0x30C1},
+{0x2510, 0x3102},
+{0x2510, 0x3041},
+{0x2510, 0xB808},
+{0x2510, 0x3202},
+{0x2510, 0xB848},
+{0x2510, 0xB84C},
+{0x2510, 0x2201},
+{0x2510, 0xB377},
+{0x2510, 0x8843},
+{0x2510, 0x916F},
+{0x2510, 0x2201},
+{0x2510, 0xB84E},
+{0x2510, 0xF905},
+{0x2510, 0xF907},
+{0x2510, 0x2200},
+{0x2510, 0x885B},
+{0x2510, 0xA898},
+{0x2510, 0xA8D8},
+{0x2510, 0xF8E8},
+{0x2510, 0x80D8},
+{0x2510, 0x9007},
+{0x2510, 0x916F},
+{0x2510, 0x2206},
+{0x2510, 0xB808},
+{0x2510, 0xC800},
+{0x2510, 0xE807},
+{0x2510, 0x88DB},
+{0x2510, 0xF8A8},
+{0x2510, 0xF888},
+{0x2510, 0x2203},
+{0x2510, 0xB07B},
+{0x2510, 0x2000},
+{0x2510, 0x80C8},
+{0x2510, 0x8088},
+{0x2510, 0x220B},
+{0x2510, 0xB06A},
+{0x2510, 0x88CB},
+{0x2510, 0x888B},
+{0x2510, 0x221F},
+{0x2510, 0xB04A},
+{0x2510, 0x2213},
+{0x2510, 0x210D},
+{0x2510, 0x2108},
+{0x2510, 0x902F},
+{0x2510, 0xB04B},
+{0x2510, 0xF880},
+{0x2510, 0x2205},
+{0x2510, 0x2205},
+{0x2510, 0x2203},
+{0x2510, 0x9800},
+{0x2510, 0xB043},
+{0x2510, 0xA8C9},
+{0x2510, 0x31C1},
+{0x2510, 0x80A8},
+{0x2510, 0x2205},
+{0x2510, 0x916F},
+{0x2510, 0x2104},
+{0x2510, 0x88AB},
+{0x2510, 0x2104},
+{0x2510, 0xB808},
+{0x2510, 0x9800},
+{0x2510, 0x2440},
+{0x2510, 0xF110},
+{0x2510, 0xF804},
+{0x2510, 0x2000},
+{0x2510, 0x8088},
+{0x2510, 0x3002},
+{0x2510, 0xB838},
+{0x2510, 0xA8C8},
+{0x2510, 0xB04B},
+{0x2510, 0x2442},
+{0x2510, 0x3210},
+{0x2510, 0x2206},
+{0x2510, 0x888B},
+{0x2510, 0x2203},
+{0x2510, 0xF1CB},
+{0x2510, 0x2201},
+{0x2510, 0x3202},
+{0x2510, 0xF880},
+{0x2510, 0xB830},
+{0x2510, 0xC801},
+{0x2510, 0x30C2},
+{0x2510, 0xE80C},
+{0x2510, 0x2201},
+{0x2510, 0xB04A},
+{0x2510, 0x2217},
+{0x2510, 0x2205},
+{0x2510, 0x2207},
+{0x2510, 0x902F},
+{0x2510, 0x220E},
+{0x2510, 0x2205},
+{0x2510, 0x2204},
+{0x2510, 0xB042},
+{0x2510, 0xA9A1},
+{0x2510, 0x8008},
+{0x2510, 0xB0D3},
+{0x2510, 0x31C1},
+{0x2510, 0x916B},
+{0x2510, 0x2008},
+{0x2510, 0x32C1},
+{0x2510, 0x8803},
+{0x2510, 0xA044},
+{0x2510, 0x3044},
+{0x2510, 0x2000},
+{0x2510, 0xA004},
+{0x2510, 0x2000},
+{0x2510, 0x7FFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{0x2510, 0xFFFF},
+{AR0233_DELAY, 100},
+/* Sequence_hidy_ar0233_REV2_seplus */
+
+{0x3E14, 0x003F},
+{0x3E14, 0x003F},
+{0x3E18, 0x0F52},
+{0x3E18, 0x0F52},
+{0x562A, 0x03E8}, // OCL_T1_E2_E1_SAT
+
+{0x3364, 0x06F4},
+
+/* Tempsensor_init */
+{0x3E94, 0x3007},
+{0x3E6E, 0xE200}, // TEMPVSENS1_TMG_CTRL_K0
+{0x3E98, 0x1000}, // TEMPVSENS1_EN_CTRL
+{0x3F92, 0x4C00}, // TEMPVSENS1_TMG_CTRL
+{0x30B8, 0x000B}, // TEMPSENS1_CTRL_REG
+{0x30B8, 0x0003}, // TEMPSENS1_CTRL_REG
+{ }
+}; /* O1_Recommended_Defaults_SE_T1_LIN_T2 */
+
 static const struct ar0233_reg ar0233_rev2_disable_embed_data_stat[] = {
 {0x3064, 0x0}, // Disable embedded data and stat
 #ifdef AR0233_EMBEDDED_LINE
@@ -1146,6 +2286,22 @@ static const struct ar0233_reg ar0233_rev2_HDR_3exp_12bit[] = {
 { }
 }; /* HDR_3exp_12bit */
 
+static const struct ar0233_reg ar0233_rev2_SEPLUS_12bit[] = {
+{0x3082, 0x4},    //num_exp = 2
+{0x30BA, 0x1121}, //num_exp_max =2
+{0x31AC, 0x140C}, //12 bit output
+
+{0x3044, 0x0400}, //Dark_control
+
+// FPS = 102MHz / reg0x300A / reg0x300C
+{0x300A, AR0233_SENSOR_HEIGHT + 100}, // Frame_length_Lines
+{0x300C, AR0233_SENSOR_WIDTH + 400}, // Line_length_pck
+{0x3012, 0x0299}, // COARSE_INTEGRATION_TIME_
+{0x3212, 0x0006}, // COARSE_INTEGRATION_TIME2
+{0x3112, 0x71E7},
+{ }
+}; /* HDR_3exp_12bit */
+
 static const struct ar0233_reg ar0233_rev2_pll_23_102_4lane_12b[] = {
 // serial_data_rate was *2 in REV1. but not in REV2
 /* PCLK=DES_REFCLK/PRE_PLL_CLK_DIV *PLL_MULTIPLIER /P1 /P4 */
@@ -1229,6 +2385,18 @@ static const struct ar0233_reg ar0233_rev2_HDR_ratio_gain_default[] = {
 { }
 }; /* HDR_ratio_gain_default */
 
+static const struct ar0233_reg ar0233_rev2_SEPLUS_ratio_gain_default[] = {
+{0x3362, 0x0001}, // DC_GAIN
+{0x3238, 0x8446}, // EXPOSURE_RATIO
+{0x562E, 0x0111}, // OCL_T1_GAIN_
+{0x562E, 0x0111}, // OCL_T1_GAIN_
+{0x3366, 0x4441}, // ANALOG_GAIN
+{0x3366, 0x4431}, // ANALOG_GAIN
+{0x336A, 0x0000}, // ANALOG_GAIN2
+{0x336A, 0x00C0}, // ANALOG_GAIN2
+{ }
+}; /* SEPLUS_ratio_gain_default */
+
 /* 3Exp HDR, 1280P, MIPI 4-lane 12-bit, 30fps, EXTCLK=23MHz (comes from deser) */
 static const struct ar0233_reg *ar0233_regs_hdr_mipi_12bit_30fps_rev2[] = {
 	ar0233_rev2_Reset,
@@ -1242,3 +2410,17 @@ static const struct ar0233_reg *ar0233_regs_hdr_mipi_12bit_30fps_rev2[] = {
 	ar0233_rev2_HDR_ratio_gain_default,
 	NULL,
 };
+
+/* SE_T1 + Lin_T2, 1280P, MIPI 750MBPS 4-lane 12-bit, 30fps, EXTCLK=23MHz (comes from deser) */
+static const struct ar0233_reg *ar0233_regs_seplus_mipi_12bit_30fps_rev2[] = {
+	ar0233_rev2_Reset,
+	ar0233_rev2_Full_resolution,
+	ar0233_rev2_pll_23_102_4lane_12b,
+	ar0233_rev2_mipi_12bit_4lane,
+	ar0233_rev2_O1_Recommended_Defaults_SE_T1_LIN_T2,
+	ar0233_rev2_disable_embed_data_stat,
+	ar0233_rev2_SEPLUS_12bit,
+	ar0233_rev2_LUT_24_to_12,
+	ar0233_rev2_SEPLUS_ratio_gain_default,
+	NULL,
+};
-- 
2.7.4

