mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Merge pull request #2538 from openmv/pag_mipi_support
sensors/pag7936: Add support for MIPI mode.
This commit is contained in:
commit
612ce6cb70
@ -113,6 +113,47 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const uint16_t default_regs[][2] = {
|
static const uint16_t default_regs[][2] = {
|
||||||
|
#if OMV_PAG7936_MIPI_CSI2
|
||||||
|
{ 0x004C, 0x8D },
|
||||||
|
{ 0x004D, 0x20 },
|
||||||
|
{ 0x004E, 0x00 },
|
||||||
|
{ 0x004F, 0x00 },
|
||||||
|
{ 0x110A, 0x00 },
|
||||||
|
{ 0x0905, 0x60 },
|
||||||
|
{ 0x0978, 0x01 },
|
||||||
|
{ 0x0979, 0x66 },
|
||||||
|
{ 0x097C, 0x30 },
|
||||||
|
{ 0x097D, 0x02 },
|
||||||
|
{ 0x0985, 0x06 },
|
||||||
|
{ 0x0989, 0x10 },
|
||||||
|
{ 0x098B, 0x91 },
|
||||||
|
{ 0x098E, 0x06 },
|
||||||
|
{ 0x0850, 0x00 },
|
||||||
|
{ 0x094A, 0x43 },
|
||||||
|
{ 0x09A0, 0x08 },
|
||||||
|
{ 0x0032, 0x00 },
|
||||||
|
{ 0x0033, 0x00 },
|
||||||
|
{ 0x0764, 0x00 },
|
||||||
|
{ 0x0304, 0x30 },
|
||||||
|
{ 0x0305, 0x03 },
|
||||||
|
{ 0x0307, 0x10 },
|
||||||
|
{ 0x0308, 0x05 },
|
||||||
|
{ 0x0306, 0x04 },
|
||||||
|
{ 0x0311, 0x00 },
|
||||||
|
{ 0x030F, 0x01 },
|
||||||
|
{ 0x0168, 0x6D },
|
||||||
|
{ 0x0730, 0x78 },
|
||||||
|
{ 0x0724, 0x20 },
|
||||||
|
{ 0x0188, 0x14 },
|
||||||
|
{ 0x02A5, 0xEF },
|
||||||
|
{ 0x0186, 0x40 },
|
||||||
|
{ 0x0A1A, 0x20 },
|
||||||
|
{ 0x0A32, 0x2A },
|
||||||
|
{ 0x0A33, 0x2A },
|
||||||
|
{ 0x0A34, 0x0D },
|
||||||
|
{ 0x0A35, 0x0D },
|
||||||
|
{ 0x000B, 0x01 },
|
||||||
|
#else
|
||||||
{ 0x010C, 0x23 },
|
{ 0x010C, 0x23 },
|
||||||
{ 0x010D, 0x05 },
|
{ 0x010D, 0x05 },
|
||||||
{ 0x007B, 0x8C },
|
{ 0x007B, 0x8C },
|
||||||
@ -121,9 +162,9 @@ static const uint16_t default_regs[][2] = {
|
|||||||
{ 0x007E, 0x8C },
|
{ 0x007E, 0x8C },
|
||||||
{ 0x007F, 0x8C },
|
{ 0x007F, 0x8C },
|
||||||
{ 0x0EAF, 0x31 }, // Interface polarity (Not default)
|
{ 0x0EAF, 0x31 }, // Interface polarity (Not default)
|
||||||
{ 0x004C, 0x1A },
|
{ 0x004C, 0x1A }, // frame time
|
||||||
{ 0x004D, 0x41 },
|
{ 0x004D, 0x41 }, // ftime
|
||||||
{ 0x004E, 0x00 },
|
{ 0x004E, 0x00 }, // ftime
|
||||||
{ 0x004F, 0x00 },
|
{ 0x004F, 0x00 },
|
||||||
{ 0x110A, 0x00 },
|
{ 0x110A, 0x00 },
|
||||||
{ 0x0905, 0x60 },
|
{ 0x0905, 0x60 },
|
||||||
@ -136,38 +177,7 @@ static const uint16_t default_regs[][2] = {
|
|||||||
{ 0x0985, 0x10 },
|
{ 0x0985, 0x10 },
|
||||||
{ 0x098B, 0x90 },
|
{ 0x098B, 0x90 },
|
||||||
{ 0x098E, 0x06 },
|
{ 0x098E, 0x06 },
|
||||||
{ 0x0810, 0x01 },
|
{ 0x0850, 0x00 }, // TODO BPC
|
||||||
{ 0x0814, 0xB3 }, //R_center_rx[10:0]=691
|
|
||||||
{ 0x0815, 0x02 }, //R_center_rx[10:0]=691
|
|
||||||
{ 0x0816, 0xBB }, //R_center_ry[9:0]=443
|
|
||||||
{ 0x0817, 0x01 }, //R_center_ry[9:0]=443
|
|
||||||
{ 0x0818, 0xA9 }, //R_center_gx[10:0]=681
|
|
||||||
{ 0x0819, 0x02 }, //R_center_gx[10:0]=681
|
|
||||||
{ 0x081A, 0xBB }, //R_center_gy[9:0]=443
|
|
||||||
{ 0x081B, 0x01 }, //R_center_gy[9:0]=443
|
|
||||||
{ 0x081C, 0xB0 }, //R_center_bx[10:0]=688
|
|
||||||
{ 0x081D, 0x02 }, //R_center_bx[10:0]=688
|
|
||||||
{ 0x081E, 0xBD }, //R_center_by[9:0]=445
|
|
||||||
{ 0x081F, 0x01 }, //R_center_by[9:0]=445
|
|
||||||
{ 0x0820, 0x61 }, //R_LSC_RS[7:0]=97
|
|
||||||
{ 0x0821, 0x5B }, //R_LSC_GS[7:0]=91
|
|
||||||
{ 0x0822, 0x5F }, //R_LSC_BS[7:0]=95
|
|
||||||
{ 0x0823, 0x41 }, //R_LSC_RQ[7:0]=65
|
|
||||||
{ 0x0824, 0x50 }, //R_LSC_GQ[7:0]=80
|
|
||||||
{ 0x0825, 0x7F }, //R_LSC_BQ[7:0]=127
|
|
||||||
{ 0x0826, 0x07 }, //R_LSC_SftRS[3:0]=7
|
|
||||||
{ 0x0827, 0x07 }, //R_LSC_SftGS[3:0]=7
|
|
||||||
{ 0x0828, 0x07 }, //R_LSC_SftBS[3:0]=7
|
|
||||||
{ 0x0829, 0x09 }, //R_LSC_SftRQ[3:0]=9
|
|
||||||
{ 0x082A, 0x09 }, //R_LSC_SftGQ[3:0]=9
|
|
||||||
{ 0x082B, 0x09 }, //R_LSC_SftBQ[3:0]=9
|
|
||||||
{ 0x082E, 0xD8 }, //R_LSC_LMaxR2R[15:0]=39640
|
|
||||||
{ 0x082F, 0x9A }, //R_LSC_LMaxR2R[15:0]=39640
|
|
||||||
{ 0x0830, 0xD8 }, //R_LSC_LMaxR2G[15:0]=39640
|
|
||||||
{ 0x0831, 0x9A }, //R_LSC_LMaxR2G[15:0]=39640
|
|
||||||
{ 0x0832, 0xD8 }, //R_LSC_LMaxR2B[15:0]=39640
|
|
||||||
{ 0x0833, 0x9A }, //R_LSC_LMaxR2B[15:0]=39640
|
|
||||||
{ 0x0850, 0x00 },
|
|
||||||
{ 0x094A, 0x43 },
|
{ 0x094A, 0x43 },
|
||||||
{ 0x09A0, 0x08 },
|
{ 0x09A0, 0x08 },
|
||||||
{ 0x0724, 0x10 },
|
{ 0x0724, 0x10 },
|
||||||
@ -210,6 +220,41 @@ static const uint16_t default_regs[][2] = {
|
|||||||
{ 0x0A33, 0x2A },
|
{ 0x0A33, 0x2A },
|
||||||
{ 0x0A34, 0x0D },
|
{ 0x0A34, 0x0D },
|
||||||
{ 0x0A35, 0x0D },
|
{ 0x0A35, 0x0D },
|
||||||
|
{ 0x000B, 0x02 },
|
||||||
|
#endif
|
||||||
|
{ 0x0810, 0x01 },
|
||||||
|
{ 0x0814, 0xB3 }, //R_center_rx[10:0]=691
|
||||||
|
{ 0x0815, 0x02 }, //R_center_rx[10:0]=691
|
||||||
|
{ 0x0816, 0xBB }, //R_center_ry[9:0]=443
|
||||||
|
{ 0x0817, 0x01 }, //R_center_ry[9:0]=443
|
||||||
|
{ 0x0818, 0xA9 }, //R_center_gx[10:0]=681
|
||||||
|
{ 0x0819, 0x02 }, //R_center_gx[10:0]=681
|
||||||
|
{ 0x081A, 0xBB }, //R_center_gy[9:0]=443
|
||||||
|
{ 0x081B, 0x01 }, //R_center_gy[9:0]=443
|
||||||
|
{ 0x081C, 0xB0 }, //R_center_bx[10:0]=688
|
||||||
|
{ 0x081D, 0x02 }, //R_center_bx[10:0]=688
|
||||||
|
{ 0x081E, 0xBD }, //R_center_by[9:0]=445
|
||||||
|
{ 0x081F, 0x01 }, //R_center_by[9:0]=445
|
||||||
|
{ 0x0820, 0x61 }, //R_LSC_RS[7:0]=97
|
||||||
|
{ 0x0821, 0x5B }, //R_LSC_GS[7:0]=91
|
||||||
|
{ 0x0822, 0x5F }, //R_LSC_BS[7:0]=95
|
||||||
|
{ 0x0823, 0x41 }, //R_LSC_RQ[7:0]=65
|
||||||
|
{ 0x0824, 0x50 }, //R_LSC_GQ[7:0]=80
|
||||||
|
{ 0x0825, 0x7F }, //R_LSC_BQ[7:0]=127
|
||||||
|
{ 0x0826, 0x07 }, //R_LSC_SftRS[3:0]=7
|
||||||
|
{ 0x0827, 0x07 }, //R_LSC_SftGS[3:0]=7
|
||||||
|
{ 0x0828, 0x07 }, //R_LSC_SftBS[3:0]=7
|
||||||
|
{ 0x0829, 0x09 }, //R_LSC_SftRQ[3:0]=9
|
||||||
|
{ 0x082A, 0x09 }, //R_LSC_SftGQ[3:0]=9
|
||||||
|
{ 0x082B, 0x09 }, //R_LSC_SftBQ[3:0]=9
|
||||||
|
{ 0x082E, 0xD8 }, //R_LSC_LMaxR2R[15:0]=39640
|
||||||
|
{ 0x082F, 0x9A }, //R_LSC_LMaxR2R[15:0]=39640
|
||||||
|
{ 0x0830, 0xD8 }, //R_LSC_LMaxR2G[15:0]=39640
|
||||||
|
{ 0x0831, 0x9A }, //R_LSC_LMaxR2G[15:0]=39640
|
||||||
|
{ 0x0832, 0xD8 }, //R_LSC_LMaxR2B[15:0]=39640
|
||||||
|
{ 0x0833, 0x9A }, //R_LSC_LMaxR2B[15:0]=39640
|
||||||
|
|
||||||
|
// WOI
|
||||||
{ 0x0E10, 0x01 },
|
{ 0x0E10, 0x01 },
|
||||||
{ 0x0E11, 0x00 },
|
{ 0x0E11, 0x00 },
|
||||||
{ 0x0E12, 0x05 },
|
{ 0x0E12, 0x05 },
|
||||||
@ -219,8 +264,8 @@ static const uint16_t default_regs[][2] = {
|
|||||||
{ 0x0E16, 0x00 },
|
{ 0x0E16, 0x00 },
|
||||||
{ 0x0E17, 0x10 },
|
{ 0x0E17, 0x10 },
|
||||||
{ 0x0E18, 0x00 },
|
{ 0x0E18, 0x00 },
|
||||||
|
|
||||||
{ 0x00EB, 0x80 },
|
{ 0x00EB, 0x80 },
|
||||||
{ 0x000B, 0x02 },
|
|
||||||
{ 0x0030, 0x01 },
|
{ 0x0030, 0x01 },
|
||||||
{ 0x0008, 0x83 },
|
{ 0x0008, 0x83 },
|
||||||
{ 0x0000, 0x00 },
|
{ 0x0000, 0x00 },
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user