From 7b3d0124c5cf462d5be0b0d4e558002b74750911 Mon Sep 17 00:00:00 2001 From: Lee Jackson Date: Fri, 5 May 2023 14:36:15 +0800 Subject: [PATCH] media: i2c: arducam_64mp: Add 8000x6000 resolution Added 8000x6000 10-bit (cropped) @ 3fps mode for Arducam 64MP Signed-off-by: Lee Jackson --- drivers/media/i2c/arducam_64mp.c | 77 ++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) --- a/drivers/media/i2c/arducam_64mp.c +++ b/drivers/media/i2c/arducam_64mp.c @@ -849,6 +849,65 @@ static const struct arducam_64mp_reg mod {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}, @@ -1135,6 +1194,24 @@ static const struct arducam_64mp_mode su .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, .line_length_pix = 0x6397,