From 23114c0a5904abe79b69129335dccf0c4aee0118 Mon Sep 17 00:00:00 2001 From: Vladimir Barinov Date: Thu, 3 Jan 2019 23:43:46 +0300 Subject: [PATCH 088/122] lvds: AR0233 modify with rev2 silicon Use rev2 setup for AR0233. Remove code moved to ti9x4 driver Signed-off-by: Vladimir Barinov --- drivers/media/i2c/soc_camera/ar0233.c | 19 +- drivers/media/i2c/soc_camera/ar0233_rev2.h | 1281 ++++++++++++++++++++++++++++ 2 files changed, 1284 insertions(+), 16 deletions(-) create mode 100644 drivers/media/i2c/soc_camera/ar0233_rev2.h diff --git a/drivers/media/i2c/soc_camera/ar0233.c b/drivers/media/i2c/soc_camera/ar0233.c index 74ecc85..2a0b7aa 100644 --- a/drivers/media/i2c/soc_camera/ar0233.c +++ b/drivers/media/i2c/soc_camera/ar0233.c @@ -20,12 +20,12 @@ #include #include -#include "ar0233.h" +#include "ar0233_rev2.h" static const int ar0233_i2c_addr[] = {0x10, 0x20}; #define AR0233_PID 0x3000 -#define AR0233_VERSION_REG 0x0354 +#define AR0233_VERSION_REG 0x0956 #define AR0233_MEDIA_BUS_FMT MEDIA_BUS_FMT_SGRBG12_1X12 @@ -404,23 +404,10 @@ static int ar0233_initialize(struct i2c_client *client) goto err; } - /* setup XCLK */ - tmp_addr = client->addr; - if (priv->ti9x4_addr) { - /* CLK_OUT=22.5792*160*M/N/CLKDIV -> CLK_OUT=27MHz: CLKDIV=2, M=15, N=251: 22.5792*160/8*15/251=26.987MHz=CLK_OUT */ - client->addr = priv->ti9x3_addr; /* Serializer I2C address */ -#if 0 - reg8_write(client, 0x06, 0x6f); /* Set CLKDIV and M */ - reg8_write(client, 0x07, 0xfb); /* Set N */ -#endif - reg8_write(client, 0x0e, 0xf0); /* Enable all remote gpios */ - } - client->addr = tmp_addr; - /* Read OTP IDs */ ar0233_otp_id_read(client); /* Program wizard registers */ - ar0233_set_regs(client, ar0233_regs_wizard, ARRAY_SIZE(ar0233_regs_wizard)); + ar0233_set_regs(client, ar0233_regs_wizard_rev2, ARRAY_SIZE(ar0233_regs_wizard_rev2)); /* Enable stream */ reg16_read16(client, 0x301a, &val); // read inital reset_register value diff --git a/drivers/media/i2c/soc_camera/ar0233_rev2.h b/drivers/media/i2c/soc_camera/ar0233_rev2.h new file mode 100644 index 0000000..fbc2649 --- /dev/null +++ b/drivers/media/i2c/soc_camera/ar0233_rev2.h @@ -0,0 +1,1281 @@ +/* + * ON Semiconductor AR0233 sensor camera wizard 2048x1280@30/BGGR/MIPI + * + * Copyright (C) 2018 Cogent Embedded, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +//#define AR0233_DISPLAY_PATTERN_FIXED +//#define AR0233_DISPLAY_PATTERN_COLOR_BAR + +#define AR0233_MAX_WIDTH 2048 +#define AR0233_MAX_HEIGHT 1280 + +#define AR0233_DELAY 0xffff + +#define AR0233_SENSOR_WIDTH 2058 +#define AR0233_SENSOR_HEIGHT 1284 + +#define AR0233_X_START ((AR0233_SENSOR_WIDTH - AR0233_MAX_WIDTH) / 2) +#define AR0233_Y_START ((AR0233_SENSOR_HEIGHT - AR0233_MAX_HEIGHT) / 2) +#define AR0233_X_END (AR0233_X_START + AR0233_MAX_WIDTH - 1) +#define AR0233_Y_END (AR0233_Y_START + AR0233_MAX_HEIGHT - 1) + +struct ar0233_reg { + u16 reg; + u16 val; +}; + +#define O1_Recommended_Defaults_LFM_HDR +#ifdef O1_Recommended_Defaults_LFM_HDR + #define Design_recommended_settings_REV2_V9 + #define Sequence_hidy_ar0233_REV2_V13 + #define Pre_hdr_gain_enable + #define Tempsensor_init +#endif +#define disable_embed_data_stat +#define HDR_3exp_12bit +#if 0 + #define pll_27_108_4lane_12b + #define mipi_108_12bit_4lane +#else + #define pll_27_124p5_4lane_12b + #define mipi_124p5_12bit_4lane +#endif +#define MIPI_DT_bit12 +#define LUT_24_to_12 +#define HDR_ratio_gain_default +#define Enable_trigger_input + +/* 3Exp HDR 1280P Mipi_12bit_4lane_30fps, XCLK=27MHz */ +static const struct ar0233_reg ar0233_regs_wizard_rev2[] = { +{0x301A, 0x18}, // MIPI, stream OFF +{AR0233_DELAY, 200}, // Wait 200ms + +{0x3070, 0x0000}, // 1: Solid color test pattern, + // 2: Full color bar test pattern, + // 3: Fade to grey color bar test pattern, + //256: Walking 1 test pattern (12 bit) +{0x3072, 0x0123}, // R +{0x3074, 0x0456}, // G(GR row) +{0x3076, 0x0abc}, // B +{0x3078, 0x0def}, // G(GB row) +#ifdef AR0233_DISPLAY_PATTERN_FIXED +{0x3070, 0x0001}, +#endif +#ifdef AR0233_DISPLAY_PATTERN_COLOR_BAR +{0x3070, 0x0002}, +#endif +{AR0233_DELAY, 100}, // Wait 100ms + +#ifdef O1_Recommended_Defaults_LFM_HDR +#ifdef Design_recommended_settings_REV2_V9 +{0x3C72, 0x0076}, +{0x3C74, 0x0031}, +{0x3C76, 0x00DC}, +{0x3C78, 0x01AA}, +{0x3C7A, 0x0352}, +{0x3C7C, 0x06AA}, +{0x3520, 0x0084}, +{0x3522, 0x7D19}, +{0x356A, 0x81AA}, +{0x3568, 0x0028}, +{0x351A, 0xF400}, +{0x3092, 0x000C}, +{0x37B2, 0x1FFF}, +{0x3562, 0x0C08}, +{0x3496, 0xDF80}, +{0x3492, 0x1001}, +{0x34BC, 0x1010}, +{0x3494, 0x1010}, +{0x3520, 0x0080}, +{0x3512, 0x0EDC}, +{0x3530, 0x5F18}, +{0x353C, 0x9A8A}, +{0x3576, 0x1DFF}, +{0x3544, 0x030F}, +{0x3534, 0x3898}, +{0x353A, 0x9A9A}, +{0x356E, 0x048A}, +{0x356C, 0x6A28}, +{0x3564, 0x1223}, +{0x3508, 0xAF1A}, +{0x3086, 0x0000}, +{0x34BA, 0x0001}, +{0x34B8, 0x0001}, +{0x3550, 0x806C}, +{0x3522, 0x0519}, +{0x34A0, 0x0036}, +{0x34A4, 0x0035}, +{0x34A6, 0x0040}, +{0x342E, 0x0017}, +{0x3E3E, 0x000C}, +{0x3092, 0x408C}, +{0x3530, 0x1F18}, +{0x351C, 0xC0F2}, +{0x3528, 0xE008}, +{0x352A, 0x0827}, +{0x352C, 0xA800}, +{0x352E, 0x0908}, +#endif /* Design_recommended_settings_REV2_V9 */ + +#ifdef Sequence_hidy_ar0233_REV2_V13 +{0x2512, 0x8000}, +{0x2510, 0x070f}, +{0x2510, 0x1011}, +{0x2510, 0x1215}, +{0x2510, 0xffff}, +{0x2510, 0xffff}, +{0x2510, 0xffff}, +{0x2510, 0xffff}, +{0x2510, 0xffff}, +{0x2510, 0x1819}, +{0x2510, 0x1d1e}, +{0x2510, 0x2021}, +{0x2510, 0xffff}, +{0x2510, 0x2240}, +{0x2510, 0x5172}, +{0x2510, 0x8586}, +{0x2510, 0x8788}, +{0x2510, 0x898b}, +{0x2510, 0x959a}, +{0x2510, 0x9b9e}, +{0x2510, 0xa2a6}, +{0x2510, 0xaaac}, +{0x2510, 0xaeb0}, +{0x2510, 0xb3b5}, +{0x2510, 0xcfd1}, +{0x2510, 0xd9dd}, +{0x2510, 0xe0e3}, +{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, 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, 0x2402}, +{0x2510, 0x2403}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2741}, +{0x2510, 0x2429}, +{0x2510, 0x2740}, +{0x2510, 0x242a}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2201}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2201}, +{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, 0xe809}, +{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, 0xf1cc}, +{0x2510, 0xf1cc}, +{0x2510, 0x2201}, +{0x2510, 0x3202}, +{0x2510, 0xf880}, +{0x2510, 0xb830}, +{0x2510, 0xc801}, +{0x2510, 0x30c2}, +{0x2510, 0xe80c}, +{0x2510, 0x2201}, +{0x2510, 0xb04a}, +{0x2510, 0x2226}, +{0x2510, 0x2205}, +{0x2510, 0x3241}, +{0x2510, 0x2206}, +{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, 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, 0x2441}, +{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, 0xe809}, +{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, 0x2218}, +{0x2510, 0x210a}, +{0x2510, 0x210a}, +{0x2510, 0xb04b}, +{0x2510, 0x902f}, +{0x2510, 0xf880}, +{0x2510, 0x2211}, +{0x2510, 0x2205}, +{0x2510, 0x2204}, +{0x2510, 0xb043}, +{0x2510, 0xa8c1}, +{0x2510, 0x31c1}, +{0x2510, 0x2200}, +{0x2510, 0x8048}, +{0x2510, 0x2103}, +{0x2510, 0x916f}, +{0x2510, 0x2106}, +{0x2510, 0x884b}, +{0x2510, 0x210a}, +{0x2510, 0xa8c1}, +{0x2510, 0x2440}, +{0x2510, 0xf110}, +{0x2510, 0xf804}, +{0x2510, 0x2000}, +{0x2510, 0x8008}, +{0x2510, 0x2002}, +{0x2510, 0x880b}, +{0x2510, 0x3002}, +{0x2510, 0xb988}, +{0x2510, 0x2442}, +{0x2510, 0x3210}, +{0x2510, 0x2206}, +{0x2510, 0x2441}, +{0x2510, 0xa8c1}, +{0x2510, 0xf1cb}, +{0x2510, 0xf1cc}, +{0x2510, 0xf1cc}, +{0x2510, 0x2010}, +{0x2510, 0x8088}, +{0x2510, 0x200c}, +{0x2510, 0x888b}, +{0x2510, 0x2005}, +{0x2510, 0xa8d0}, +{0x2510, 0xb04b}, +{0x2510, 0x3202}, +{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, 0x3241}, +{0x2510, 0x902f}, +{0x2510, 0x2206}, +{0x2510, 0x2204}, +{0x2510, 0xb042}, +{0x2510, 0xa9a1}, +{0x2510, 0x8058}, +{0x2510, 0xb093}, +{0x2510, 0x31c1}, +{0x2510, 0x916b}, +{0x2510, 0x2008}, +{0x2510, 0x32c1}, +{0x2510, 0x8803}, +{0x2510, 0xa144}, +{0x2510, 0x3044}, +{0x2510, 0x2000}, +{0x2510, 0xa004}, +{0x2510, 0xb800}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x30d0}, +{0x2510, 0xa184}, +{0x2510, 0xb980}, +{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, 0x2440}, +{0x2510, 0x3260}, +{0x2510, 0x3248}, +{0x2510, 0xb095}, +{0x2510, 0xf110}, +{0x2510, 0xf864}, +{0x2510, 0xf90d}, +{0x2510, 0x32c2}, +{0x2510, 0x30a0}, +{0x2510, 0x3090}, +{0x2510, 0x3088}, +{0x2510, 0x2443}, +{0x2510, 0x8058}, +{0x2510, 0x3001}, +{0x2510, 0x2202}, +{0x2510, 0x885b}, +{0x2510, 0x2442}, +{0x2510, 0x3220}, +{0x2510, 0x2003}, +{0x2510, 0x8048}, +{0x2510, 0x2001}, +{0x2510, 0x884b}, +{0x2510, 0x2441}, +{0x2510, 0x30c2}, +{0x2510, 0x2007}, +{0x2510, 0x8008}, +{0x2510, 0x2000}, +{0x2510, 0x880b}, +{0x2510, 0x2008}, +{0x2510, 0x800a}, +{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, 0x2201}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2201}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2201}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2201}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2400}, +{0x2510, 0x2751}, +{0x2510, 0x2423}, +{0x2510, 0x2750}, +{0x2510, 0x2421}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2749}, +{0x2510, 0x2422}, +{0x2510, 0x2749}, +{0x2510, 0x2423}, +{0x2510, 0x2709}, +{0x2510, 0x2420}, +{0x2510, 0x2729}, +{0x2510, 0x2423}, +{0x2510, 0x3242}, +{0x2510, 0x2722}, +{0x2510, 0x2422}, +{0x2510, 0x2769}, +{0x2510, 0x2421}, +{0x2510, 0x2702}, +{0x2510, 0x2421}, +{0x2510, 0x3242}, +{0x2510, 0x276a}, +{0x2510, 0x2420}, +{0x2510, 0x276a}, +{0x2510, 0x2421}, +{0x2510, 0x2703}, +{0x2510, 0x2420}, +{0x2510, 0x2703}, +{0x2510, 0x2421}, +{0x2510, 0x3242}, +{0x2510, 0x276b}, +{0x2510, 0x2420}, +{0x2510, 0x276b}, +{0x2510, 0x2421}, +{0x2510, 0x2704}, +{0x2510, 0x2420}, +{0x2510, 0x2704}, +{0x2510, 0x2421}, +{0x2510, 0x3242}, +{0x2510, 0x276c}, +{0x2510, 0x2420}, +{0x2510, 0x276c}, +{0x2510, 0x2421}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2759}, +{0x2510, 0x2422}, +{0x2510, 0x2758}, +{0x2510, 0x2420}, +{0x2510, 0x2403}, +{0x2510, 0x2712}, +{0x2510, 0x3242}, +{0x2510, 0x2422}, +{0x2510, 0x271a}, +{0x2510, 0x3242}, +{0x2510, 0x2420}, +{0x2510, 0x2702}, +{0x2510, 0x2423}, +{0x2510, 0x2759}, +{0x2510, 0x2439}, +{0x2510, 0x2758}, +{0x2510, 0x243a}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2400}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x3250}, +{0x2510, 0xc023}, +{0x2510, 0x2402}, +{0x2510, 0x2405}, +{0x2510, 0x2789}, +{0x2510, 0x242e}, +{0x2510, 0x2788}, +{0x2510, 0x242f}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x3250}, +{0x2510, 0x27d8}, +{0x2510, 0x2433}, +{0x2510, 0x27d9}, +{0x2510, 0x2434}, +{0x2510, 0x3250}, +{0x2510, 0xc023}, +{0x2510, 0x2402}, +{0x2510, 0xc023}, +{0x2510, 0x2751}, +{0x2510, 0x2423}, +{0x2510, 0xc02b}, +{0x2510, 0x2750}, +{0x2510, 0x2421}, +{0x2510, 0xc003}, +{0x2510, 0x7fff}, +{0x2510, 0x3250}, +{0x2510, 0xc021}, +{0x2510, 0x2400}, +{0x2510, 0x2405}, +{0x2510, 0xc062}, +{0x2510, 0x3250}, +{0x2510, 0x2400}, +{0x2510, 0xc023}, +{0x2510, 0x2751}, +{0x2510, 0x2423}, +{0x2510, 0xc02b}, +{0x2510, 0x2750}, +{0x2510, 0x2421}, +{0x2510, 0xc003}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x3250}, +{0x2510, 0xc0e3}, +{0x2510, 0x2400}, +{0x2510, 0x27b1}, +{0x2510, 0x2437}, +{0x2510, 0x3250}, +{0x2510, 0xc02b}, +{0x2510, 0x2422}, +{0x2510, 0xc023}, +{0x2510, 0x2751}, +{0x2510, 0x2423}, +{0x2510, 0xc02b}, +{0x2510, 0x2750}, +{0x2510, 0x2421}, +{0x2510, 0xc003}, +{0x2510, 0x7fff}, +{0x2510, 0x2404}, +{0x2510, 0x2779}, +{0x2510, 0x242c}, +{0x2510, 0x2781}, +{0x2510, 0x242d}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2791}, +{0x2510, 0x2430}, +{0x2510, 0x2799}, +{0x2510, 0x2428}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x27a1}, +{0x2510, 0x2430}, +{0x2510, 0x27a9}, +{0x2510, 0x2428}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0xc165}, +{0x2510, 0x2415}, +{0x2510, 0xc026}, +{0x2510, 0x2407}, +{0x2510, 0xc027}, +{0x2510, 0x2406}, +{0x2510, 0x2296}, +{0x2510, 0x2416}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0xc167}, +{0x2510, 0x2400}, +{0x2510, 0xc067}, +{0x2510, 0x2406}, +{0x2510, 0x2416}, +{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, 0xe809}, +{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, 0x2211}, +{0x2510, 0x2205}, +{0x2510, 0x2204}, +{0x2510, 0xb043}, +{0x2510, 0xa8c9}, +{0x2510, 0x31c1}, +{0x2510, 0x80a8}, +{0x2510, 0x2205}, +{0x2510, 0x916f}, +{0x2510, 0x2104}, +{0x2510, 0x88ab}, +{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, 0x2441}, +{0x2510, 0x3202}, +{0x2510, 0xf880}, +{0x2510, 0xb830}, +{0x2510, 0xc801}, +{0x2510, 0x30c2}, +{0x2510, 0xe80c}, +{0x2510, 0x2201}, +{0x2510, 0xb04a}, +{0x2510, 0x2227}, +{0x2510, 0x2205}, +{0x2510, 0x3241}, +{0x2510, 0x2207}, +{0x2510, 0x902f}, +{0x2510, 0x220e}, +{0x2510, 0x2205}, +{0x2510, 0x2204}, +{0x2510, 0xb042}, +{0x2510, 0xa8c9}, +{0x2510, 0xb043}, +{0x2510, 0x31c1}, +{0x2510, 0x916f}, +{0x2510, 0x2009}, +{0x2510, 0xa004}, +{0x2510, 0x7fff}, +{0x2510, 0x30c2}, +{0x2510, 0xa9a0}, +{0x2510, 0xb094}, +{0x2510, 0x2201}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0xb980}, +{0x2510, 0x3260}, +{0x2510, 0x3101}, +{0x2510, 0x3041}, +{0x2510, 0x2000}, +{0x2510, 0x3102}, +{0x2510, 0x3041}, +{0x2510, 0x8038}, +{0x2510, 0x220a}, +{0x2510, 0x881b}, +{0x2510, 0x883b}, +{0x2510, 0x2440}, +{0x2510, 0xb095}, +{0x2510, 0xf110}, +{0x2510, 0xf864}, +{0x2510, 0xf90d}, +{0x2510, 0x8018}, +{0x2510, 0x3004}, +{0x2510, 0x2202}, +{0x2510, 0x2442}, +{0x2510, 0x883b}, +{0x2510, 0x3220}, +{0x2510, 0x2004}, +{0x2510, 0x881b}, +{0x2510, 0x2441}, +{0x2510, 0x30c2}, +{0x2510, 0xa9a0}, +{0x2510, 0xb094}, +{0x2510, 0x2201}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0xa005}, +{0x2510, 0xc800}, +{0x2510, 0xe802}, +{0x2510, 0x31c1}, +{0x2510, 0x2440}, +{0x2510, 0x2442}, +{0x2510, 0xc801}, +{0x2510, 0x30c2}, +{0x2510, 0x31c1}, +{0x2510, 0xa044}, +{0x2510, 0x3044}, +{0x2510, 0x2000}, +{0x2510, 0xa004}, +{0x2510, 0x2000}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2703}, +{0x2510, 0x3242}, +{0x2510, 0x2438}, +{0x2510, 0x2703}, +{0x2510, 0x243b}, +{0x2510, 0x2704}, +{0x2510, 0x3242}, +{0x2510, 0x2438}, +{0x2510, 0x2704}, +{0x2510, 0x243b}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0x2703}, +{0x2510, 0x3242}, +{0x2510, 0x2420}, +{0x2510, 0x2703}, +{0x2510, 0x2421}, +{0x2510, 0x2704}, +{0x2510, 0x3242}, +{0x2510, 0x2420}, +{0x2510, 0x2704}, +{0x2510, 0x2421}, +{0x2510, 0x7fff}, +{0x2510, 0x7fff}, +{0x2510, 0xb095}, +{0x2510, 0xf110}, +{0x2510, 0xf864}, +{0x2510, 0xf90d}, +{0x2510, 0x3001}, +{0x2510, 0x2442}, +{0x2510, 0x30c2}, +{0x2510, 0xa9a0}, +{0x2510, 0xb094}, +{0x2510, 0xb800}, +{0x2510, 0x7fff}, +{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, 0x3426}, +{0x2510, 0x3614}, +{AR0233_DELAY, 100}, +#endif /* Sequence_hidy_ar0233_REV2_V13 */ + +#ifdef Pre_hdr_gain_enable +{0x3110, 0x0011}, +#endif /* Pre_hdr_gain_enable */ + +#ifdef Tempsensor_init +{0x3E94, 0x3007}, +{0x3E6E, 0xE200}, +{0x3E98, 0x1000}, +{0x3F92, 0x4C00}, +{0x30B8, 0x000B}, +{0x30B8, 0x0003}, +#endif /* Tempsensor_init */ + +{0x3364, 0x0766}, //14.8 +#endif /* O1_Recommended_Defaults_LFM_HDR */ + +#ifdef disable_embed_data_stat +{0x3064, 0x0}, // Disable embedded data and stat +#endif /* disable_embed_data_stat */ + +#ifdef HDR_3exp_12bit +{0x3082, 0x8}, //num_exp = 3 +{0x30BA, 0x1122}, //num_exp_max =3 +{0x31AC, 0x140C}, //12 bit output +#endif /* HDR_3exp_12bit */ + +#ifdef pll_27_124p5_4lane_12b +// serial_data_rate was *2 in REV1. but not in REV2 +{0x3030, 0x53}, //PLL_MULTIPLIER +{0x302E, 0x3}, //PRE_PLL_CLK_DIV +{0x302C, 0x701}, //P1 divider (vt_sys_clk_div) +{0x302A, 0x6}, //P2 divider (vt_pix_clk_div) +{0x3038, 0x2}, //P3 divider (op_sys_clk_div) +{0x3036, 0x6}, //P4 divider (op_word_clk_div) +{0x31DC, 0x1FB0}, //vcodiv +#endif /* pll_27_124p5_4lane_12b */ + +#ifdef mipi_124p5_12bit_4lane +{0x31AE, 0x204}, //serial type and lane +{0x31B0, 0x67}, //frame_preamble +{0x31B2, 0x30}, //line_preamble +{0x31B4, 0x22CC}, //mipi_timing_0 +{0x31B6, 0x33D3}, //mipi_timing_1 +{0x31B8, 0xB04D}, //mipi_timing_2 +{0x31BA, 0x411}, //mipi_timing_3 +{0x31BC, 0x940E}, //mipi_timing_4 +#endif /* mipi_124p5_12bit_4lane */ + +#ifdef pll_27_108_4lane_12b +// serial_data_rate was *2 in REV1. but not in REV2 +/* PCLK=27Mhz/PRE_PLL_CLK_DIV *PLL_MULTIPLIER /P1 /P4 */ +/* PCLK=27Mhz/0x3 *0x48/1/6= 108Mhz - TI serializers */ +{0x3030, 0x48}, //PLL_MULTIPLIER +{0x302E, 0x3}, //PRE_PLL_CLK_DIV +{0x302C, 0x701}, //P1 divider (vt_sys_clk_div) +{0x302A, 0x6}, //P2 divider (vt_pix_clk_div) +{0x3038, 0x2}, //P3 divider (op_sys_clk_div) +{0x3036, 0x6}, //P4 divider (op_word_clk_div) +{0x31DC, 0x1FB0}, //vcodiv +#endif /* pll_27_108_4lane_12b */ + +#ifdef mipi_108_12bit_4lane +{0x31AE, 0x204}, //MIPI_enable +{0x31B0, 0x67}, //frame_preamble +{0x31B2, 0x30}, //line_preamble +{0x31B4, 0x22CC}, //mipi_timing_0 +{0x31B6, 0x33D3}, //mipi_timing_1 +{0x31B8, 0xB04D}, //mipi_timing_2 +{0x31BA, 0x411}, //mipi_timing_3 +{0x31BC, 0x940E}, //mipi_timing_4 +#endif /* mipi_108_12bit_4lane */ + +#ifdef MIPI_DT_bit12 +{0x3342, 0x122C}, // MIPI_F1_PDT_EDT +{0x3346, 0x122C}, // MIPI_F2_PDT_EDT +{0x334A, 0x122C}, // MIPI_F3_PDT_EDT +{0x334E, 0x122C}, // MIPI_F4_PDT_EDT +#endif /* MIPI_DT_bit12 */ + +#ifdef LUT_24_to_12 +{0x31AC, 0x180C}, +{0x31D0, 0x01}, //companding +{0x33DA, 0}, +{0x33C0, 0x2000}, //LUT_00 +{0x33C2, 0x3450}, +{0x33C4, 0x48A0}, +{0x33C6, 0x5CF0}, +{0x33C8, 0x7140}, +{0x33CA, 0x8590}, +{0x33CC, 0x99E0}, +{0x33CE, 0xAE30}, +{0x33D0, 0xC280}, +{0x33D2, 0xD6D0}, +{0x33D4, 0xEB20}, +{0x33D6, 0xFF70}, +{0x33F4, 0xFF70}, +{0x33F6, 0xFF70}, +{0x33F8, 0xFF70}, +{0x33FA, 0xFF70}, //LUT_15 +#endif /* LUT_24_to_12 */ + +/* resolution */ +{0x3004, AR0233_X_START}, // X_ADDR_START_ +{0x3008, AR0233_X_END}, // X_ADDR_END_ +{0x3002, AR0233_Y_START}, // Y_ADDR_START_ +{0x3006, AR0233_Y_END}, // Y_ADDR_END_ + +{0x3044, 0x0400}, //Dark_control + +#ifdef HDR_ratio_gain_default +{0x3362, 0x000F}, //HCG +{0x3366, 0x1111}, //1x +{0x3238, 0x0444}, // Ratio 16x, Use retio setting +#endif /* HDR_ratio_gain_default */ + +// FPS = 124.5MHz / reg0x300A / reg0x300C * (DES_REF_XTAL/27MHz) +{0x300A, AR0233_SENSOR_HEIGHT + 100}, // Frame_length_Lines +{0x300C, AR0233_SENSOR_WIDTH + 400}, // Line_length_pck +{0x3012, 0x144}, //Integration_time + +#ifdef Enable_trigger_input +{0x340A, 0x0070}, // GPIO_CONTROL1: GPIO1 is trigger +{0x340C, 0x0080}, // GPIO_CONTROL2: GPIO1 is trigger +{0x30CE, 0x0120}, // TRIGGER_MODE +//{0x30DC, 0x0120}, // TRIGGER_DELAY +{0x301A, 0x0118}, // GPI pins enable +#endif /* Enable_trigger_input */ +}; -- 2.7.4