media: i2c: arducam_64mp: Add 8000x6000 resolution
authorLee Jackson <lee.jackson@arducam.com>
Fri, 5 May 2023 06:36:15 +0000 (14:36 +0800)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:33:37 +0000 (11:33 +0000)
Added 8000x6000 10-bit (cropped) @ 3fps mode for Arducam 64MP

Signed-off-by: Lee Jackson <lee.jackson@arducam.com>
drivers/media/i2c/arducam_64mp.c

index fa801fd5c9f0915eb17cf1a95094d3a9c5fcdbc1..3f23a4dbb7d7864b6a34a9074e0fa7f9746ca4eb 100644 (file)
@@ -849,6 +849,65 @@ static const struct arducam_64mp_reg mode_9152x6944_regs[] = {
        {0x020f, 0x00},
 };
 
+/* 48 mpix 3.0fps */
+static const struct arducam_64mp_reg mode_8000x6000_regs[] = {
+       {0x0342, 0xb6},
+       {0x0343, 0xb2},
+       {0x0340, 0x19},
+       {0x0341, 0x0e},
+       {0x0344, 0x02},
+       {0x0345, 0x70},
+       {0x0346, 0x01},
+       {0x0347, 0xd8},
+       {0x0348, 0x21},
+       {0x0349, 0xaf},
+       {0x034a, 0x19},
+       {0x034b, 0x47},
+       {0x0900, 0x00},
+       {0x0901, 0x11},
+       {0x0902, 0x0a},
+       {0x30d8, 0x00},
+       {0x3200, 0x01},
+       {0x3201, 0x01},
+       {0x0408, 0x00},
+       {0x0409, 0x00},
+       {0x040a, 0x00},
+       {0x040b, 0x00},
+       {0x040c, 0x1f},
+       {0x040d, 0x40},
+       {0x040e, 0x17},
+       {0x040f, 0x70},
+       {0x034c, 0x1f},
+       {0x034d, 0x40},
+       {0x034e, 0x17},
+       {0x034f, 0x70},
+       {0x30d9, 0x01},
+       {0x32d5, 0x01},
+       {0x32d6, 0x00},
+       {0x401e, 0x00},
+       {0x40b8, 0x04},
+       {0x40b9, 0x20},
+       {0x40bc, 0x02},
+       {0x40bd, 0x58},
+       {0x40be, 0x02},
+       {0x40bf, 0x58},
+       {0x41a4, 0x00},
+       {0x5a09, 0x01},
+       {0x5a17, 0x01},
+       {0x5a25, 0x01},
+       {0x5a33, 0x01},
+       {0x98d7, 0x14},
+       {0x98d8, 0x14},
+       {0x98d9, 0x00},
+       {0x99c4, 0x00},
+       {0x0202, 0x03},
+       {0x0203, 0xe8},
+       {0x0204, 0x00},
+       {0x0205, 0x00},
+       {0x020e, 0x01},
+       {0x020f, 0x00},
+};
+
 /* 16 mpix 10fps */
 static const struct arducam_64mp_reg mode_4624x3472_regs[] = {
        {0x0342, 0x63},
@@ -1134,6 +1193,24 @@ static const struct arducam_64mp_mode supported_modes[] = {
                        .num_of_regs = ARRAY_SIZE(mode_9152x6944_regs),
                        .regs = mode_9152x6944_regs,
                }
+       }, {
+               .width = 8000,
+               .height = 6000,
+               .line_length_pix = 0xb6b2,
+               .crop = {
+                       .left = ARDUCAM_64MP_PIXEL_ARRAY_LEFT + 624,
+                       .top = ARDUCAM_64MP_PIXEL_ARRAY_TOP + 472,
+                       .width = 9248,
+                       .height = 6944,
+               },
+               .timeperframe_default = {
+                       .numerator = 100,
+                       .denominator = 300
+               },
+               .reg_list = {
+                       .num_of_regs = ARRAY_SIZE(mode_8000x6000_regs),
+                       .regs = mode_8000x6000_regs,
+               }
        }, {
                .width = 4624,
                .height = 3472,