From 23bf8c1bea7f5fc622f8a5bb14d02c2423af1f5c Mon Sep 17 00:00:00 2001 From: yutaka Date: Fri, 20 Jul 2007 09:18:47 +0000 Subject: [PATCH] add new ini file git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@202 4ee2a332-4b2b-5046-8439-1ba90f034370 --- build/libraries/camera/ARM7/MT9V113-nin00.ini | 237 ++++++++++++++++++ 1 file changed, 237 insertions(+) create mode 100644 build/libraries/camera/ARM7/MT9V113-nin00.ini diff --git a/build/libraries/camera/ARM7/MT9V113-nin00.ini b/build/libraries/camera/ARM7/MT9V113-nin00.ini new file mode 100644 index 0000000..4eaf1ca --- /dev/null +++ b/build/libraries/camera/ARM7/MT9V113-nin00.ini @@ -0,0 +1,237 @@ +;************************************************************************************** +; Copyright 2006 Micron Technology, Inc. All rights reserved. +; +; +; No permission to use, copy, modify, or distribute this software and/or +; its documentation for any purpose has been granted by Micron Technology, Inc. +; 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 Micron Technology, Inc. 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. MICRON TECHNOLOGY, INC. 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. MICRON 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, MICRON 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 MI-0380-REV1 +; +; $Revision: 1.2 $ +; $Date: 2007/02/23 23:05:39 $ +; +; 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 [Default Registers] 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. +; LOAD = load an alternate section from this section +; STATE = set non-register state +; DELAY = delay a certain amount of milliseconds before continuing +; +; Keyname format: +; REG = [,]
, // +; BITFIELD = [,]
, , +; 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 +; LOAD =
+; STATE = , +; DELAY = +; +; Optional address space for this register. Some sensors (mostly SOC's) +; have multiple register pages (see the sensor spec or developer's guide) +;
the register address +; the new value to assign to the register +; is the part of a register value that needs to be updated with a new value +;
the name of another section to load +; non-register program state names [do not modify] +; wait for this ammount of milliseconds before continuing +; Some form of C-style comments are supported in this .ini file +; +;*************************************************************************************/ +[Default Registers] +LOAD=Initialize Camera +LOAD=Image Setting ExtClk=16.76MHz Op_Pix=8.38MHz +LOAD=Refresh + +//LOAD=Parallel 320x240 ExtClk=13.5MHz Op_Pix_Clk=27.56MHz +//DELAY=300 +//STATE=Gamma, 9 +//STATE=Black Correct, 5 +//STATE=Contrast, 25 + + +[Initialize Camera] +REG = 0x001A, 0x0003// Activate Soft Reset & MIPI Reset +DELAY = 1 // Wait 1ms for internal reset cycle (6000 EXTCLK cycles) using a 6.75Mhz clock this will be approx 0.88ms +REG = 0x001A, 0x0000 // Deactivate both soft reset, MIPI reset +DELAY = 1 +REG = 0x0018, 0x4028 // Enable STANDBY mode, Bit(3) +REG = 0x001A, 0x0200 // Enable parallel port:bit(9) & Output enable: Bit(8) +REG = 0x001E, 0x0777 // Program to slowest SLEW rate +REG = 0x0016, 0x42DF // Invert PIXCLK output to interface with Micron DEMO2 board +// Enable EXTCLK bit9 + +[Refresh] +REG = 0x98C, 0xA103 //Refresh Sequencer Mode +REG = 0x990, 0x06 // = 6 +POLL_FIELD=SEQ_CMD, !=0, DELAY=10, TIMEOUT=50 +REG = 0x98C, 0xA103 //Refresh Sequencer +REG = 0x990, 0x05 // = 5 +POLL_FIELD=SEQ_CMD, !=0, DELAY=10, TIMEOUT=50 + +[Image Setting ExtClk=16.76MHz Op_Pix=8.38MHz] +BITFIELD= 0x14, 1, 1 // Bypass PLL +BITFIELD= 0X14, 2, 0 // Power-down PLL + +REG = 0x0010, 0x0518 // PLL DIVIDERS (N=5, M=24) +REG = 0x0012, 0x0000 // PLL P3 DIVIDERS +REG = 0x0014, 0x2147 // Enable PLL and start initialization [1] +DELAY = 10 // Wait for 10us to get PLL lock +REG = 0x0014, 0x2047 // Reset the PLL internal counter [8] +DELAY = 10 // Wait for 10us +REG = 0x0014, 0x2046 // Turn off PLL initialization process [0] +DELAY = 10 // Wait for 10us +REG = 0x0016, 0x42DF // Invert Pixclk output to interface with DEMO2 board [14] + +BITFIELD= 0x14, 1, 0 //PLL_BYPASS_OFF +REG = 0x98C, 0x2703 //Output Width (A) +REG = 0x990, 0x0280 // = 640 +REG = 0x98C, 0x2705 //Output Height (A) +REG = 0x990, 0x01E0 // = 480 +REG = 0x98C, 0x2707 //Output Width (B) +REG = 0x990, 0x0280 // = 640 +REG = 0x98C, 0x2709 //Output Height (B) +REG = 0x990, 0x01E0 // = 480 +REG = 0x98C, 0x270D //Row Start (A) +REG = 0x990, 0x004 // = 4 +REG = 0x98C, 0x270F //Column Start (A) +REG = 0x990, 0x004 // = 4 +REG = 0x98C, 0x2711 //Row End (A) +REG = 0x990, 0x1EB // = 491 +REG = 0x98C, 0x2713 //Column End (A) +REG = 0x990, 0x28B // = 651 +REG = 0x98C, 0x2715 //Row Speed (A) +REG = 0x990, 0x0001 // = 1 +REG = 0x98C, 0x2717 //Read Mode (A) +REG = 0x990, 0x0026 // = 38 +REG = 0x98C, 0x2719 //sensor_fine_correction (A) +REG = 0x990, 0x001A // = 26 +REG = 0x98C, 0x271B //sensor_fine_IT_min (A) +REG = 0x990, 0x006B // = 107 +REG = 0x98C, 0x271D //sensor_fine_IT_max_margin (A) +REG = 0x990, 0x006B // = 107 +REG = 0x98C, 0x271F //Frame Lines (A) +REG = 0x990, 0x02D2 // = 722 +REG = 0x98C, 0x2721 //Line Length (A) +REG = 0x990, 0x034A // = 842 +REG = 0x98C, 0x2723 //Row Start (B) +REG = 0x990, 0x004 // = 4 +REG = 0x98C, 0x2725 //Column Start (B) +REG = 0x990, 0x004 // = 4 +REG = 0x98C, 0x2727 //Row End (B) +REG = 0x990, 0x1EB // = 491 +REG = 0x98C, 0x2729 //Column End (B) +REG = 0x990, 0x28B // = 651 +REG = 0x98C, 0x272B //Row Speed (B) +REG = 0x990, 0x0001 // = 1 +REG = 0x98C, 0x272D //Read Mode (B) +REG = 0x990, 0x0026 // = 38 +REG = 0x98C, 0x272F //sensor_fine_correction (B) +REG = 0x990, 0x001A // = 26 +REG = 0x98C, 0x2731 //sensor_fine_IT_min (B) +REG = 0x990, 0x006B // = 107 +REG = 0x98C, 0x2733 //sensor_fine_IT_max_margin (B) +REG = 0x990, 0x006B // = 107 +REG = 0x98C, 0x2735 //Frame Lines (B) +REG = 0x990, 0x02D2 // = 722 +REG = 0x98C, 0x2737 //Line Length (B) +REG = 0x990, 0x034A // = 842 +REG = 0x98C, 0x2739 //Crop_X0 (A) +REG = 0x990, 0x0000 // = 0 +REG = 0x98C, 0x273B //Crop_X1 (A) +REG = 0x990, 0x027F // = 639 +REG = 0x98C, 0x273D //Crop_Y0 (A) +REG = 0x990, 0x0000 // = 0 +REG = 0x98C, 0x273F //Crop_Y1 (A) +REG = 0x990, 0x01DF // = 479 +REG = 0x98C, 0x2747 //Crop_X0 (B) +REG = 0x990, 0x0000 // = 0 +REG = 0x98C, 0x2749 //Crop_X1 (B) +REG = 0x990, 0x027F // = 639 +REG = 0x98C, 0x274B //Crop_Y0 (B) +REG = 0x990, 0x0000 // = 0 +REG = 0x98C, 0x274D //Crop_Y1 (B) +REG = 0x990, 0x01DF // = 479 +REG = 0x98C, 0x222D //R9 Step +REG = 0x990, 0x0058 // = 88 +REG = 0x98C, 0xA408 //search_f1_50 +REG = 0x990, 0x0F // = 15 +REG = 0x98C, 0xA409 //search_f2_50 +REG = 0x990, 0x12 // = 18 +REG = 0x98C, 0xA40A //search_f1_60 +REG = 0x990, 0x13 // = 19 +REG = 0x98C, 0xA40B //search_f2_60 +REG = 0x990, 0x16 // = 22 +REG = 0x98C, 0x2411 //R9_Step_60_A +REG = 0x990, 0x0058 // = 88 +REG = 0x98C, 0x2413 //R9_Step_50_A +REG = 0x990, 0x006A // = 106 +REG = 0x98C, 0x2415 //R9_Step_60_B +REG = 0x990, 0x0058 // = 88 +REG = 0x98C, 0x2417 //R9_Step_50_B +REG = 0x990, 0x006A // = 106 +REG = 0x98C, 0xA40D //Stat_min +REG = 0x990, 0x02 // = 2 +REG = 0x98C, 0xA410 //Min_amplitude +REG = 0x990, 0x01 // = 1 + + +[Parallel 320x240 ExtClk=13.5MHz Op_Pix_Clk=27.56MHz] +IMAGE=320,240 +REG=0x001A, 0x0011 // RESET_AND_MISC_CONTROL +DELAY=10 +REG=0x001A, 0x0010 // RESET_AND_MISC_CONTROL +DELAY=10 +REG=0x0018, 0x4028 // STANDBY_CONTROL +REG=0x001A, 0x0210 // RESET_AND_MISC_CONTROL +REG=0x001E, 0x0777 // PAD_SLEW +REG=0x0016, 0x42DF // CLOCKS_CONTROL +REG=0x0010, 0x0231 // PLL_DIVIDERS +REG=0x0012, 0x0000 // PLL_P_DIVIDERS +REG=0x0014, 0x2147 // PLL_CONTROL +DELAY=10 +REG=0x0014, 0x2047 // PLL_CONTROL +DELAY=10 +REG=0x0014, 0xA046 // PLL_CONTROL +DELAY=10 +REG=0x3040, 0x0027 // READ_MODE +REG=0x301A, 0x1218 // RESET_REGISTER +DELAY=100 +REG=0x301A, 0x121C // RESET_REGISTER +VAR=7, 0x03, 0x0140 // MODE_OUTPUT_WIDTH_A +VAR=7, 0x05, 0x00F0 // MODE_OUTPUT_HEIGHT_A +VAR=7, 0x07, 0x0280 // MODE_OUTPUT_WIDTH_B +VAR=7, 0x09, 0x01E0 // MODE_OUTPUT_HEIGHT_B +VAR=7, 0x17, 0x0026 // MODE_SENSOR_READ_MODE_A +VAR=7, 0x2D, 0x0026 // MODE_SENSOR_READ_MODE_B + +VAR8=1, 0x03, 0x06 //(1) SEQ_CMD