| #ifndef __IMX134_H__ |
| #define __IMX134_H__ |
| |
| /********************** imx134 setting - version 1 *********************/ |
| static struct imx_reg const imx134_init_settings[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* Basic settings */ |
| { IMX_8BIT, 0x0105, 0x01 }, |
| { IMX_8BIT, 0x0220, 0x01 }, |
| { IMX_8BIT, 0x3302, 0x11 }, |
| { IMX_8BIT, 0x3833, 0x20 }, |
| { IMX_8BIT, 0x3893, 0x00 }, |
| { IMX_8BIT, 0x3906, 0x08 }, |
| { IMX_8BIT, 0x3907, 0x01 }, |
| { IMX_8BIT, 0x391B, 0x01 }, |
| { IMX_8BIT, 0x3C09, 0x01 }, |
| { IMX_8BIT, 0x600A, 0x00 }, |
| |
| /* Analog settings */ |
| { IMX_8BIT, 0x3008, 0xB0 }, |
| { IMX_8BIT, 0x320A, 0x01 }, |
| { IMX_8BIT, 0x320D, 0x10 }, |
| { IMX_8BIT, 0x3216, 0x2E }, |
| { IMX_8BIT, 0x322C, 0x02 }, |
| { IMX_8BIT, 0x3409, 0x0C }, |
| { IMX_8BIT, 0x340C, 0x2D }, |
| { IMX_8BIT, 0x3411, 0x39 }, |
| { IMX_8BIT, 0x3414, 0x1E }, |
| { IMX_8BIT, 0x3427, 0x04 }, |
| { IMX_8BIT, 0x3480, 0x1E }, |
| { IMX_8BIT, 0x3484, 0x1E }, |
| { IMX_8BIT, 0x3488, 0x1E }, |
| { IMX_8BIT, 0x348C, 0x1E }, |
| { IMX_8BIT, 0x3490, 0x1E }, |
| { IMX_8BIT, 0x3494, 0x1E }, |
| { IMX_8BIT, 0x3511, 0x8F }, |
| { IMX_8BIT, 0x3617, 0x2D }, |
| |
| GROUPED_PARAMETER_HOLD_DISABLE, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane 3280x2464 8M 30fps, vendor provide */ |
| static struct imx_reg const imx134_8M_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* clock setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x00 }, |
| { IMX_8BIT, 0x0391, 0x11 }, |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, /* down scaling 16/16 = 1 */ |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0345, 0x00 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x00 }, /* y_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0347, 0x00 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3279 */ |
| { IMX_8BIT, 0x0349, 0xCF }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x09 }, /* y_addr_end[15:8]:2463 */ |
| { IMX_8BIT, 0x034B, 0x9F }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x0C }, /* x_output_size[15:8]: 3280*/ |
| { IMX_8BIT, 0x034D, 0xD0 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x09 }, /* y_output_size[15:8]:2464 */ |
| { IMX_8BIT, 0x034F, 0xA0 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x0C }, |
| { IMX_8BIT, 0x0355, 0xD0 }, |
| { IMX_8BIT, 0x0356, 0x09 }, |
| { IMX_8BIT, 0x0357, 0xA0 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x0C }, |
| { IMX_8BIT, 0x3311, 0xD0 }, |
| { IMX_8BIT, 0x3312, 0x09 }, |
| { IMX_8BIT, 0x3313, 0xA0 }, |
| { IMX_8BIT, 0x331C, 0x01 }, |
| { IMX_8BIT, 0x331D, 0xAE }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global timing setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration time setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane, 1/2 binning 30fps 1640x1232, vendor provide */ |
| static struct imx_reg const imx134_1640_1232_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning */ |
| { IMX_8BIT, 0x0391, 0x22 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, /* no resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0345, 0x00 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x00 }, /* y_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0347, 0x00 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3279 */ |
| { IMX_8BIT, 0x0349, 0xCF }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x09 }, /* y_addr_end[15:8]:2463 */ |
| { IMX_8BIT, 0x034B, 0x9F }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x06 }, /* x_output_size[15:8]:1640 */ |
| { IMX_8BIT, 0x034D, 0x68 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x04 }, /* y_output_size[15:8]:1232 */ |
| { IMX_8BIT, 0x034F, 0xD0 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x06 }, |
| { IMX_8BIT, 0x0355, 0x68 }, |
| { IMX_8BIT, 0x0356, 0x04 }, |
| { IMX_8BIT, 0x0357, 0xD0 }, |
| |
| { IMX_8BIT, 0x301D, 0x30 }, |
| |
| { IMX_8BIT, 0x3310, 0x06 }, |
| { IMX_8BIT, 0x3311, 0x68 }, |
| { IMX_8BIT, 0x3312, 0x04 }, |
| { IMX_8BIT, 0x3313, 0xD0 }, |
| |
| { IMX_8BIT, 0x331C, 0x04 }, |
| { IMX_8BIT, 0x331D, 0x06 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane, 1/4 binning 30fps 820x616, vendor provide */ |
| static struct imx_reg const imx134_820_616_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning */ |
| { IMX_8BIT, 0x0391, 0x44 }, /* 4x4 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, /* no resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0345, 0x00 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x00 }, /* y_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0347, 0x00 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3279 */ |
| { IMX_8BIT, 0x0349, 0xCF }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x09 }, /* y_addr_end[15:8]:2463 */ |
| { IMX_8BIT, 0x034B, 0x9F }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x03 }, /* x_output_size[15:8]:820 */ |
| { IMX_8BIT, 0x034D, 0x34 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x02 }, /* y_output_size[15:8]:616 */ |
| { IMX_8BIT, 0x034F, 0x68 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x03 }, |
| { IMX_8BIT, 0x0355, 0x34 }, |
| { IMX_8BIT, 0x0356, 0x02 }, |
| { IMX_8BIT, 0x0357, 0x68 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x03 }, |
| { IMX_8BIT, 0x3311, 0x34 }, |
| { IMX_8BIT, 0x3312, 0x02 }, |
| { IMX_8BIT, 0x3313, 0x68 }, |
| { IMX_8BIT, 0x331C, 0x02 }, |
| { IMX_8BIT, 0x331D, 0xD0 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane, 1/4 binning 30fps 820x552 */ |
| static struct imx_reg const imx134_820_552_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning */ |
| { IMX_8BIT, 0x0391, 0x44 }, /* 4x4 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, /* no resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0345, 0x00 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x00 }, /* y_addr_start[15:8]:128 */ |
| { IMX_8BIT, 0x0347, 0x80 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3280-1 */ |
| { IMX_8BIT, 0x0349, 0xCF }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x09 }, /* y_addr_end[15:8]:2208+128-1 */ |
| { IMX_8BIT, 0x034B, 0x1F }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x03 }, /* x_output_size[15:8]: */ |
| { IMX_8BIT, 0x034D, 0x34 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x02 }, /* y_output_size[15:8]:616 */ |
| { IMX_8BIT, 0x034F, 0x28 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x03 }, |
| { IMX_8BIT, 0x0355, 0x34 }, |
| { IMX_8BIT, 0x0356, 0x02 }, |
| { IMX_8BIT, 0x0357, 0x28 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x03 }, |
| { IMX_8BIT, 0x3311, 0x34 }, |
| { IMX_8BIT, 0x3312, 0x02 }, |
| { IMX_8BIT, 0x3313, 0x28 }, |
| { IMX_8BIT, 0x331C, 0x02 }, |
| { IMX_8BIT, 0x331D, 0xD0 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane, 1/4 binning 30fps 720x592 */ |
| static struct imx_reg const imx134_720_592_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning */ |
| { IMX_8BIT, 0x0391, 0x44 }, /* 4x4 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, /* no resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:200 */ |
| { IMX_8BIT, 0x0345, 0xC8 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x00 }, /* y_addr_start[15:8]:40 */ |
| { IMX_8BIT, 0x0347, 0x28 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:2880+200-1 */ |
| { IMX_8BIT, 0x0349, 0x07 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x09 }, /* y_addr_end[15:8]:2368+40-1 */ |
| { IMX_8BIT, 0x034B, 0x67 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x02 }, /* x_output_size[15:8]: */ |
| { IMX_8BIT, 0x034D, 0xD0 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x02 }, /* y_output_size[15:8]:616 */ |
| { IMX_8BIT, 0x034F, 0x50 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x02 }, |
| { IMX_8BIT, 0x0355, 0xD0 }, |
| { IMX_8BIT, 0x0356, 0x02 }, |
| { IMX_8BIT, 0x0357, 0x50 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x02 }, |
| { IMX_8BIT, 0x3311, 0xD0 }, |
| { IMX_8BIT, 0x3312, 0x02 }, |
| { IMX_8BIT, 0x3313, 0x50 }, |
| { IMX_8BIT, 0x331C, 0x02 }, |
| { IMX_8BIT, 0x331D, 0xD0 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| static struct imx_reg const imx134_752_616_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning */ |
| { IMX_8BIT, 0x0391, 0x44 }, /* 4x4 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, /* no resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:136 */ |
| { IMX_8BIT, 0x0345, 0x88 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x00 }, /* y_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0347, 0x00 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3145+134-1 */ |
| { IMX_8BIT, 0x0349, 0x47 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x09 }, /* y_addr_end[15:8]:2463 */ |
| { IMX_8BIT, 0x034B, 0x9F }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x02 }, /* x_output_size[15:8]: 752*/ |
| { IMX_8BIT, 0x034D, 0xF0 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x02 }, /* y_output_size[15:8]:616 */ |
| { IMX_8BIT, 0x034F, 0x68 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| |
| { IMX_8BIT, 0x0354, 0x02 }, |
| { IMX_8BIT, 0x0355, 0xF0 }, |
| { IMX_8BIT, 0x0356, 0x02 }, |
| { IMX_8BIT, 0x0357, 0x68 }, |
| |
| { IMX_8BIT, 0x301D, 0x30 }, |
| |
| { IMX_8BIT, 0x3310, 0x02 }, |
| { IMX_8BIT, 0x3311, 0xF0 }, |
| { IMX_8BIT, 0x3312, 0x02 }, |
| { IMX_8BIT, 0x3313, 0x68 }, |
| |
| { IMX_8BIT, 0x331C, 0x02 }, |
| { IMX_8BIT, 0x331D, 0xD0 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 1424x1168 */ |
| static struct imx_reg const imx134_1424_1168_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x00 }, /* binning */ |
| { IMX_8BIT, 0x0391, 0x11 }, /* no binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x22 }, /* 34/16=2.125 */ |
| { IMX_8BIT, 0x4082, 0x00 }, /* ?? */ |
| { IMX_8BIT, 0x4083, 0x00 }, /* ?? */ |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:136 */ |
| { IMX_8BIT, 0x0345, 0x80 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x00 }, /* y_addr_start[15:8]:0 */ |
| { IMX_8BIT, 0x0347, 0x00 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3145+134-1 */ |
| { IMX_8BIT, 0x0349, 0x51 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x09 }, /* y_addr_end[15:8]:2463 */ |
| { IMX_8BIT, 0x034B, 0xB1 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x05 }, /* x_output_size[15:8]: 1424*/ |
| { IMX_8BIT, 0x034D, 0x90 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x04 }, /* y_output_size[15:8]:1168 */ |
| { IMX_8BIT, 0x034F, 0x90 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| |
| { IMX_8BIT, 0x0354, 0x0B }, |
| { IMX_8BIT, 0x0355, 0xD2 }, |
| { IMX_8BIT, 0x0356, 0x09 }, |
| { IMX_8BIT, 0x0357, 0xB2 }, |
| |
| { IMX_8BIT, 0x301D, 0x30 }, |
| |
| { IMX_8BIT, 0x3310, 0x05 }, |
| { IMX_8BIT, 0x3311, 0x90 }, |
| { IMX_8BIT, 0x3312, 0x04 }, |
| { IMX_8BIT, 0x3313, 0x90 }, |
| |
| { IMX_8BIT, 0x331C, 0x02 }, |
| { IMX_8BIT, 0x331D, 0xD0 }, |
| { IMX_8BIT, 0x4084, 0x05 }, |
| { IMX_8BIT, 0x4085, 0x90 }, |
| { IMX_8BIT, 0x4086, 0x04 }, |
| { IMX_8BIT, 0x4087, 0x90 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane, 1/4 binning, 16/35 down scaling, 30fps, dvs */ |
| static struct imx_reg const imx134_240_196_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /*4x4 binning */ |
| { IMX_8BIT, 0x0391, 0x44 }, |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x23 }, /* down scaling = 16/35 */ |
| { IMX_8BIT, 0x4082, 0x00 }, |
| { IMX_8BIT, 0x4083, 0x00 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x02 }, /* x_addr_start[15:8]:590 */ |
| { IMX_8BIT, 0x0345, 0x4E }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:366 */ |
| { IMX_8BIT, 0x0347, 0x6E }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0A }, /* x_addr_end[15:8]:2104+590-1 */ |
| { IMX_8BIT, 0x0349, 0x85 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:1720+366-1 */ |
| { IMX_8BIT, 0x034B, 0x25 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x00 }, /* x_output_size[15:8]: 240*/ |
| { IMX_8BIT, 0x034D, 0xF0 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x00 }, /* y_output_size[15:8]:196 */ |
| { IMX_8BIT, 0x034F, 0xC4 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x02 }, /* crop_x: 526 */ |
| { IMX_8BIT, 0x0355, 0x0E }, |
| { IMX_8BIT, 0x0356, 0x01 }, /* crop_y: 430 */ |
| { IMX_8BIT, 0x0357, 0xAE }, |
| |
| { IMX_8BIT, 0x301D, 0x30 }, |
| |
| { IMX_8BIT, 0x3310, 0x00 }, |
| { IMX_8BIT, 0x3311, 0xF0 }, |
| { IMX_8BIT, 0x3312, 0x00 }, |
| { IMX_8BIT, 0x3313, 0xC4 }, |
| |
| { IMX_8BIT, 0x331C, 0x04 }, |
| { IMX_8BIT, 0x331D, 0x4C }, |
| |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0xF0 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0xC4 }, |
| |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x0A }, |
| { IMX_8BIT, 0x0203, 0x88 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane, 1/2 binning, 16/38 downscaling, 30fps, dvs */ |
| static struct imx_reg const imx134_448_366_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0391, 0x22 }, |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x26 }, /* down scaling = 16/38 */ |
| { IMX_8BIT, 0x4082, 0x00 }, |
| { IMX_8BIT, 0x4083, 0x00 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x02 }, /* x_addr_start[15:8]:590 */ |
| { IMX_8BIT, 0x0345, 0x4E }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:366 */ |
| { IMX_8BIT, 0x0347, 0x6E }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0A }, /* x_addr_end[15:8]:2128+590-1 */ |
| { IMX_8BIT, 0x0349, 0x9D }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:1740+366-1 */ |
| { IMX_8BIT, 0x034B, 0x39 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x01 }, /* x_output_size[15:8]: 448*/ |
| { IMX_8BIT, 0x034D, 0xC0 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x01 }, /* y_output_size[15:8]:366 */ |
| { IMX_8BIT, 0x034F, 0x6E }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x04 }, /* crop_x: 1064 */ |
| { IMX_8BIT, 0x0355, 0x28 }, |
| { IMX_8BIT, 0x0356, 0x03 }, /* crop_y: 870 */ |
| { IMX_8BIT, 0x0357, 0x66 }, |
| |
| { IMX_8BIT, 0x301D, 0x30 }, |
| |
| { IMX_8BIT, 0x3310, 0x01 }, |
| { IMX_8BIT, 0x3311, 0xC0 }, |
| { IMX_8BIT, 0x3312, 0x01 }, |
| { IMX_8BIT, 0x3313, 0x6E }, |
| |
| { IMX_8BIT, 0x331C, 0x02 }, |
| { IMX_8BIT, 0x331D, 0xD0 }, |
| |
| { IMX_8BIT, 0x4084, 0x01 }, |
| { IMX_8BIT, 0x4085, 0xC0 }, |
| { IMX_8BIT, 0x4086, 0x01 }, |
| { IMX_8BIT, 0x4087, 0x6E }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane 2336x1312, 30fps, for 1080p dvs, vendor provide */ |
| static struct imx_reg const imx134_2336_1312_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x00 }, /* disable binning */ |
| { IMX_8BIT, 0x0391, 0x11 }, |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x16 }, /* down scaling = 16/22 = 8/11 */ |
| { IMX_8BIT, 0x4082, 0x00 }, |
| { IMX_8BIT, 0x4083, 0x00 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:34 */ |
| { IMX_8BIT, 0x0345, 0x22 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:332 */ |
| { IMX_8BIT, 0x0347, 0x4C }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3245 */ |
| { IMX_8BIT, 0x0349, 0xAD }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:2135 */ |
| { IMX_8BIT, 0x034B, 0x57 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x09 }, /* x_output_size[15:8]:2336 */ |
| { IMX_8BIT, 0x034D, 0x20 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x05 }, /* y_output_size[15:8]:1312 */ |
| { IMX_8BIT, 0x034F, 0x20 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x0C }, |
| { IMX_8BIT, 0x0355, 0x8C }, |
| { IMX_8BIT, 0x0356, 0x07 }, |
| { IMX_8BIT, 0x0357, 0x0C }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x09 }, |
| { IMX_8BIT, 0x3311, 0x20 }, |
| { IMX_8BIT, 0x3312, 0x05 }, |
| { IMX_8BIT, 0x3313, 0x20 }, |
| { IMX_8BIT, 0x331C, 0x03 }, |
| { IMX_8BIT, 0x331D, 0xEB }, |
| { IMX_8BIT, 0x4084, 0x09 }, |
| { IMX_8BIT, 0x4085, 0x20 }, |
| { IMX_8BIT, 0x4086, 0x05 }, |
| { IMX_8BIT, 0x4087, 0x20 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane 1920x1080, 30fps, for 720p still capture */ |
| static struct imx_reg const imx134_1936_1096_30fps_v1[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x00 }, /* disable binning */ |
| { IMX_8BIT, 0x0391, 0x11 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x1A }, /* downscaling 16/26*/ |
| { IMX_8BIT, 0x4082, 0x00 }, |
| { IMX_8BIT, 0x4083, 0x00 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:64 */ |
| { IMX_8BIT, 0x0345, 0x40 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:340 */ |
| { IMX_8BIT, 0x0347, 0x54 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3209 */ |
| { IMX_8BIT, 0x0349, 0x89 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:2121 */ |
| { IMX_8BIT, 0x034B, 0x49 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x07 }, /* x_output_size[15:8]:1936 */ |
| { IMX_8BIT, 0x034D, 0x90 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x04 }, /* y_output_size[15:8]:1096 */ |
| { IMX_8BIT, 0x034F, 0x48 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x0C }, /* crop x:3146 */ |
| { IMX_8BIT, 0x0355, 0x4A }, |
| { IMX_8BIT, 0x0356, 0x06 }, /* xrop y:1782 */ |
| { IMX_8BIT, 0x0357, 0xF6 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x07 }, |
| { IMX_8BIT, 0x3311, 0x80 }, |
| { IMX_8BIT, 0x3312, 0x04 }, |
| { IMX_8BIT, 0x3313, 0x38 }, |
| { IMX_8BIT, 0x331C, 0x04 }, |
| { IMX_8BIT, 0x331D, 0x1E }, |
| { IMX_8BIT, 0x4084, 0x07 }, |
| { IMX_8BIT, 0x4085, 0x80 }, |
| { IMX_8BIT, 0x4086, 0x04 }, |
| { IMX_8BIT, 0x4087, 0x38 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane 1920x1080, 30fps, for 720p still capture, vendor provide */ |
| static struct imx_reg const imx134_1936_1096_30fps_v2[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x00 }, /* disable binning */ |
| { IMX_8BIT, 0x0391, 0x11 }, |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x1B }, /* downscaling 16/27*/ |
| { IMX_8BIT, 0x4082, 0x00 }, |
| { IMX_8BIT, 0x4083, 0x00 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* Optionnal Function setting */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:64 */ |
| { IMX_8BIT, 0x0345, 0x06 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:340 */ |
| { IMX_8BIT, 0x0347, 0x34 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3209 */ |
| { IMX_8BIT, 0x0349, 0xC9 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:2121 */ |
| { IMX_8BIT, 0x034B, 0x6F }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x07 }, /* x_output_size[15:8]:1936 */ |
| { IMX_8BIT, 0x034D, 0x90 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x04 }, /* y_output_size[15:8]:1096 */ |
| { IMX_8BIT, 0x034F, 0x48 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x0C }, /* crop x:3146 */ |
| { IMX_8BIT, 0x0355, 0xC4 }, |
| { IMX_8BIT, 0x0356, 0x07 }, /* xrop y:1782 */ |
| { IMX_8BIT, 0x0357, 0x3A }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x07 }, /* decide by mode and output size */ |
| { IMX_8BIT, 0x3311, 0x90 }, |
| { IMX_8BIT, 0x3312, 0x04 }, |
| { IMX_8BIT, 0x3313, 0x48 }, |
| { IMX_8BIT, 0x331C, 0x04 }, |
| { IMX_8BIT, 0x331D, 0x1E }, |
| { IMX_8BIT, 0x4084, 0x07 }, |
| { IMX_8BIT, 0x4085, 0x90 }, |
| { IMX_8BIT, 0x4086, 0x04 }, |
| { IMX_8BIT, 0x4087, 0x48 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Setting */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane 1296x736, 30fps, for 720p still capture, vendor provide */ |
| static struct imx_reg const imx134_1296_736_30fps_v2[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning */ |
| { IMX_8BIT, 0x0391, 0x22 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x14 }, |
| { IMX_8BIT, 0x4082, 0x00 }, |
| { IMX_8BIT, 0x4083, 0x00 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* OptionnalFunction settig */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:40 */ |
| { IMX_8BIT, 0x0345, 0x14 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:332 */ |
| { IMX_8BIT, 0x0347, 0x38 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3239 */ |
| { IMX_8BIT, 0x0349, 0xBB }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:2131 */ |
| { IMX_8BIT, 0x034B, 0x67 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x05 }, /* x_output_size[15:8]:1280 */ |
| { IMX_8BIT, 0x034D, 0x10 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x02 }, /* y_output_size[15:8]:720 */ |
| { IMX_8BIT, 0x034F, 0xE0 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x06 }, |
| { IMX_8BIT, 0x0355, 0x54 }, |
| { IMX_8BIT, 0x0356, 0x03 }, |
| { IMX_8BIT, 0x0357, 0x98 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x05 }, |
| { IMX_8BIT, 0x3311, 0x10 }, |
| { IMX_8BIT, 0x3312, 0x02 }, |
| { IMX_8BIT, 0x3313, 0xE0 }, |
| { IMX_8BIT, 0x331C, 0x01 }, |
| { IMX_8BIT, 0x331D, 0x10 }, |
| { IMX_8BIT, 0x4084, 0x05 }, |
| { IMX_8BIT, 0x4085, 0x10 }, |
| { IMX_8BIT, 0x4086, 0x02 }, |
| { IMX_8BIT, 0x4087, 0xE0 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Settin */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| /* 4 lane 1280x720, 30fps, for 720p dvs, vendor provide */ |
| static struct imx_reg const imx134_1568_880_30fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xA9 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning*/ |
| { IMX_8BIT, 0x0391, 0x22 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, /* down scaling 16/16 = 1 */ |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* OptionnalFunction settig */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:72 */ |
| { IMX_8BIT, 0x0345, 0x48 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:356 */ |
| { IMX_8BIT, 0x0347, 0x64 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3207 */ |
| { IMX_8BIT, 0x0349, 0x87 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:2115 */ |
| { IMX_8BIT, 0x034B, 0x43 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x06 }, /* x_output_size[15:8]:1568 */ |
| { IMX_8BIT, 0x034D, 0x20 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x03 }, /* y_output_size[15:8]:880 */ |
| { IMX_8BIT, 0x034F, 0x70 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x06 }, |
| { IMX_8BIT, 0x0355, 0x20 }, |
| { IMX_8BIT, 0x0356, 0x03 }, |
| { IMX_8BIT, 0x0357, 0x70 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x06 }, |
| { IMX_8BIT, 0x3311, 0x20 }, |
| { IMX_8BIT, 0x3312, 0x03 }, |
| { IMX_8BIT, 0x3313, 0x70 }, |
| { IMX_8BIT, 0x331C, 0x03 }, |
| { IMX_8BIT, 0x331D, 0xF2 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xAF }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Settin */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| static struct imx_reg const imx134_1568_876_60fps_0625[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0x8F }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning*/ |
| { IMX_8BIT, 0x0391, 0x22 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, /* down scaling 16/16 = 1 */ |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* OptionnalFunction settig */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:72 */ |
| { IMX_8BIT, 0x0345, 0x48 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:356 */ |
| { IMX_8BIT, 0x0347, 0x64 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3207 */ |
| { IMX_8BIT, 0x0349, 0x87 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:2115 */ |
| { IMX_8BIT, 0x034B, 0x3B }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x06 }, /* x_output_size[15:8]:1568 */ |
| { IMX_8BIT, 0x034D, 0x20 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x03 }, /* y_output_size[15:8]:880 */ |
| { IMX_8BIT, 0x034F, 0x6C }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x06 }, |
| { IMX_8BIT, 0x0355, 0x20 }, |
| { IMX_8BIT, 0x0356, 0x03 }, |
| { IMX_8BIT, 0x0357, 0x6C }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x06 }, |
| { IMX_8BIT, 0x3311, 0x20 }, |
| { IMX_8BIT, 0x3312, 0x03 }, |
| { IMX_8BIT, 0x3313, 0x6C }, |
| { IMX_8BIT, 0x331C, 0x03 }, |
| { IMX_8BIT, 0x331D, 0xF2 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x6F }, |
| { IMX_8BIT, 0x0831, 0x27 }, |
| { IMX_8BIT, 0x0832, 0x4F }, |
| { IMX_8BIT, 0x0833, 0x2F }, |
| { IMX_8BIT, 0x0834, 0x2F }, |
| { IMX_8BIT, 0x0835, 0x2F }, |
| { IMX_8BIT, 0x0836, 0x9F }, |
| { IMX_8BIT, 0x0837, 0x37 }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Settin */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| |
| /* 4 lane for 720p dvs, vendor provide */ |
| static struct imx_reg const imx134_1568_880[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xC8 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning*/ |
| { IMX_8BIT, 0x0391, 0x22 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, /* down scaling 16/16 = 1 */ |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* OptionnalFunction settig */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:72 */ |
| { IMX_8BIT, 0x0345, 0x48 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x01 }, /* y_addr_start[15:8]:356 */ |
| { IMX_8BIT, 0x0347, 0x64 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3207 */ |
| { IMX_8BIT, 0x0349, 0x87 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x08 }, /* y_addr_end[15:8]:2115 */ |
| { IMX_8BIT, 0x034B, 0x43 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x06 }, /* x_output_size[15:8]:1568 */ |
| { IMX_8BIT, 0x034D, 0x20 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x03 }, /* y_output_size[15:8]:880 */ |
| { IMX_8BIT, 0x034F, 0x70 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x06 }, |
| { IMX_8BIT, 0x0355, 0x20 }, |
| { IMX_8BIT, 0x0356, 0x03 }, |
| { IMX_8BIT, 0x0357, 0x70 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x06 }, |
| { IMX_8BIT, 0x3311, 0x20 }, |
| { IMX_8BIT, 0x3312, 0x03 }, |
| { IMX_8BIT, 0x3313, 0x70 }, |
| { IMX_8BIT, 0x331C, 0x03 }, |
| { IMX_8BIT, 0x331D, 0xF2 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x5F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x37 }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xBF }, |
| { IMX_8BIT, 0x0837, 0x3F }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| |
| /* Integration Time Settin */ |
| { IMX_8BIT, 0x0202, 0x09 }, |
| { IMX_8BIT, 0x0203, 0xD2 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| /* 4 lane for 480p dvs, default 60fps, vendor provide */ |
| static struct imx_reg const imx134_880_592[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xC8 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x01 }, /* binning*/ |
| { IMX_8BIT, 0x0391, 0x22 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x02 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x1D }, /* downscaling ratio = 16/29 */ |
| { IMX_8BIT, 0x4082, 0x00 }, |
| { IMX_8BIT, 0x4083, 0x00 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* OptionnalFunction settig */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x00 }, /* x_addr_start[15:8]:44 */ |
| { IMX_8BIT, 0x0345, 0x2C }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x00 }, /* y_addr_start[15:8]:160 */ |
| { IMX_8BIT, 0x0347, 0xA0 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0C }, /* x_addr_end[15:8]:3235 */ |
| { IMX_8BIT, 0x0349, 0xA3 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x09 }, /* y_addr_end[15:8]:2307 */ |
| { IMX_8BIT, 0x034B, 0x03 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x03 }, /* x_output_size[15:8]:880 */ |
| { IMX_8BIT, 0x034D, 0x70 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x02 }, /* y_output_size[15:8]:592 */ |
| { IMX_8BIT, 0x034F, 0x50 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x06 }, |
| { IMX_8BIT, 0x0355, 0x3C }, |
| { IMX_8BIT, 0x0356, 0x04 }, |
| { IMX_8BIT, 0x0357, 0x32 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x03 }, |
| { IMX_8BIT, 0x3311, 0x70 }, |
| { IMX_8BIT, 0x3312, 0x02 }, |
| { IMX_8BIT, 0x3313, 0x50 }, |
| { IMX_8BIT, 0x331C, 0x04 }, |
| { IMX_8BIT, 0x331D, 0x4C }, |
| { IMX_8BIT, 0x4084, 0x03 }, |
| { IMX_8BIT, 0x4085, 0x70 }, |
| { IMX_8BIT, 0x4086, 0x02 }, |
| { IMX_8BIT, 0x4087, 0x50 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x5F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x37 }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xBF }, |
| { IMX_8BIT, 0x0837, 0x3F }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| |
| /* Integration Time Settin */ |
| { IMX_8BIT, 0x0202, 0x05 }, |
| { IMX_8BIT, 0x0203, 0x42 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| static struct imx_reg const imx134_2336_1308_60fps[] = { |
| GROUPED_PARAMETER_HOLD_ENABLE, |
| /* mode set clear */ |
| { IMX_8BIT, 0x3A43, 0x01 }, |
| /* Clock Setting */ |
| { IMX_8BIT, 0x011E, 0x13 }, |
| { IMX_8BIT, 0x011F, 0x33 }, |
| { IMX_8BIT, 0x0301, 0x05 }, |
| { IMX_8BIT, 0x0303, 0x01 }, |
| { IMX_8BIT, 0x0305, 0x0C }, |
| { IMX_8BIT, 0x0309, 0x05 }, |
| { IMX_8BIT, 0x030B, 0x01 }, |
| { IMX_8BIT, 0x030C, 0x01 }, |
| { IMX_8BIT, 0x030D, 0xC8 }, |
| { IMX_8BIT, 0x030E, 0x01 }, |
| { IMX_8BIT, 0x3A06, 0x11 }, |
| |
| /* Mode setting */ |
| { IMX_8BIT, 0x0108, 0x03 }, |
| { IMX_8BIT, 0x0112, 0x0A }, |
| { IMX_8BIT, 0x0113, 0x0A }, |
| { IMX_8BIT, 0x0381, 0x01 }, |
| { IMX_8BIT, 0x0383, 0x01 }, |
| { IMX_8BIT, 0x0385, 0x01 }, |
| { IMX_8BIT, 0x0387, 0x01 }, |
| { IMX_8BIT, 0x0390, 0x00 }, /* binning*/ |
| { IMX_8BIT, 0x0391, 0x11 }, /* 2x2 binning */ |
| { IMX_8BIT, 0x0392, 0x00 }, |
| { IMX_8BIT, 0x0401, 0x00 }, /* H/V resize */ |
| { IMX_8BIT, 0x0404, 0x00 }, |
| { IMX_8BIT, 0x0405, 0x10 }, /* down scaling 16/16 = 1 */ |
| { IMX_8BIT, 0x4082, 0x01 }, |
| { IMX_8BIT, 0x4083, 0x01 }, |
| { IMX_8BIT, 0x7006, 0x04 }, |
| |
| /* OptionnalFunction settig */ |
| { IMX_8BIT, 0x0700, 0x00 }, |
| { IMX_8BIT, 0x3A63, 0x00 }, |
| { IMX_8BIT, 0x4100, 0xF8 }, |
| { IMX_8BIT, 0x4203, 0xFF }, |
| { IMX_8BIT, 0x4344, 0x00 }, |
| { IMX_8BIT, 0x441C, 0x01 }, |
| |
| /* Size setting */ |
| { IMX_8BIT, 0x0344, 0x01 }, /* x_addr_start[15:8]:72 */ |
| { IMX_8BIT, 0x0345, 0xD8 }, /* x_addr_start[7:0] */ |
| { IMX_8BIT, 0x0346, 0x02 }, /* y_addr_start[15:8]:356 */ |
| { IMX_8BIT, 0x0347, 0x44 }, /* y_addr_start[7:0] */ |
| { IMX_8BIT, 0x0348, 0x0A }, /* x_addr_end[15:8]:3207 */ |
| { IMX_8BIT, 0x0349, 0xF7 }, /* x_addr_end[7:0] */ |
| { IMX_8BIT, 0x034A, 0x07 }, /* y_addr_end[15:8]:2107 */ |
| { IMX_8BIT, 0x034B, 0x5F+4 }, /* y_addr_end[7:0] */ |
| { IMX_8BIT, 0x034C, 0x09 }, /* x_output_size[15:8]:1568 */ |
| { IMX_8BIT, 0x034D, 0x20 }, /* x_output_size[7:0] */ |
| { IMX_8BIT, 0x034E, 0x05 }, /* y_output_size[15:8]:876 */ |
| { IMX_8BIT, 0x034F, 0x1C+4 }, /* y_output_size[7:0] */ |
| { IMX_8BIT, 0x0350, 0x00 }, |
| { IMX_8BIT, 0x0351, 0x00 }, |
| { IMX_8BIT, 0x0352, 0x00 }, |
| { IMX_8BIT, 0x0353, 0x00 }, |
| { IMX_8BIT, 0x0354, 0x09 }, |
| { IMX_8BIT, 0x0355, 0x20 }, |
| { IMX_8BIT, 0x0356, 0x05 }, |
| { IMX_8BIT, 0x0357, 0x1C+4 }, |
| { IMX_8BIT, 0x301D, 0x30 }, |
| { IMX_8BIT, 0x3310, 0x09 }, |
| { IMX_8BIT, 0x3311, 0x20 }, |
| { IMX_8BIT, 0x3312, 0x05 }, |
| { IMX_8BIT, 0x3313, 0x1C+4 }, |
| { IMX_8BIT, 0x331C, 0x03 }, |
| { IMX_8BIT, 0x331D, 0xE8 }, |
| { IMX_8BIT, 0x4084, 0x00 }, |
| { IMX_8BIT, 0x4085, 0x00 }, |
| { IMX_8BIT, 0x4086, 0x00 }, |
| { IMX_8BIT, 0x4087, 0x00 }, |
| { IMX_8BIT, 0x4400, 0x00 }, |
| |
| /* Global Timing Setting */ |
| { IMX_8BIT, 0x0830, 0x77 }, |
| { IMX_8BIT, 0x0831, 0x2F }, |
| { IMX_8BIT, 0x0832, 0x5F }, |
| { IMX_8BIT, 0x0833, 0x37 }, |
| { IMX_8BIT, 0x0834, 0x37 }, |
| { IMX_8BIT, 0x0835, 0x37 }, |
| { IMX_8BIT, 0x0836, 0xBF }, |
| { IMX_8BIT, 0x0837, 0x3F }, |
| { IMX_8BIT, 0x0839, 0x1F }, |
| { IMX_8BIT, 0x083A, 0x17 }, |
| { IMX_8BIT, 0x083B, 0x02 }, |
| |
| /* Integration Time Settin */ |
| { IMX_8BIT, 0x0202, 0x05 }, |
| { IMX_8BIT, 0x0203, 0x42 }, |
| |
| /* HDR Setting */ |
| { IMX_8BIT, 0x0230, 0x00 }, |
| { IMX_8BIT, 0x0231, 0x00 }, |
| { IMX_8BIT, 0x0233, 0x00 }, |
| { IMX_8BIT, 0x0234, 0x00 }, |
| { IMX_8BIT, 0x0235, 0x40 }, |
| { IMX_8BIT, 0x0238, 0x00 }, |
| { IMX_8BIT, 0x0239, 0x04 }, |
| { IMX_8BIT, 0x023B, 0x00 }, |
| { IMX_8BIT, 0x023C, 0x01 }, |
| { IMX_8BIT, 0x33B0, 0x04 }, |
| { IMX_8BIT, 0x33B1, 0x00 }, |
| { IMX_8BIT, 0x33B3, 0x00 }, |
| { IMX_8BIT, 0x33B4, 0x01 }, |
| { IMX_8BIT, 0x3800, 0x00 }, |
| { IMX_TOK_TERM, 0, 0 } |
| }; |
| |
| struct imx_resolution imx134_res_preview[] = { |
| { |
| .desc = "imx134_CIF_30fps", |
| .regs = imx134_720_592_30fps, |
| .width = 720, |
| .height = 592, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 2, |
| .bin_factor_y = 2, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_820_552_30fps_preview", |
| .regs = imx134_820_552_30fps, |
| .width = 820, |
| .height = 552, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 2, |
| .bin_factor_y = 2, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_820_616_preview_30fps", |
| .regs = imx134_820_616_30fps, |
| .width = 820, |
| .height = 616, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 2, |
| .bin_factor_y = 2, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_1080p_preview_30fps", |
| .regs = imx134_1936_1096_30fps_v2, |
| .width = 1936, |
| .height = 1096, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 0, |
| .bin_factor_y = 0, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_1640_1232_preview_30fps", |
| .regs = imx134_1640_1232_30fps, |
| .width = 1640, |
| .height = 1232, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 1, |
| .bin_factor_y = 1, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_8M_preview_30fps", |
| .regs = imx134_8M_30fps, |
| .width = 3280, |
| .height = 2464, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 0, |
| .bin_factor_y = 0, |
| .used = 0, |
| }, |
| }; |
| |
| struct imx_resolution imx134_res_still[] = { |
| { |
| .desc = "imx134_CIF_30fps", |
| .regs = imx134_1424_1168_30fps, |
| .width = 1424, |
| .height = 1168, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 1, |
| .bin_factor_y = 1, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_VGA_still_30fps", |
| .regs = imx134_1640_1232_30fps, |
| .width = 1640, |
| .height = 1232, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 1, |
| .bin_factor_y = 1, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_1080p_still_30fps", |
| .regs = imx134_1936_1096_30fps_v2, |
| .width = 1936, |
| .height = 1096, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 0, |
| .bin_factor_y = 0, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_1640_1232_still_30fps", |
| .regs = imx134_1640_1232_30fps, |
| .width = 1640, |
| .height = 1232, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 1, |
| .bin_factor_y = 1, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_8M_still_30fps", |
| .regs = imx134_8M_30fps, |
| .width = 3280, |
| .height = 2464, |
| .fps_options = { |
| { |
| /* WORKAROUND for FW performance limitation */ |
| .fps = 8, |
| .pixels_per_line = 6400, |
| .lines_per_frame = 5312, |
| }, |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 0, |
| .bin_factor_y = 0, |
| .used = 0, |
| }, |
| }; |
| |
| struct imx_resolution imx134_res_video[] = { |
| { |
| .desc = "imx134_QCIF_DVS_30fps", |
| .regs = imx134_240_196_30fps, |
| .width = 240, |
| .height = 196, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 2, |
| .bin_factor_y = 2, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_CIF_DVS_30fps", |
| .regs = imx134_448_366_30fps, |
| .width = 448, |
| .height = 366, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 1, |
| .bin_factor_y = 1, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_VGA_30fps", |
| .regs = imx134_820_616_30fps, |
| .width = 820, |
| .height = 616, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 2, |
| .bin_factor_y = 2, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_480p", |
| .regs = imx134_880_592, |
| .width = 880, |
| .height = 592, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2700, |
| }, |
| { |
| .fps = 60, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 1350, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 1, |
| .bin_factor_y = 1, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_1568_880", |
| .regs = imx134_1568_880, |
| .width = 1568, |
| .height = 880, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2700, |
| }, |
| { |
| .fps = 60, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 1350, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 1, |
| .bin_factor_y = 1, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_1080p_dvs_30fps", |
| .regs = imx134_2336_1312_30fps, |
| .width = 2336, |
| .height = 1312, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 0, |
| .bin_factor_y = 0, |
| .used = 0, |
| }, |
| { |
| .desc = "imx134_1080p_dvs_60fps", |
| .regs = imx134_2336_1308_60fps, |
| .width = 2336, |
| .height = 1312, |
| .fps_options = { |
| { |
| .fps = 60, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 1350, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 0, |
| .bin_factor_y = 0, |
| .used = 0, |
| }, |
| { |
| /*This setting only be used for SDV mode*/ |
| .desc = "imx134_8M_sdv_30fps", |
| .regs = imx134_8M_30fps, |
| .width = 3280, |
| .height = 2464, |
| .fps_options = { |
| { |
| .fps = 30, |
| .pixels_per_line = 3600, |
| .lines_per_frame = 2518, |
| }, |
| { |
| } |
| }, |
| .bin_factor_x = 0, |
| .bin_factor_y = 0, |
| .used = 0, |
| }, |
| }; |
| |
| #endif |
| |