; WIP Last Changed Rev: 2172 ;************************************************************************************** ; Copyright 2011 Aptina Imaging Corporation. All rights reserved. ; ; ; No permission to use, copy, modify, or distribute this software and/or ; its documentation for any purpose has been granted by Aptina Imaging Corporation. ; If any such permission has been granted ( by separate agreement ), it ; is required that the above copyright notice appear in all copies and ; that both that copyright notice and this permission notice appear in ; supporting documentation, and that the name of Aptina Imaging Corporation or any ; of its trademarks may not be used in advertising or publicity pertaining ; to distribution of the software without specific, written prior permission. ; ; ; This software and any associated documentation are provided "AS IS" and ; without warranty of any kind. APTINA IMAGING CORPORATION EXPRESSLY DISCLAIMS ; ALL WARRANTIES EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, NONINFRINGEMENT ; OF THIRD PARTY RIGHTS, AND ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS ; FOR A PARTICULAR PURPOSE. APTINA DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED ; IN THIS SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF THIS SOFTWARE ; WILL BE UNINTERRUPTED OR ERROR-FREE. FURTHERMORE, APTINA DOES NOT WARRANT OR ; MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE USE OF ANY ; ACCOMPANYING DOCUMENTATION IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY, ; OR OTHERWISE. ;*************************************************************************************/ ; Default INI file for the A-2020SOC-REV3 ; ; $Revision: 28073 $ ; $Date: 2011-05-24 14:58:00 -0700 (Tue, 24 May 2011) $ ; ; This file holds groups of register presets (sections) specific for this sensor. The ; presets allow you to overwrite the power-on default settings with optimized register ; settings. ; The [Demo Initialization] section contains all optimized register settings for running ; the sensor in the demo environment. Other sections include settings optimized for a ; variety of situations like: Running at different master clock speeds, running under ; different lighting situations, running with different lenses, etc. ; Most of the demonstration software (DevWare, SensorDemo, ...) make use of this file ; to load and store the user presets. ; ; Keyname description: ; REG = assign a new register value ; BITFIELD = do a READ-MODIFY-WRITE to part of a register. The part is defined as a mask. ; FIELD_WR = Write any register, variable or bitfield, specified by its symbol name ; LOAD = load an alternate section from this section ; STATE = set non-register state ; DELAY = delay a certain amount of milliseconds before continuing ; POLL_REG = Read a register a specified number of times, or until the register ; value no longer meets a specified condition. You specify the ; register by its address, and it only works with simple registers. ; You also specify a delay between each iteration of the loop. ; POLL_FIELD = Like POLL_REG except you specify the register by its symbol name ; as defined in the sensor data file. POLL_FIELD works with any kind ; of register or variable. ; ; Keyname format: ; REG = [<page>,] <address>, <value> //<comment> ; BITFIELD = [<page>,] <address>, <mask>, <value> ; Some examples: ; BITFIELD=2, 0x05, 0x0020, 1 //for register 5 on page 2, set the 6th bit to 1 ; BITFIELD=0x06, 0x000F, 0 //for register 6, clear the first 4 bits ; FIELD_WR = <registername>, [<bitfieldname>,] <value> ; LOAD = <section> ; STATE = <state>, <value> ; DELAY = <milliseconds> ; POLL_REG = [<page>,]<address>,<mask>,<condition>,DELAY=<milliseconds>,TIMEOUT=<count> //<comment> ; Example: Poll every 50ms, stop when value <= 8 or after 5 times (250ms). ; POLL_REG= 2, 0x3F, 0xFFFF, >8, DELAY=50, TIMEOUT=5 ; POLL_FIELD = <registername>, [<bitfieldname>,] <condition>, DELAY=<milliseconds>, TIMEOUT=<count> //<comment> ; Example: Poll every 10 ms, stop when the value = 0, or after 500ms. ; POLL_FIELD= SEQ_CMD, !=0, DELAY=10, TIMEOUT=50 ; ; <page> Optional address space for this register. Some sensors (mostly SOC's) ; have multiple register pages (see the sensor spec or developer's guide) ; <address> the register address ; <value> the new value to assign to the register ; <mask> is the part of a register value that needs to be updated with a new value ; <registername> Name of a register or variable as defined the sensor data (.sdat) file ; <bitfieldname> Optional name of a bitfield ; <condition> < <= == != > or >= followed by a numerical value ; <count> Number of iterations of the polling loop ; <section> the name of another section to load ; <state> non-register program state names [do not modify] ; <milliseconds> wait for this ammount of milliseconds before continuing ; <comment> Some form of C-style comments are supported in this .ini file ; ;*************************************************************************************/ [Reset] //------------------------------------- // Reset Image Sensor by Resetting MCU //------------------------------------- FIELD_WR=MCU_BOOT_MODE, RESET_MCU, 1 //RESET_MCU stop MCU FIELD_WR=MCU_BOOT_MODE, RESET_MCU, 0 //RESET_MCU start MCU DELAY=100 [Demo Initialization] //----------------------------------------------------------- // This Section Loads all the defaults from the sub-sections //----------------------------------------------------------- LOAD=Powerup DELAY=500 LOAD=PLL Setup 24Mhz/80Mhz Out LOAD=Lens Correction_Largan 971A LOAD=LUT_Moderate LOAD=AE LOAD=Mode LOAD=Sequencer_Optimized_HiSat_Sharp LOAD=Noise Reduction Test ;LOAD=Low Power Preview 15 FPS LOAD=State Setup LOAD=Refresh // Resync FPS reporting DELAY= 20 STATE= Detect Master Clock, 1 [Powerup] //--------------------------------------------- // Per default the sensor comes up in standby, // this enables the image output //--------------------------------------------- REG=0x301A,0x0ACC //Reset Register FIELD_WR= STANDBY_CONTROL,0x0008 //Allow Standby [Refresh] //--------------------------------------- // This Section refreshes the variables //--------------------------------------- REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=500 //Wait [State Setup] //--------------------------------------- //These settings are used by DevWare to //Desplay the correct framerate and select //The correct image capture mode //---------------------------------------- STATE=Still Mode, 1 //STATE=Num Capture Frames, 4 //STATE=Still Capture Average, 1 STATE=Save 24bpp BMP, 1 STATE=Save RAW, 0 STATE=Save TXT, 1 STATE=Save HEX, 0 STATE=Save RAW TIFF, 0 STATE=Save 48bpp COLOR TIFF, 0 STATE=Save RAW JPEG, 0 STATE=Save BMP Info, 0 STATE=Display Zoom, 4 [Viewfinder ON] FIELD_WR = SEQ_CAP_MODE, VIDEO, 0 //VIDEO Off FIELD_WR = SEQ_CMD, 1 //Back to preview [Viewfinder OFF] FIELD_WR = SEQ_CAP_MODE, VIDEO, 1 //VIDEO On FIELD_WR = SEQ_CMD, 2 //Capture on [Video Capture ON] FIELD_WR = SEQ_CAP_MODE, VIDEO, 1 //VIDEO On FIELD_WR = SEQ_CMD, 2 //Capture on [Video Capture OFF] FIELD_WR = SEQ_CMD, 1 //Back to preview [Enable Capture with LED Flash] REG= 0x338C, 0xA106 // MCU_ADDRESS [SEQ_FLASHTYPE] REG= 0x3390, 0x0001 // MCU_DATA_0 REG= 0x338C, 0xA135 // MCU_ADDRESS [SEQ_PREVIEW_2_FLASH] REG= 0x3390, 0x0001 // MCU_DATA_0 REG= 0x338C, 0xA13C // MCU_ADDRESS [SEQ_PREVIEW_3_FLASH] REG= 0x3390, 0x0001 // MCU_DATA_0 [Disable Capture with Flash] REG= 0x338C, 0xA106 // MCU_ADDRESS [SEQ_FLASHTYPE] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA135 // MCU_ADDRESS [SEQ_PREVIEW_2_FLASH] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA13C // MCU_ADDRESS [SEQ_PREVIEW_3_FLASH] REG= 0x3390, 0x0000 // MCU_DATA_0 [Enable stepper motor AF] REG= 0x338C, 0xA602 // MCU_ADDRESS [AFM_TYPE] REG= 0x3390, 0x0082 // MCU_DATA_0 REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF] REG= 0x3390, 0x0001 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=1000 REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA13A // MCU_ADDRESS [SEQ_PREVIEW_3_AF] REG= 0x3390, 0x0001 // MCU_DATA_0 [Enable helimorph AF] REG= 0x338C, 0xA602 // MCU_ADDRESS [AFM_TYPE] REG= 0x3390, 0x0081 // MCU_DATA_0 REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF] REG= 0x3390, 0x0001 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=1000 REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA13A // MCU_ADDRESS [SEQ_PREVIEW_3_AF] REG= 0x3390, 0x0001 // MCU_DATA_0 [Enable AD5398 AF] REG= 0x338C, 0xA602 // MCU_ADDRESS [AFM_TYPE] REG= 0x3390, 0x0083 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=500 REG= 0x338C, 0xA60A // MCU_ADDRESS [AFM_CUSTCTRL] REG= 0x3390, 0x0080 // MCU_DATA_0 REG= 0x338C, 0xA102 // MCU_ADDRESS [SEQ_MODE] REG= 0x3390, 0x001F // MCU_DATA_0 REG= 0x338C, 0xA622 // MCU_ADDRESS [AFM_SI_SLAVEADDR] REG= 0x3390, 0x0018 // MCU_DATA_0 [Disable AF] REG= 0x338C, 0xA602 // MCU_ADDRESS [AFM_TYPE] REG= 0x3390, 0x0080 // MCU_DATA_0 REG= 0x338C, 0xA12C // MCU_ADDRESS [SEQ_PREVIEW_1_AF] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 REG= 0x338C, 0xA13A // MCU_ADDRESS [SEQ_PREVIEW_3_AF] REG= 0x3390, 0x0000 // MCU_DATA_0 [Refocus] REG= 0x338C, 0xA102 // MCU_ADDRESS [SEQ_MODE] REG= 0x3390, 0x001F // MCU_DATA_0 REG= 0x338C, 0xA504 // MCU_ADDRESS [AF_MODE] REG= 0x3390, 0x0001 // MCU_DATA_0 [Mode] //------------------------------------------- // This Section sets up Preview/Capture Mode // // Preview: 640 x 480 at 15 FPS // Capture: 1600 x 1200 at 15 FPS //------------------------------------------- REG= 0x338C, 0x2703 // MCU_ADDRESS [MODE_OUTPUT_WIDTH_A] = 640 REG= 0x3390, 0x0280 // MCU_DATA_0 REG= 0x338C, 0x2705 // MCU_ADDRESS [MODE_OUTPUT_HEIGHT_A] = 480 REG= 0x3390, 0x01E0 // MCU_DATA_0 REG= 0x338C, 0x2707 // MCU_ADDRESS [MODE_OUTPUT_WIDTH_B] = 1600 REG= 0x3390, 0x0640 // MCU_DATA_0 REG= 0x338C, 0x2709 // MCU_ADDRESS [MODE_OUTPUT_HEIGHT_B] = 1200 REG= 0x3390, 0x04B0 // MCU_DATA_0 REG= 0x338C, 0x270D // MCU_ADDRESS [MODE_SENSOR_ROW_START_A] = 0 REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0x270F // MCU_ADDRESS [MODE_SENSOR_COL_START_A] = 0 REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0x2711 // MCU_ADDRESS [MODE_SENSOR_ROW_END_A] = 1213 REG= 0x3390, 0x04BD // MCU_DATA_0 REG= 0x338C, 0x2713 // MCU_ADDRESS [MODE_SENSOR_COL_END_A] = 1613 REG= 0x3390, 0x064D // MCU_DATA_0 REG= 0x338C, 0x2715 // MCU_ADDRESS [MODE_SENSOR_X_DELAY_A] = 1230 REG= 0x3390, 0x04CE // MCU_DATA_0 REG= 0x338C, 0x2717 // MCU_ADDRESS [MODE_SENSOR_ROW_SPEED_A] = 8465 REG= 0x3390, 0x2111 // MCU_DATA_0 REG= 0x338C, 0x2719 // MCU_ADDRESS [MODE_SENSOR_READ_MODE_A] = 1132 REG= 0x3390, 0x046C // MCU_DATA_0 REG= 0x338C, 0x271B // MCU_ADDRESS [MODE_SENSOR_SAMPLE_TIME_PCK_A] = 591 REG= 0x3390, 0x024F // MCU_DATA_0 REG= 0x338C, 0x271D // MCU_ADDRESS [MODE_SENSOR_FINE_CORRECTION_A] = 258 REG= 0x3390, 0x0102 // MCU_DATA_0 REG= 0x338C, 0x271F // MCU_ADDRESS [MODE_SENSOR_FINE_IT_MIN_A] = 633 REG= 0x3390, 0x0279 // MCU_DATA_0 REG= 0x338C, 0x2721 // MCU_ADDRESS [MODE_SENSOR_FINE_IT_MAX_MARGIN_A] = 341 REG= 0x3390, 0x0155 // MCU_DATA_0 REG= 0x338C, 0x2723 // MCU_ADDRESS [MODE_SENSOR_FRAME_LENGTH_A] = 1279 REG= 0x3390, 0x04FF // MCU_DATA_0 REG= 0x338C, 0x2725 // MCU_ADDRESS [MODE_SENSOR_LINE_LENGTH_PCK_A] = 2084 REG= 0x3390, 0x0824 // MCU_DATA_0 REG= 0x338C, 0x2727 // MCU_ADDRESS [MODE_SENSOR_DAC_ID_4_5_A] = 8224 REG= 0x3390, 0x2020 // MCU_DATA_0 REG= 0x338C, 0x2729 // MCU_ADDRESS [MODE_SENSOR_DAC_ID_6_7_A] = 8224 REG= 0x3390, 0x2020 // MCU_DATA_0 REG= 0x338C, 0x272B // MCU_ADDRESS [MODE_SENSOR_DAC_ID_8_9_A] = 4128 REG= 0x3390, 0x1020 // MCU_DATA_0 REG= 0x338C, 0x272D // MCU_ADDRESS [MODE_SENSOR_DAC_ID_10_11_A] = 8199 REG= 0x3390, 0x2007 // MCU_DATA_0 REG= 0x338C, 0x272F // MCU_ADDRESS [MODE_SENSOR_ROW_START_B] = 4 REG= 0x3390, 0x0004 // MCU_DATA_0 REG= 0x338C, 0x2731 // MCU_ADDRESS [MODE_SENSOR_COL_START_B] = 4 REG= 0x3390, 0x0004 // MCU_DATA_0 REG= 0x338C, 0x2733 // MCU_ADDRESS [MODE_SENSOR_ROW_END_B] = 1211 REG= 0x3390, 0x04BB // MCU_DATA_0 REG= 0x338C, 0x2735 // MCU_ADDRESS [MODE_SENSOR_COL_END_B] = 1611 REG= 0x3390, 0x064B // MCU_DATA_0 REG= 0x338C, 0x2737 // MCU_ADDRESS [MODE_SENSOR_X_DELAY_B] = 1230 REG= 0x3390, 0x04CE // MCU_DATA_0 REG= 0x338C, 0x2739 // MCU_ADDRESS [MODE_SENSOR_ROW_SPEED_B] = 8465 REG= 0x3390, 0x2111 // MCU_DATA_0 REG= 0x338C, 0x273B // MCU_ADDRESS [MODE_SENSOR_READ_MODE_B] = 36 REG= 0x3390, 0x0024 // MCU_DATA_0 REG= 0x338C, 0x273D // MCU_ADDRESS [MODE_SENSOR_SAMPLE_TIME_PCK_B] = 288 REG= 0x3390, 0x0120 // MCU_DATA_0 REG= 0x338C, 0x2745 // MCU_ADDRESS [MODE_SENSOR_FRAME_LENGTH_B] = 1279 REG= 0x3390, 0x04FF // MCU_DATA_0 REG= 0x338C, 0x2747 // MCU_ADDRESS [MODE_SENSOR_LINE_LENGTH_PCK_B] = 2048 REG= 0x3390, 0x0824 // MCU_DATA_0 REG= 0x338C, 0x2751 // MCU_ADDRESS [MODE_CROP_X0_A] = 0 REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0x2753 // MCU_ADDRESS [MODE_CROP_X1_A] = 800 REG= 0x3390, 0x0320 // MCU_DATA_0 REG= 0x338C, 0x2755 // MCU_ADDRESS [MODE_CROP_Y0_A] = 0 REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0x2757 // MCU_ADDRESS [MODE_CROP_Y1_A] = 600 REG= 0x3390, 0x0258 // MCU_DATA_0 REG= 0x338C, 0x275F // MCU_ADDRESS [MODE_CROP_X0_B] = 0 REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0x2761 // MCU_ADDRESS [MODE_CROP_X1_B] = 1600 REG= 0x3390, 0x0640 // MCU_DATA_0 REG= 0x338C, 0x2763 // MCU_ADDRESS [MODE_CROP_Y0_B] = 0 REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0x2765 // MCU_ADDRESS [MODE_CROP_Y1_B] = 1200 REG= 0x3390, 0x04B0 // MCU_DATA_0 REG= 0x338C, 0x222E // MCU_ADDRESS [AE_R9_STEP] = 160 REG= 0x3390, 0x00A0 // MCU_DATA_0 REG= 0x338C, 0xA408 // MCU_ADDRESS [FD_SEARCH_F1_50] = 31 REG= 0x3390, 0x001F // MCU_DATA_0 REG= 0x338C, 0xA409 // MCU_ADDRESS [FD_SEARCH_F2_50] = 33 REG= 0x3390, 0x0021 // MCU_DATA_0 REG= 0x338C, 0xA40A // MCU_ADDRESS [FD_SEARCH_F1_60] = 37 REG= 0x3390, 0x0025 // MCU_DATA_0 REG= 0x338C, 0xA40B // MCU_ADDRESS [FD_SEARCH_F2_60] = 39 REG= 0x3390, 0x0027 // MCU_DATA_0 REG= 0x338C, 0x2411 // MCU_ADDRESS [FD_R9_STEP_F60_A] = 160 REG= 0x3390, 0x00A0 // MCU_DATA_0 REG= 0x338C, 0x2413 // MCU_ADDRESS [FD_R9_STEP_F50_A] = 192 REG= 0x3390, 0x00C0 // MCU_DATA_0 REG= 0x338C, 0x2415 // MCU_ADDRESS [FD_R9_STEP_F60_B] = 160 REG= 0x3390, 0x00A0 // MCU_DATA_0 REG= 0x338C, 0x2417 // MCU_ADDRESS [FD_R9_STEP_F50_B] = 192 REG= 0x3390, 0x00C0 // MCU_DATA_0 REG= 0x338C, 0x2799 // MCU_ADDRESS [MODE_SPEC_EFFECTS_A] Dither for Noise Reduction REG= 0x3390, 0x6408 // MCU_DATA_0 REG= 0x338C, 0x279B // MCU_ADDRESS [MODE_SPEC_EFFECTS_B] Dither for Noise Reduction REG= 0x3390, 0x6408 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] Refresh REG= 0x3390, 0x0005 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] Refresh Mode REG= 0x3390, 0x0006 // MCU_DATA_0 [PLL Setup 24Mhz/80Mhz Out] //---------------------------------------------- // This Section sets up the PLL for en external // Masterclock of 24 MHZ and an internal clock // of 80 MHz. //---------------------------------------------- REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: BYPASS PLL = 36617 REG = 0, 0x341C, 0x0250 //PLL Control 1 = 592 REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: PLL ON, bypassed = 36617 DELAY = 5 // More than ample time to allow PLL to lock REG = 0, 0x341E, 0x8F08 //PLL/ Clk_in control: USE PLL = 36616 //STATE=Master Clock, 80000000 REG=1, 0x3214, 0x06E6 //default 0x0480 -> make Slope work for 80 MHz Mclk [PLL Setup 48Mhz In/80Mhz Out] //---------------------------------------------- // This Section sets up the PLL for en external // Masterclock of 48 MHZ and an internal clock // of 80 MHz. //---------------------------------------------- REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: BYPASS PLL = 36617 REG = 0, 0x341C, 0x0550 //PLL Set M=80, N=5 REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: PLL ON, bypassed = 36617 DELAY = 5 // More than ample time to allow PLL to lock REG = 0, 0x341E, 0x8F08 //PLL/ Clk_in control: USE PLL = 36616 STATE=Master Clock, 80000000 REG=1, 0x3214, 0x06E6 //default 0x0480 -> make Slope work for 80 MHz Mclk [PLL Setup 24Mhz In/48Mhz Out] REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: BYPASS PLL = 36617 REG = 0, 0x341C, 0x0120 //PLL Control 1 = 288 REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: PLL ON, bypassed = 36617 DELAY = 5 // More than ample time to allow PLL to lock REG = 0, 0x341E, 0x8F08 //PLL/ Clk_in control: USE PLL = 36616 REG=1, 0x3214, 0x06E6 //default 0x0480 -> make Slope work for 80 MHz Mclk [Lens Correction_Largan 971A] REG=0x34CE, 0x01A0 //LENS_CORRECTION_CONTROL REG=0x34D0, 0x6633 //ZONE_BOUNDS_X1_X2 REG=0x34D2, 0x319A //ZONE_BOUNDS_X0_X3 REG=0x34D4, 0x9463 //ZONE_BOUNDS_X4_X5 REG=0x34D6, 0x4B25 //ZONE_BOUNDS_Y1_Y2 REG=0x34D8, 0x2670 //ZONE_BOUNDS_Y0_Y3 REG=0x34DA, 0x724C //ZONE_BOUNDS_Y4_Y5 REG=0x34DC, 0xFF04 //CENTER_OFFSET REG=0x34DE, 0x00FD //FX_RED REG=0x34E6, 0x00E8 //FY_RED REG=0x34EE, 0x0EE5 //DF_DX_RED REG=0x34F6, 0x0CC8 //DF_DY_RED REG=0x3500, 0xE3F3 //SECOND_DERIV_ZONE_0_RED REG=0x3508, 0x11E5 //SECOND_DERIV_ZONE_1_RED REG=0x3510, 0x262E //SECOND_DERIV_ZONE_2_RED REG=0x3518, 0x2633 //SECOND_DERIV_ZONE_3_RED REG=0x3520, 0x373D //SECOND_DERIV_ZONE_4_RED REG=0x3528, 0x393F //SECOND_DERIV_ZONE_5_RED REG=0x3530, 0x12B0 //SECOND_DERIV_ZONE_6_RED REG=0x3538, 0xDC9F //SECOND_DERIV_ZONE_7_RED REG=0x354C, 0x07FF //K_FACTOR_IN_K_FX_FY_R_TL REG=0x3544, 0x07FF //K_FACTOR_IN_K_FX_FY_R_TR REG=0x355C, 0x0472 //K_FACTOR_IN_K_FX_FY_R_BL REG=0x3554, 0x07FF //K_FACTOR_IN_K_FX_FY_R_BR REG=0x34E0, 0x00DB //FX_GREEN REG=0x34E8, 0x008A //FY_GREEN REG=0x34F0, 0x0FF2 //DF_DX_GREEN REG=0x34F8, 0x0E41 //DF_DY_GREEN REG=0x3502, 0xF1E6 //SECOND_DERIV_ZONE_0_GREEN REG=0x350A, 0x02C3 //SECOND_DERIV_ZONE_1_GREEN REG=0x3512, 0x112B //SECOND_DERIV_ZONE_2_GREEN REG=0x351A, 0x1C26 //SECOND_DERIV_ZONE_3_GREEN REG=0x3522, 0x2428 //SECOND_DERIV_ZONE_4_GREEN REG=0x352A, 0x271E //SECOND_DERIV_ZONE_5_GREEN REG=0x3532, 0x02E0 //SECOND_DERIV_ZONE_6_GREEN REG=0x353A, 0xFC17 //SECOND_DERIV_ZONE_7_GREEN REG=0x354E, 0x07FF //K_FACTOR_IN_K_FX_FY_G1_TL REG=0x3546, 0x07FF //K_FACTOR_IN_K_FX_FY_G1_TR REG=0x355E, 0x0600 //K_FACTOR_IN_K_FX_FY_G1_BL REG=0x3556, 0x018E //K_FACTOR_IN_K_FX_FY_G1_BR REG=0x34E4, 0x00B2 //FX_BLUE REG=0x34EC, 0x0059 //FY_BLUE REG=0x34F4, 0x0FDF //DF_DX_BLUE REG=0x34FC, 0x0D95 //DF_DY_BLUE REG=0x3506, 0x14F5 //SECOND_DERIV_ZONE_0_BLUE REG=0x350E, 0x06C6 //SECOND_DERIV_ZONE_1_BLUE REG=0x3516, 0x1A26 //SECOND_DERIV_ZONE_2_BLUE REG=0x351E, 0x2219 //SECOND_DERIV_ZONE_3_BLUE REG=0x3526, 0x1423 //SECOND_DERIV_ZONE_4_BLUE REG=0x352E, 0x0E14 //SECOND_DERIV_ZONE_5_BLUE REG=0x3536, 0xF4EC //SECOND_DERIV_ZONE_6_BLUE REG=0x353E, 0xDD1D //SECOND_DERIV_ZONE_7_BLUE REG=0x3552, 0x05A1 //K_FACTOR_IN_K_FX_FY_B_TL REG=0x354A, 0x03FF //K_FACTOR_IN_K_FX_FY_B_TR REG=0x3562, 0x018E //K_FACTOR_IN_K_FX_FY_B_BL REG=0x355A, 0x018E //K_FACTOR_IN_K_FX_FY_B_BR REG=0x34E2, 0x00AA //FX_GREEN2 REG=0x34EA, 0x0066 //FY_GREEN2 REG=0x34F2, 0x0E92 //DF_DX_GREEN2 REG=0x34FA, 0x0D63 //DF_DY_GREEN2 REG=0x3504, 0x0E1B //SECOND_DERIV_ZONE_0_GREEN2 REG=0x350C, 0x0DE7 //SECOND_DERIV_ZONE_1_GREEN2 REG=0x3514, 0x1D22 //SECOND_DERIV_ZONE_2_GREEN2 REG=0x351C, 0x2A2A //SECOND_DERIV_ZONE_3_GREEN2 REG=0x3524, 0x1A26 //SECOND_DERIV_ZONE_4_GREEN2 REG=0x352C, 0x1420 //SECOND_DERIV_ZONE_5_GREEN2 REG=0x3534, 0xF2AB //SECOND_DERIV_ZONE_6_GREEN2 REG=0x353C, 0xD2E0 //SECOND_DERIV_ZONE_7_GREEN2 REG=0x3550, 0x03FF //K_FACTOR_IN_K_FX_FY_G2_TL REG=0x3548, 0x07FF //K_FACTOR_IN_K_FX_FY_G2_TR REG=0x3560, 0x03FF //K_FACTOR_IN_K_FX_FY_G2_BL REG=0x3558, 0x07FF //K_FACTOR_IN_K_FX_FY_G2_BR REG=0x3540, 0x0000 //X2_FACTORS REG=0x3542, 0x0004 //GLOBAL_OFFSET_FXY_FUNCTION STATE=Lens Correction Falloff, 90 STATE=Lens Correction Center X, 820 STATE=Lens Correction Center Y, 600 BITFIELD=0x3210, 0x0004, 1 //LENS_CORRECTION [CCM] //------------------------------------------- // Demo Boards. (Derived with Largan Lens) //------------------------------------------- REG= 0x338C, 0xA34A // MCU_ADDRESS [AWB_GAIN_MIN] REG= 0x3390, 0x005A // MCU_DATA_0 (Needed so we get enough Red Gain....) [AE] //-------------------------------------------------- // This Section sets up the AE. // - Target is lower than default (50 compared to 60) // - MDR uses MaxRGB for upper Clipping Detection // - Reduce the Maximum EV shift for MDR //-------------------------------------------------- REG= 0x338C, 0xA206 // MCU_ADDRESS [AE_TARGET] REG= 0x3390, 0x0030 // MCU_DATA_0 [one step MDR] REG= 0x338C, 0xA218 // MCU_ADDRESS [AE_STATUS] set bit 5 to 1 REG= 0x3390, 0x00A4 // MCU_DATA_0 REG= 0x338C, 0xA130 // MCU_ADDRESS [SEQ_PREVIEW_2_AE] REG= 0x3390, 0x0000 // MCU_DATA_0 [LUT_sRGB] //--------------------------------------------------- // This Settings produce sRGB output from the Sensor // (No contrast and low saturation) //--------------------------------------------------- REG= 0x338C, 0xA352 // MCU_ADDRESS [AWB_SATURATION] REG= 0x3390, 0x0064 // MCU_DATA_0 REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1] REG= 0x3390, 0x0064 // MCU_DATA_0 REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2] REG= 0x3390, 0x0019 // MCU_DATA_0 REG= 0x338C, 0xA76D // MCU_ADDRESS [MODE_GAM_CONT_A] REG= 0x3390, 0x0003 // MCU_DATA_0 REG= 0x338C, 0xA76E // MCU_ADDRESS [MODE_GAM_CONT_B] REG= 0x3390, 0x0003 // MCU_DATA_0 REG= 0x338C, 0xA76F // MCU_ADDRESS [MODE_GAM_TABLE_A_0] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA770 // MCU_ADDRESS [MODE_GAM_TABLE_A_1] REG= 0x3390, 0x0027 // MCU_DATA_0 REG= 0x338C, 0xA771 // MCU_ADDRESS [MODE_GAM_TABLE_A_2] REG= 0x3390, 0x0035 // MCU_DATA_0 REG= 0x338C, 0xA772 // MCU_ADDRESS [MODE_GAM_TABLE_A_3] REG= 0x3390, 0x0049 // MCU_DATA_0 REG= 0x338C, 0xA773 // MCU_ADDRESS [MODE_GAM_TABLE_A_4] REG= 0x3390, 0x0064 // MCU_DATA_0 REG= 0x338C, 0xA774 // MCU_ADDRESS [MODE_GAM_TABLE_A_5] REG= 0x3390, 0x0077 // MCU_DATA_0 REG= 0x338C, 0xA775 // MCU_ADDRESS [MODE_GAM_TABLE_A_6] REG= 0x3390, 0x0088 // MCU_DATA_0 REG= 0x338C, 0xA776 // MCU_ADDRESS [MODE_GAM_TABLE_A_7] REG= 0x3390, 0x0097 // MCU_DATA_0 REG= 0x338C, 0xA777 // MCU_ADDRESS [MODE_GAM_TABLE_A_8] REG= 0x3390, 0x00A4 // MCU_DATA_0 REG= 0x338C, 0xA778 // MCU_ADDRESS [MODE_GAM_TABLE_A_9] REG= 0x3390, 0x00AF // MCU_DATA_0 REG= 0x338C, 0xA779 // MCU_ADDRESS [MODE_GAM_TABLE_A_10] REG= 0x3390, 0x00BA // MCU_DATA_0 REG= 0x338C, 0xA77A // MCU_ADDRESS [MODE_GAM_TABLE_A_11] REG= 0x3390, 0x00C5 // MCU_DATA_0 REG= 0x338C, 0xA77B // MCU_ADDRESS [MODE_GAM_TABLE_A_12] REG= 0x3390, 0x00CE // MCU_DATA_0 REG= 0x338C, 0xA77C // MCU_ADDRESS [MODE_GAM_TABLE_A_13] REG= 0x3390, 0x00D8 // MCU_DATA_0 REG= 0x338C, 0xA77D // MCU_ADDRESS [MODE_GAM_TABLE_A_14] REG= 0x3390, 0x00E0 // MCU_DATA_0 REG= 0x338C, 0xA77E // MCU_ADDRESS [MODE_GAM_TABLE_A_15] REG= 0x3390, 0x00E8 // MCU_DATA_0 REG= 0x338C, 0xA77F // MCU_ADDRESS [MODE_GAM_TABLE_A_16] REG= 0x3390, 0x00F1 // MCU_DATA_0 REG= 0x338C, 0xA780 // MCU_ADDRESS [MODE_GAM_TABLE_A_17] REG= 0x3390, 0x00F8 // MCU_DATA_0 REG= 0x338C, 0xA781 // MCU_ADDRESS [MODE_GAM_TABLE_A_18] REG= 0x3390, 0x00FF // MCU_DATA_0 REG= 0x338C, 0xA782 // MCU_ADDRESS [MODE_GAM_TABLE_B_0] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA783 // MCU_ADDRESS [MODE_GAM_TABLE_B_1] REG= 0x3390, 0x0027 // MCU_DATA_0 REG= 0x338C, 0xA784 // MCU_ADDRESS [MODE_GAM_TABLE_B_2] REG= 0x3390, 0x0035 // MCU_DATA_0 REG= 0x338C, 0xA785 // MCU_ADDRESS [MODE_GAM_TABLE_B_3] REG= 0x3390, 0x0049 // MCU_DATA_0 REG= 0x338C, 0xA786 // MCU_ADDRESS [MODE_GAM_TABLE_B_4] REG= 0x3390, 0x0064 // MCU_DATA_0 REG= 0x338C, 0xA787 // MCU_ADDRESS [MODE_GAM_TABLE_B_5] REG= 0x3390, 0x0077 // MCU_DATA_0 REG= 0x338C, 0xA788 // MCU_ADDRESS [MODE_GAM_TABLE_B_6] REG= 0x3390, 0x0088 // MCU_DATA_0 REG= 0x338C, 0xA789 // MCU_ADDRESS [MODE_GAM_TABLE_B_7] REG= 0x3390, 0x0097 // MCU_DATA_0 REG= 0x338C, 0xA78A // MCU_ADDRESS [MODE_GAM_TABLE_B_8] REG= 0x3390, 0x00A4 // MCU_DATA_0 REG= 0x338C, 0xA78B // MCU_ADDRESS [MODE_GAM_TABLE_B_9] REG= 0x3390, 0x00AF // MCU_DATA_0 REG= 0x338C, 0xA78C // MCU_ADDRESS [MODE_GAM_TABLE_B_10] REG= 0x3390, 0x00BA // MCU_DATA_0 REG= 0x338C, 0xA78D // MCU_ADDRESS [MODE_GAM_TABLE_B_11] REG= 0x3390, 0x00C5 // MCU_DATA_0 REG= 0x338C, 0xA78E // MCU_ADDRESS [MODE_GAM_TABLE_B_12] REG= 0x3390, 0x00CE // MCU_DATA_0 REG= 0x338C, 0xA78F // MCU_ADDRESS [MODE_GAM_TABLE_B_13] REG= 0x3390, 0x00D8 // MCU_DATA_0 REG= 0x338C, 0xA790 // MCU_ADDRESS [MODE_GAM_TABLE_B_14] REG= 0x3390, 0x00E0 // MCU_DATA_0 REG= 0x338C, 0xA791 // MCU_ADDRESS [MODE_GAM_TABLE_B_15] REG= 0x3390, 0x00E8 // MCU_DATA_0 REG= 0x338C, 0xA792 // MCU_ADDRESS [MODE_GAM_TABLE_B_16] REG= 0x3390, 0x00F1 // MCU_DATA_0 REG= 0x338C, 0xA793 // MCU_ADDRESS [MODE_GAM_TABLE_B_17] REG= 0x3390, 0x00F8 // MCU_DATA_0 REG= 0x338C, 0xA794 // MCU_ADDRESS [MODE_GAM_TABLE_B_18] REG= 0x3390, 0x00FF // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0006 // MCU_DATA_0 [LUT_Vivid] //------------------------------------------------------ // This Settings produce a Vivid output from the Sensor // (Lots of contrast and Saturation //------------------------------------------------------ REG= 0x338C, 0xA352 // MCU_ADDRESS [AWB_SATURATION] REG= 0x3390, 0x004B // MCU_DATA_0 REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1] REG= 0x3390, 0x004B // MCU_DATA_0 REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2] REG= 0x3390, 0x000A // MCU_DATA_0 REG= 0x338C, 0xA76D // MCU_ADDRESS [MODE_GAM_CONT_A] REG= 0x3390, 0x0003 // MCU_DATA_0 REG= 0x338C, 0xA76E // MCU_ADDRESS [MODE_GAM_CONT_B] REG= 0x3390, 0x0003 // MCU_DATA_0 REG= 0x338C, 0xA76F // MCU_ADDRESS [MODE_GAM_TABLE_A_0] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA770 // MCU_ADDRESS [MODE_GAM_TABLE_A_1] REG= 0x3390, 0x001B // MCU_DATA_0 REG= 0x338C, 0xA771 // MCU_ADDRESS [MODE_GAM_TABLE_A_2] REG= 0x3390, 0x002E // MCU_DATA_0 REG= 0x338C, 0xA772 // MCU_ADDRESS [MODE_GAM_TABLE_A_3] REG= 0x3390, 0x004C // MCU_DATA_0 REG= 0x338C, 0xA773 // MCU_ADDRESS [MODE_GAM_TABLE_A_4] REG= 0x3390, 0x0078 // MCU_DATA_0 REG= 0x338C, 0xA774 // MCU_ADDRESS [MODE_GAM_TABLE_A_5] REG= 0x3390, 0x0098 // MCU_DATA_0 REG= 0x338C, 0xA775 // MCU_ADDRESS [MODE_GAM_TABLE_A_6] REG= 0x3390, 0x00B0 // MCU_DATA_0 REG= 0x338C, 0xA776 // MCU_ADDRESS [MODE_GAM_TABLE_A_7] REG= 0x3390, 0x00C1 // MCU_DATA_0 REG= 0x338C, 0xA777 // MCU_ADDRESS [MODE_GAM_TABLE_A_8] REG= 0x3390, 0x00CF // MCU_DATA_0 REG= 0x338C, 0xA778 // MCU_ADDRESS [MODE_GAM_TABLE_A_9] REG= 0x3390, 0x00D9 // MCU_DATA_0 REG= 0x338C, 0xA779 // MCU_ADDRESS [MODE_GAM_TABLE_A_10] REG= 0x3390, 0x00E1 // MCU_DATA_0 REG= 0x338C, 0xA77A // MCU_ADDRESS [MODE_GAM_TABLE_A_11] REG= 0x3390, 0x00E8 // MCU_DATA_0 REG= 0x338C, 0xA77B // MCU_ADDRESS [MODE_GAM_TABLE_A_12] REG= 0x3390, 0x00EE // MCU_DATA_0 REG= 0x338C, 0xA77C // MCU_ADDRESS [MODE_GAM_TABLE_A_13] REG= 0x3390, 0x00F2 // MCU_DATA_0 REG= 0x338C, 0xA77D // MCU_ADDRESS [MODE_GAM_TABLE_A_14] REG= 0x3390, 0x00F6 // MCU_DATA_0 REG= 0x338C, 0xA77E // MCU_ADDRESS [MODE_GAM_TABLE_A_15] REG= 0x3390, 0x00F9 // MCU_DATA_0 REG= 0x338C, 0xA77F // MCU_ADDRESS [MODE_GAM_TABLE_A_16] REG= 0x3390, 0x00FB // MCU_DATA_0 REG= 0x338C, 0xA780 // MCU_ADDRESS [MODE_GAM_TABLE_A_17] REG= 0x3390, 0x00FD // MCU_DATA_0 REG= 0x338C, 0xA781 // MCU_ADDRESS [MODE_GAM_TABLE_A_18] REG= 0x3390, 0x00FF // MCU_DATA_0 REG= 0x338C, 0xA782 // MCU_ADDRESS [MODE_GAM_TABLE_B_0] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA783 // MCU_ADDRESS [MODE_GAM_TABLE_B_1] REG= 0x3390, 0x001B // MCU_DATA_0 REG= 0x338C, 0xA784 // MCU_ADDRESS [MODE_GAM_TABLE_B_2] REG= 0x3390, 0x002E // MCU_DATA_0 REG= 0x338C, 0xA785 // MCU_ADDRESS [MODE_GAM_TABLE_B_3] REG= 0x3390, 0x004C // MCU_DATA_0 REG= 0x338C, 0xA786 // MCU_ADDRESS [MODE_GAM_TABLE_B_4] REG= 0x3390, 0x0078 // MCU_DATA_0 REG= 0x338C, 0xA787 // MCU_ADDRESS [MODE_GAM_TABLE_B_5] REG= 0x3390, 0x0098 // MCU_DATA_0 REG= 0x338C, 0xA788 // MCU_ADDRESS [MODE_GAM_TABLE_B_6] REG= 0x3390, 0x00B0 // MCU_DATA_0 REG= 0x338C, 0xA789 // MCU_ADDRESS [MODE_GAM_TABLE_B_7] REG= 0x3390, 0x00C1 // MCU_DATA_0 REG= 0x338C, 0xA78A // MCU_ADDRESS [MODE_GAM_TABLE_B_8] REG= 0x3390, 0x00CF // MCU_DATA_0 REG= 0x338C, 0xA78B // MCU_ADDRESS [MODE_GAM_TABLE_B_9] REG= 0x3390, 0x00D9 // MCU_DATA_0 REG= 0x338C, 0xA78C // MCU_ADDRESS [MODE_GAM_TABLE_B_10] REG= 0x3390, 0x00E1 // MCU_DATA_0 REG= 0x338C, 0xA78D // MCU_ADDRESS [MODE_GAM_TABLE_B_11] REG= 0x3390, 0x00E8 // MCU_DATA_0 REG= 0x338C, 0xA78E // MCU_ADDRESS [MODE_GAM_TABLE_B_12] REG= 0x3390, 0x00EE // MCU_DATA_0 REG= 0x338C, 0xA78F // MCU_ADDRESS [MODE_GAM_TABLE_B_13] REG= 0x3390, 0x00F2 // MCU_DATA_0 REG= 0x338C, 0xA790 // MCU_ADDRESS [MODE_GAM_TABLE_B_14] REG= 0x3390, 0x00F6 // MCU_DATA_0 REG= 0x338C, 0xA791 // MCU_ADDRESS [MODE_GAM_TABLE_B_15] REG= 0x3390, 0x00F9 // MCU_DATA_0 REG= 0x338C, 0xA792 // MCU_ADDRESS [MODE_GAM_TABLE_B_16] REG= 0x3390, 0x00FB // MCU_DATA_0 REG= 0x338C, 0xA793 // MCU_ADDRESS [MODE_GAM_TABLE_B_17] REG= 0x3390, 0x00FD // MCU_DATA_0 REG= 0x338C, 0xA794 // MCU_ADDRESS [MODE_GAM_TABLE_B_18] REG= 0x3390, 0x00FF // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0006 // MCU_DATA_0 [LUT_Moderate] //----------------------------------------------------- // This Settings produce a moderatly contrast enhanced // and saturated image output from the Sensor //----------------------------------------------------- REG= 0x338C, 0xA352 // MCU_ADDRESS [AWB_SATURATION] REG= 0x3390, 0x003C // MCU_DATA_0 REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1] REG= 0x3390, 0x003C // MCU_DATA_0 REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2] REG= 0x3390, 0x000A // MCU_DATA_0 REG= 0x338C, 0xA76D // MCU_ADDRESS [MODE_GAM_CONT_A] REG= 0x3390, 0x0003 // MCU_DATA_0 REG= 0x338C, 0xA76E // MCU_ADDRESS [MODE_GAM_CONT_B] REG= 0x3390, 0x0003 // MCU_DATA_0 REG= 0x338C, 0xA76F // MCU_ADDRESS [MODE_GAM_TABLE_A_0] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA770 // MCU_ADDRESS [MODE_GAM_TABLE_A_1] REG= 0x3390, 0x0029 // MCU_DATA_0 REG= 0x338C, 0xA771 // MCU_ADDRESS [MODE_GAM_TABLE_A_2] REG= 0x3390, 0x003B // MCU_DATA_0 REG= 0x338C, 0xA772 // MCU_ADDRESS [MODE_GAM_TABLE_A_3] REG= 0x3390, 0x0053 // MCU_DATA_0 REG= 0x338C, 0xA773 // MCU_ADDRESS [MODE_GAM_TABLE_A_4] REG= 0x3390, 0x0076 // MCU_DATA_0 REG= 0x338C, 0xA774 // MCU_ADDRESS [MODE_GAM_TABLE_A_5] REG= 0x3390, 0x0091 // MCU_DATA_0 REG= 0x338C, 0xA775 // MCU_ADDRESS [MODE_GAM_TABLE_A_6] REG= 0x3390, 0x00A7 // MCU_DATA_0 REG= 0x338C, 0xA776 // MCU_ADDRESS [MODE_GAM_TABLE_A_7] REG= 0x3390, 0x00B8 // MCU_DATA_0 REG= 0x338C, 0xA777 // MCU_ADDRESS [MODE_GAM_TABLE_A_8] REG= 0x3390, 0x00C5 // MCU_DATA_0 REG= 0x338C, 0xA778 // MCU_ADDRESS [MODE_GAM_TABLE_A_9] REG= 0x3390, 0x00CF // MCU_DATA_0 REG= 0x338C, 0xA779 // MCU_ADDRESS [MODE_GAM_TABLE_A_10] REG= 0x3390, 0x00D8 // MCU_DATA_0 REG= 0x338C, 0xA77A // MCU_ADDRESS [MODE_GAM_TABLE_A_11] REG= 0x3390, 0x00E0 // MCU_DATA_0 REG= 0x338C, 0xA77B // MCU_ADDRESS [MODE_GAM_TABLE_A_12] REG= 0x3390, 0x00E6 // MCU_DATA_0 REG= 0x338C, 0xA77C // MCU_ADDRESS [MODE_GAM_TABLE_A_13] REG= 0x3390, 0x00EC // MCU_DATA_0 REG= 0x338C, 0xA77D // MCU_ADDRESS [MODE_GAM_TABLE_A_14] REG= 0x3390, 0x00F1 // MCU_DATA_0 REG= 0x338C, 0xA77E // MCU_ADDRESS [MODE_GAM_TABLE_A_15] REG= 0x3390, 0x00F5 // MCU_DATA_0 REG= 0x338C, 0xA77F // MCU_ADDRESS [MODE_GAM_TABLE_A_16] REG= 0x3390, 0x00F9 // MCU_DATA_0 REG= 0x338C, 0xA780 // MCU_ADDRESS [MODE_GAM_TABLE_A_17] REG= 0x3390, 0x00FC // MCU_DATA_0 REG= 0x338C, 0xA781 // MCU_ADDRESS [MODE_GAM_TABLE_A_18] REG= 0x3390, 0x00FF // MCU_DATA_0 REG= 0x338C, 0xA782 // MCU_ADDRESS [MODE_GAM_TABLE_B_0] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA783 // MCU_ADDRESS [MODE_GAM_TABLE_B_1] REG= 0x3390, 0x0029 // MCU_DATA_0 REG= 0x338C, 0xA784 // MCU_ADDRESS [MODE_GAM_TABLE_B_2] REG= 0x3390, 0x003B // MCU_DATA_0 REG= 0x338C, 0xA785 // MCU_ADDRESS [MODE_GAM_TABLE_B_3] REG= 0x3390, 0x0053 // MCU_DATA_0 REG= 0x338C, 0xA786 // MCU_ADDRESS [MODE_GAM_TABLE_B_4] REG= 0x3390, 0x0076 // MCU_DATA_0 REG= 0x338C, 0xA787 // MCU_ADDRESS [MODE_GAM_TABLE_B_5] REG= 0x3390, 0x0091 // MCU_DATA_0 REG= 0x338C, 0xA788 // MCU_ADDRESS [MODE_GAM_TABLE_B_6] REG= 0x3390, 0x00A7 // MCU_DATA_0 REG= 0x338C, 0xA789 // MCU_ADDRESS [MODE_GAM_TABLE_B_7] REG= 0x3390, 0x00B8 // MCU_DATA_0 REG= 0x338C, 0xA78A // MCU_ADDRESS [MODE_GAM_TABLE_B_8] REG= 0x3390, 0x00C5 // MCU_DATA_0 REG= 0x338C, 0xA78B // MCU_ADDRESS [MODE_GAM_TABLE_B_9] REG= 0x3390, 0x00CF // MCU_DATA_0 REG= 0x338C, 0xA78C // MCU_ADDRESS [MODE_GAM_TABLE_B_10] REG= 0x3390, 0x00D8 // MCU_DATA_0 REG= 0x338C, 0xA78D // MCU_ADDRESS [MODE_GAM_TABLE_B_11] REG= 0x3390, 0x00E0 // MCU_DATA_0 REG= 0x338C, 0xA78E // MCU_ADDRESS [MODE_GAM_TABLE_B_12] REG= 0x3390, 0x00E6 // MCU_DATA_0 REG= 0x338C, 0xA78F // MCU_ADDRESS [MODE_GAM_TABLE_B_13] REG= 0x3390, 0x00EC // MCU_DATA_0 REG= 0x338C, 0xA790 // MCU_ADDRESS [MODE_GAM_TABLE_B_14] REG= 0x3390, 0x00F1 // MCU_DATA_0 REG= 0x338C, 0xA791 // MCU_ADDRESS [MODE_GAM_TABLE_B_15] REG= 0x3390, 0x00F5 // MCU_DATA_0 REG= 0x338C, 0xA792 // MCU_ADDRESS [MODE_GAM_TABLE_B_16] REG= 0x3390, 0x00F9 // MCU_DATA_0 REG= 0x338C, 0xA793 // MCU_ADDRESS [MODE_GAM_TABLE_B_17] REG= 0x3390, 0x00FC // MCU_DATA_0 REG= 0x338C, 0xA794 // MCU_ADDRESS [MODE_GAM_TABLE_B_18] REG= 0x3390, 0x00FF // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0006 // MCU_DATA_0 [Low Power Preview 15 FPS] //--------------------------------------------------- // Minimum 15 FPS (66 ms Int-Time) //--------------------------------------------------- REG= 0x338C, 0xA20C // MCU_ADDRESS [AE_MAX_INDEX] REG= 0x3390, 0x0008 // MCU_DATA_0 REG= 0x338C, 0xA214 // MCU_ADDRESS [AE_MAX_DGAIN_AE2] REG= 0x3390, 0x0024 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=500 //Wait [Low Power Preview 10 FPS] //--------------------------------------------------- // Minimum 10 FPS (100 ms Int-Time) //--------------------------------------------------- REG= 0x338C, 0xA20C // MCU_ADDRESS [AE_MAX_INDEX] REG= 0x3390, 0x000C // MCU_DATA_0 REG= 0x338C, 0xA214 // MCU_ADDRESS [AE_MAX_DGAIN_AE2] REG= 0x3390, 0x0022 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=500 //Wait [Low Power Preview 7_5 FPS] //--------------------------------------------------- // Minimum 7.5 FPS (133 ms Int-Time) //--------------------------------------------------- REG= 0x338C, 0xA20C // MCU_ADDRESS [AE_MAX_INDEX] REG= 0x3390, 0x0010 // MCU_DATA_0 REG= 0x338C, 0xA214 // MCU_ADDRESS [AE_MAX_DGAIN_AE2] REG= 0x3390, 0x0022 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=500 //Wait [Low Power Preview 5 FPS] //--------------------------------------------------- // Minimum 5 FPS (200 ms Int-Time) //--------------------------------------------------- REG= 0x338C, 0xA20C // MCU_ADDRESS [AE_MAX_INDEX] REG= 0x3390, 0x0018 // MCU_DATA_0 REG= 0x338C, 0xA214 // MCU_ADDRESS [AE_MAX_DGAIN_AE2] REG= 0x3390, 0x001E // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0005 // MCU_DATA_0 DELAY=500 //Wait [Sequencer_Optimized_HiSat_Sharp] //--------------------------------------------------- // These Sequencer Settings include optimized // Transition values between bright and low light // for the following: // - Noise Reduction // - Saturation // - Aperture Correction // and also enable the MDR AE algorithm //--------------------------------------------------- REG= 0x338C, 0xA130 // MCU_ADDRESS [SEQ_PREVIEW_2_AE] REG= 0x3390, 0x0004 // MCU_DATA_0 REG= 0x338C, 0xA115 // MCU_ADDRESS [SEQ_LLMODE] REG= 0x3390, 0x00EF // MCU_DATA_0 REG= 0x338C, 0xA116 // MCU_ADDRESS [SEQ_LLVIRTGAIN1] REG= 0x3390, 0x0030 // MCU_DATA_0 REG= 0x338C, 0xA117 // MCU_ADDRESS [SEQ_LLVIRTGAIN2] REG= 0x3390, 0x0055 // MCU_DATA_0 REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1] REG= 0x3390, 0x005A // MCU_DATA_0 REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2] REG= 0x3390, 0x0028 // MCU_DATA_0 REG= 0x338C, 0xA11A // MCU_ADDRESS [SEQ_LLINTERPTHRESH1] REG= 0x3390, 0x0008 // MCU_DATA_0 REG= 0x338C, 0xA11B // MCU_ADDRESS [SEQ_LLINTERPTHRESH2] REG= 0x3390, 0x001E // MCU_DATA_0 REG= 0x338C, 0xA11C // MCU_ADDRESS [SEQ_LLAPCORR1] REG= 0x3390, 0x0002 // MCU_DATA_0 REG= 0x338C, 0xA11D // MCU_ADDRESS [SEQ_LLAPCORR2] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA11E // MCU_ADDRESS [SEQ_LLAPTHRESH1] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA11F // MCU_ADDRESS [SEQ_LLAPTHRESH2] REG= 0x3390, 0x0004 // MCU_DATA_0 [Flip and Mirror] REG= 0x338C, 0x2719 // MCU_ADDRESS [MODE_SENSOR_READ_MODE_A] REG= 0x3390, 0x046F // MCU_DATA_0 REG= 0x338C, 0x273B // MCU_ADDRESS [MODE_SENSOR_READ_MODE_B] REG= 0x3390, 0x0027 // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0006 // MCU_DATA_0 [Noise Reduction Test] //Reduce Histogram to 0% Clipping REG= 0x338C, 0xAB05 // MCU_ADDRESS [HG_PERCENT] REG= 0x3390, 0x0000 // MCU_DATA_0 //Use New Gamma Table with Noise Kill REG= 0x338C, 0xA76D // MCU_ADDRESS [MODE_GAM_CONT_A] REG= 0x3390, 0x0003 // MCU_DATA_0 REG= 0x338C, 0xA76E // MCU_ADDRESS [MODE_GAM_CONT_B] REG= 0x3390, 0x0003 // MCU_DATA_0 REG= 0x338C, 0xA76F // MCU_ADDRESS [MODE_GAM_TABLE_A_0] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA770 // MCU_ADDRESS [MODE_GAM_TABLE_A_1] REG= 0x3390, 0x0015 // MCU_DATA_0 REG= 0x338C, 0xA771 // MCU_ADDRESS [MODE_GAM_TABLE_A_2] REG= 0x3390, 0x0025 // MCU_DATA_0 REG= 0x338C, 0xA772 // MCU_ADDRESS [MODE_GAM_TABLE_A_3] REG= 0x3390, 0x003F // MCU_DATA_0 REG= 0x338C, 0xA773 // MCU_ADDRESS [MODE_GAM_TABLE_A_4] REG= 0x3390, 0x0064 // MCU_DATA_0 REG= 0x338C, 0xA774 // MCU_ADDRESS [MODE_GAM_TABLE_A_5] REG= 0x3390, 0x0080 // MCU_DATA_0 REG= 0x338C, 0xA775 // MCU_ADDRESS [MODE_GAM_TABLE_A_6] REG= 0x3390, 0x0097 // MCU_DATA_0 REG= 0x338C, 0xA776 // MCU_ADDRESS [MODE_GAM_TABLE_A_7] REG= 0x3390, 0x00A9 // MCU_DATA_0 REG= 0x338C, 0xA777 // MCU_ADDRESS [MODE_GAM_TABLE_A_8] REG= 0x3390, 0x00BA // MCU_DATA_0 REG= 0x338C, 0xA778 // MCU_ADDRESS [MODE_GAM_TABLE_A_9] REG= 0x3390, 0x00C7 // MCU_DATA_0 REG= 0x338C, 0xA779 // MCU_ADDRESS [MODE_GAM_TABLE_A_10] REG= 0x3390, 0x00D2 // MCU_DATA_0 REG= 0x338C, 0xA77A // MCU_ADDRESS [MODE_GAM_TABLE_A_11] REG= 0x3390, 0x00DC // MCU_DATA_0 REG= 0x338C, 0xA77B // MCU_ADDRESS [MODE_GAM_TABLE_A_12] REG= 0x3390, 0x00E4 // MCU_DATA_0 REG= 0x338C, 0xA77C // MCU_ADDRESS [MODE_GAM_TABLE_A_13] REG= 0x3390, 0x00EA // MCU_DATA_0 REG= 0x338C, 0xA77D // MCU_ADDRESS [MODE_GAM_TABLE_A_14] REG= 0x3390, 0x00F0 // MCU_DATA_0 REG= 0x338C, 0xA77E // MCU_ADDRESS [MODE_GAM_TABLE_A_15] REG= 0x3390, 0x00F4 // MCU_DATA_0 REG= 0x338C, 0xA77F // MCU_ADDRESS [MODE_GAM_TABLE_A_16] REG= 0x3390, 0x00F8 // MCU_DATA_0 REG= 0x338C, 0xA780 // MCU_ADDRESS [MODE_GAM_TABLE_A_17] REG= 0x3390, 0x00FC // MCU_DATA_0 REG= 0x338C, 0xA781 // MCU_ADDRESS [MODE_GAM_TABLE_A_18] REG= 0x3390, 0x00FF // MCU_DATA_0 REG= 0x338C, 0xA782 // MCU_ADDRESS [MODE_GAM_TABLE_B_0] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA783 // MCU_ADDRESS [MODE_GAM_TABLE_B_1] REG= 0x3390, 0x0015 // MCU_DATA_0 REG= 0x338C, 0xA784 // MCU_ADDRESS [MODE_GAM_TABLE_B_2] REG= 0x3390, 0x0025 // MCU_DATA_0 REG= 0x338C, 0xA785 // MCU_ADDRESS [MODE_GAM_TABLE_B_3] REG= 0x3390, 0x003F // MCU_DATA_0 REG= 0x338C, 0xA786 // MCU_ADDRESS [MODE_GAM_TABLE_B_4] REG= 0x3390, 0x0064 // MCU_DATA_0 REG= 0x338C, 0xA787 // MCU_ADDRESS [MODE_GAM_TABLE_B_5] REG= 0x3390, 0x0080 // MCU_DATA_0 REG= 0x338C, 0xA788 // MCU_ADDRESS [MODE_GAM_TABLE_B_6] REG= 0x3390, 0x0097 // MCU_DATA_0 REG= 0x338C, 0xA789 // MCU_ADDRESS [MODE_GAM_TABLE_B_7] REG= 0x3390, 0x00A9 // MCU_DATA_0 REG= 0x338C, 0xA78A // MCU_ADDRESS [MODE_GAM_TABLE_B_8] REG= 0x3390, 0x00BA // MCU_DATA_0 REG= 0x338C, 0xA78B // MCU_ADDRESS [MODE_GAM_TABLE_B_9] REG= 0x3390, 0x00C7 // MCU_DATA_0 REG= 0x338C, 0xA78C // MCU_ADDRESS [MODE_GAM_TABLE_B_10] REG= 0x3390, 0x00D2 // MCU_DATA_0 REG= 0x338C, 0xA78D // MCU_ADDRESS [MODE_GAM_TABLE_B_11] REG= 0x3390, 0x00DC // MCU_DATA_0 REG= 0x338C, 0xA78E // MCU_ADDRESS [MODE_GAM_TABLE_B_12] REG= 0x3390, 0x00E4 // MCU_DATA_0 REG= 0x338C, 0xA78F // MCU_ADDRESS [MODE_GAM_TABLE_B_13] REG= 0x3390, 0x00EA // MCU_DATA_0 REG= 0x338C, 0xA790 // MCU_ADDRESS [MODE_GAM_TABLE_B_14] REG= 0x3390, 0x00F0 // MCU_DATA_0 REG= 0x338C, 0xA791 // MCU_ADDRESS [MODE_GAM_TABLE_B_15] REG= 0x3390, 0x00F4 // MCU_DATA_0 REG= 0x338C, 0xA792 // MCU_ADDRESS [MODE_GAM_TABLE_B_16] REG= 0x3390, 0x00F8 // MCU_DATA_0 REG= 0x338C, 0xA793 // MCU_ADDRESS [MODE_GAM_TABLE_B_17] REG= 0x3390, 0x00FC // MCU_DATA_0 REG= 0x338C, 0xA794 // MCU_ADDRESS [MODE_GAM_TABLE_B_18] REG= 0x3390, 0x00FF // MCU_DATA_0 REG= 0x338C, 0xA103 // MCU_ADDRESS [SEQ_CMD] REG= 0x3390, 0x0006 // MCU_DATA_0 //Boost Color In YUV Space BITFIELD=0x35A4, 0x0007, 0x0006 //Color kill saturation point //New Sequencer Settings REG= 0x338C, 0xA118 // MCU_ADDRESS [SEQ_LLSAT1] REG= 0x3390, 0x001E // MCU_DATA_0 REG= 0x338C, 0xA119 // MCU_ADDRESS [SEQ_LLSAT2] REG= 0x3390, 0x0004 // MCU_DATA_0 REG= 0x338C, 0xA11A // MCU_ADDRESS [SEQ_LLINTERPTHRESH1] REG= 0x3390, 0x000A // MCU_DATA_0 REG= 0x338C, 0xA11B // MCU_ADDRESS [SEQ_LLINTERPTHRESH2] REG= 0x3390, 0x0020 // MCU_DATA_0 //Noise Setup REG= 0x338C, 0xA13E // MCU_ADDRESS [SEQ_NR_TH1_R] REG= 0x3390, 0x0004 // MCU_DATA_0 REG= 0x338C, 0xA13F // MCU_ADDRESS [SEQ_NR_TH1_G] REG= 0x3390, 0x000E // MCU_DATA_0 REG= 0x338C, 0xA140 // MCU_ADDRESS [SEQ_NR_TH1_B] REG= 0x3390, 0x0004 // MCU_DATA_0 REG= 0x338C, 0xA141 // MCU_ADDRESS [SEQ_NR_TH1_OL] REG= 0x3390, 0x0004 // MCU_DATA_0 REG= 0x338C, 0xA142 // MCU_ADDRESS [SEQ_NR_TH2_R] REG= 0x3390, 0x0032 // MCU_DATA_0 REG= 0x338C, 0xA143 // MCU_ADDRESS [SEQ_NR_TH2_G] REG= 0x3390, 0x000F // MCU_DATA_0 REG= 0x338C, 0xA144 // MCU_ADDRESS [SEQ_NR_TH2_B] REG= 0x3390, 0x0032 // MCU_DATA_0 REG= 0x338C, 0xA145 // MCU_ADDRESS [SEQ_NR_TH2_OL] REG= 0x3390, 0x0032 // MCU_DATA_0 REG= 0x338C, 0xA146 // MCU_ADDRESS [SEQ_NR_GAINTH1] REG= 0x3390, 0x0005 // MCU_DATA_0 REG= 0x338C, 0xA147 // MCU_ADDRESS [SEQ_NR_GAINTH2] REG= 0x3390, 0x003A // MCU_DATA_0 [Lens Calibration Setup] //--------------------------------------------------- // This Setup can be used to calibrate the lens //--------------------------------------------------- REG= 0x338C, 0xA102 // MCU_ADDRESS [SEQ_MODE] REG= 0x3390, 0x0000 // MCU_DATA_0 BITFIELD=0x3210, 0x0004, 0 //turn off Enable lens shading REG=0x3212, 0x0001 // FACTORY_BYPASS DELAY=1000 REG=0x3330, 0x0140 // OUTPUT_FORMAT_TEST (LC bypass) DELAY=1000 STATE=Lens Correction Overlay, 1 [Color Setup] //--------------------------------------------------- // This Setup can be used to calibrate the color //--------------------------------------------------- REG= 0x338C, 0xAB04 // MCU_ADDRESS [HG_MAX_DLEVEL] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA353 // MCU_ADDRESS [AWB_MODE] REG= 0x3390, 0x0021 // MCU_DATA_0 DELAY=1000 REG= 0x338C, 0xA102 // MCU_ADDRESS [SEQ_MODE] REG= 0x3390, 0x0000 // MCU_DATA_0 DELAY=1000 BITFIELD=0x3210, 0x00A0, 0 //turn off gamma correction and color correction REG=0x3028, 0x0008 //(1) ANALOGUE_GAIN_CODE_GLOBAL [True Gray Setup] //--------------------------------------------------- // This Setup can be used to calibrate true grey TH // When calibrating True Gray, we recommend that the //user first load the [Power up] section and then this // [True Gray Setup] preset and not load any other // preset because if noise reduction related preset // is included, the color saturation is altered. //--------------------------------------------------- REG= 0x338C, 0xAB04 // MCU_ADDRESS [HG_MAX_DLEVEL] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0x2318 // MCU_ADDRESS [AWB_CCM_L_9] REG= 0x3390, 0x0020 // MCU_DATA_0 REG= 0x338C, 0x231A // MCU_ADDRESS [AWB_CCM_L_10] REG= 0x3390, 0x0020 // MCU_DATA_0 REG= 0x338C, 0x232E // MCU_ADDRESS [AWB_CCM_RL_9] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0x2330 // MCU_ADDRESS [AWB_CCM_RL_10] REG= 0x3390, 0x0000 // MCU_DATA_0 REG= 0x338C, 0xA353 // MCU_ADDRESS [AWB_MODE] REG= 0x3390, 0x0021 // MCU_DATA_0 BITFIELD=0x3210, 0x00A0, 0 //turn off gamma correction and color correction [8 bit walking 1 test pattern] REG=0x3212, 0x0000 //(1) FACTORY_BYPASS REG=0x3290, 0x0020 //(1) TEST_PATTERN REG=0x3386, 0x0501 //(1) MCU_BOOT_MODE [10 bit walking 1 test pattern] REG=0x3212, 0x0000 //(1) FACTORY_BYPASS REG=0x3290, 0x0060 //(1) TEST_PATTERN REG=0x3386, 0x0501 //(1) MCU_BOOT_MODE [high power preview mode - nongated pixclk] //----------------------------------------------------- // This setup enables the user to get non-gated pixclk // running in context A and half of the speed compared // to context B. The example uses a 24MHz input clk // and an output of 80MHz. Therefore context A clk // speed is 40MHz and context B is 80MHz. Please note // user needs to first use Register Wizard v1.2 to // generate timing settings for high power preview mode //----------------------------------------------------- REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: BYPASS PLL = 36617 REG = 0, 0x341C, 0x0250 //PLL Control 1 = 288 REG = 0, 0x341E, 0x8F09 //PLL/ Clk_in control: PLL ON, bypassed = 36617 DELAY = 200 // More than ample time to allow PLL to lock REG = 0, 0x341E, 0x8F08 //PLL/ Clk_in control: USE PLL = 36616 //Set Watermark and enable Half rate mode REG=0x321E, 0x0014 //(1) OF_WATERMARK REG=0x321C, 0x0006 //(1) OF_CONTROL_STATUS REG=0x3216, 0x82DF //(1) INTERNAL_CLOCK_CONTROL REG=0x3212, 0x0002 //(1) FACTORY_BYPASS [SOC2020 MIPI 640Mbps SVGA EXTCLK=24MHz OP_PIX_CLK=80MHz] // Disable Parallel and Standby REG=0x301A, 0x0208 // RESET_REGISTER REG=0x3202, 0x0008 // STANDBY_CONTROL // Setup PLL REG=0x341C, 0x0250 // PLL_DIVIDERS1 REG=0x341E, 0x8F09 // PLL_CLK_IN_CONTROL DELAY=250 REG=0x341E, 0x8F08 // PLL_CLK_IN_CONTROL DELAY=100 // Prepare internal clocks REG=0x3216, 0x825F // INTERNAL_CLOCK_CONTROL REG=0x3212, 0x0002 // FACTORY_BYPASS DELAY=100 // Misc MIPI settings REG=0x3410, 0x0F06 // MIPI_PRE_HS_TX REG=0x3414, 0x0A3A // MIPI_CLOCK_OVERLAP //REG=0x3404, 0x002B // MIPI_DATA_TYPE DELAY=250 // Enable MIPI REG=0x3400, 0x000D // MIPI_CONTROL DELAY=250 REG=0x3400, 0x0009 // MIPI_CONTROL // Enable streaming REG=0x301A, 0x020C // RESET_REGISTER [HIDDEN: 30fps HD] // // Date: 10/18/2010 Probelms with this configuration have been reported - DO NOT USE // // This file was generated by: MT9D112 (SOC2020) Register Wizard // Version: 2.11.0.16 Build Date: 07/31/2008 // // [PLL PARAMETERS] // // Bypass PLL: Unchecked // Input Frequency: 24.000 // Use Min Freq.: Unchecked // Target PLL Frequency: 80.000 // Target VCO Frequency: Unspecified // "M" Value: Unspecified // "N" Value: Unspecified // // Target PLL Frequency: 80 MHz // Input Clock Frequency: 24 MHz // // Actual PLL Frequency: 80 MHz // // M = 80 // N = 2 // Fpdf = 8 MHz // Fvco = 640 MHz // // // REG = 0x338C, 0x2703 //Output Width (A) REG = 0x3390, 0x0500 // = 1280 REG = 0x338C, 0x2705 //Output Height (A) REG = 0x3390, 0x02d0 // = 720 REG = 0x338C, 0x270D //Row Start (A) REG = 0x3390, 0x004 // = 4 REG = 0x338C, 0x270F //Column Start (A) REG = 0x3390, 0x004 // = 4 REG = 0x338C, 0x2711 //Row End (A) REG = 0x3390, 0x2dB // = 731 REG = 0x338C, 0x2713 //Column End (A) REG = 0x3390, 0x50b // = 1291 REG = 0x338C, 0x2715 //Extra Delay (A) REG = 0x3390, 0x65a // = 1626 REG = 0x338C, 0x2717 //Row Speed (A) REG = 0x3390, 0x2111 // = 8465 REG = 0x338C, 0x2719 //Read Mode (A) REG = 0x3390, 0x0024 // = 36 REG = 0x338C, 0x271B //sensor_sample_time_pck (A) REG = 0x3390, 0x0120 // = 288 REG = 0x338C, 0x271D //sensor_fine_correction (A) REG = 0x3390, 0x00A4 // = 164 REG = 0x338C, 0x271F //sensor_fine_IT_min (A) REG = 0x3390, 0x0169 // = 361 REG = 0x338C, 0x2721 //sensor_fine_IT_max_margin (A) REG = 0x3390, 0x00A4 // = 164 REG = 0x338C, 0x2723 //Frame Lines (A) REG = 0x3390, 737 // = 781 REG = 0x338C, 0x2725 //Line Length (A) REG = 0x3390, 0x06e4 // = 1764 REG = 0x338C, 0x2727 //sensor_dac_id_4_5 (A) REG = 0x3390, 0x2020 // = 8224 REG = 0x338C, 0x2729 //sensor_dac_id_6_7 (A) REG = 0x3390, 0x2020 // = 8224 REG = 0x338C, 0x272B //sensor_dac_id_8_9 (A) REG = 0x3390, 0x1020 // = 4128 REG = 0x338C, 0x272D //sensor_dac_id_10_11 (A) REG = 0x3390, 0x2007 // = 8199 REG = 0x338C, 0x2751 //Crop_X0 (A) REG = 0x3390, 0x0000 // = 0 REG = 0x338C, 0x2753 //Crop_X1 (A) REG = 0x3390, 0x0500 // = 1280 REG = 0x338C, 0x2755 //Crop_Y0 (A) REG = 0x3390, 0x0000 // = 0 REG = 0x338C, 0x2757 //Crop_Y1 (A) REG = 0x3390, 0x02d0 // = 720 REG = 0x338C, 0x222E //R9 Step REG = 0x3390, 0x00bd // = 189 REG = 0x338C, 0xA408 //search_f1_50 REG = 0x3390, 0x2d // = 45 REG = 0x338C, 0xA409 //search_f2_50 REG = 0x3390, 0x30 // = 48 REG = 0x338C, 0xA40A //search_f1_60 REG = 0x3390, 0x36 // = 54 REG = 0x338C, 0xA40B //search_f2_60 REG = 0x3390, 0x39 // = 57 REG = 0x338C, 0x2411 //R9_Step_60 (A) REG = 0x3390, 0x00bd // = 189 REG = 0x338C, 0x2413 //R9_Step_50 (A) REG = 0x3390, 0x00e3 // = 227 REG = 0x338C, 0xA40D //Stat_min REG = 0x3390, 0x02 // = 2 REG = 0x338C, 0xA410 //Min_amplitude REG = 0x3390, 0x01 // = 1 REG = 0x338C, 0xA103 //Refresh Sequencer Mode REG = 0x3390, 0x06 // = 6 POLL_FIELD=SEQ_CMD, !=0, DELAY=10, TIMEOUT=100 // wait for command to be processed REG = 0x338C, 0xA103 //Refresh Sequencer REG = 0x3390, 0x05 // = 5 POLL_FIELD=SEQ_CMD, !=0, DELAY=10, TIMEOUT=100 // wait for command to be processed VAR8= 2, 0x000C, 0x04 // AE_MAX_INDEX VAR8= 1, 0x0003, 0x05 // SEQ_CMD