bcm27xx: update 6.1 patches to latest version
[openwrt/staging/dangole.git] / target / linux / bcm27xx / patches-6.1 / 950-0801-media-i2c-arducam_64mp-Add-8000x6000-resolution.patch
1 From 7b3d0124c5cf462d5be0b0d4e558002b74750911 Mon Sep 17 00:00:00 2001
2 From: Lee Jackson <lee.jackson@arducam.com>
3 Date: Fri, 5 May 2023 14:36:15 +0800
4 Subject: [PATCH] media: i2c: arducam_64mp: Add 8000x6000 resolution
5
6 Added 8000x6000 10-bit (cropped) @ 3fps mode for Arducam 64MP
7
8 Signed-off-by: Lee Jackson <lee.jackson@arducam.com>
9 ---
10 drivers/media/i2c/arducam_64mp.c | 77 ++++++++++++++++++++++++++++++++
11 1 file changed, 77 insertions(+)
12
13 --- a/drivers/media/i2c/arducam_64mp.c
14 +++ b/drivers/media/i2c/arducam_64mp.c
15 @@ -849,6 +849,65 @@ static const struct arducam_64mp_reg mod
16 {0x020f, 0x00},
17 };
18
19 +/* 48 mpix 3.0fps */
20 +static const struct arducam_64mp_reg mode_8000x6000_regs[] = {
21 + {0x0342, 0xb6},
22 + {0x0343, 0xb2},
23 + {0x0340, 0x19},
24 + {0x0341, 0x0e},
25 + {0x0344, 0x02},
26 + {0x0345, 0x70},
27 + {0x0346, 0x01},
28 + {0x0347, 0xd8},
29 + {0x0348, 0x21},
30 + {0x0349, 0xaf},
31 + {0x034a, 0x19},
32 + {0x034b, 0x47},
33 + {0x0900, 0x00},
34 + {0x0901, 0x11},
35 + {0x0902, 0x0a},
36 + {0x30d8, 0x00},
37 + {0x3200, 0x01},
38 + {0x3201, 0x01},
39 + {0x0408, 0x00},
40 + {0x0409, 0x00},
41 + {0x040a, 0x00},
42 + {0x040b, 0x00},
43 + {0x040c, 0x1f},
44 + {0x040d, 0x40},
45 + {0x040e, 0x17},
46 + {0x040f, 0x70},
47 + {0x034c, 0x1f},
48 + {0x034d, 0x40},
49 + {0x034e, 0x17},
50 + {0x034f, 0x70},
51 + {0x30d9, 0x01},
52 + {0x32d5, 0x01},
53 + {0x32d6, 0x00},
54 + {0x401e, 0x00},
55 + {0x40b8, 0x04},
56 + {0x40b9, 0x20},
57 + {0x40bc, 0x02},
58 + {0x40bd, 0x58},
59 + {0x40be, 0x02},
60 + {0x40bf, 0x58},
61 + {0x41a4, 0x00},
62 + {0x5a09, 0x01},
63 + {0x5a17, 0x01},
64 + {0x5a25, 0x01},
65 + {0x5a33, 0x01},
66 + {0x98d7, 0x14},
67 + {0x98d8, 0x14},
68 + {0x98d9, 0x00},
69 + {0x99c4, 0x00},
70 + {0x0202, 0x03},
71 + {0x0203, 0xe8},
72 + {0x0204, 0x00},
73 + {0x0205, 0x00},
74 + {0x020e, 0x01},
75 + {0x020f, 0x00},
76 +};
77 +
78 /* 16 mpix 10fps */
79 static const struct arducam_64mp_reg mode_4624x3472_regs[] = {
80 {0x0342, 0x63},
81 @@ -1135,6 +1194,24 @@ static const struct arducam_64mp_mode su
82 .regs = mode_9152x6944_regs,
83 }
84 }, {
85 + .width = 8000,
86 + .height = 6000,
87 + .line_length_pix = 0xb6b2,
88 + .crop = {
89 + .left = ARDUCAM_64MP_PIXEL_ARRAY_LEFT + 624,
90 + .top = ARDUCAM_64MP_PIXEL_ARRAY_TOP + 472,
91 + .width = 9248,
92 + .height = 6944,
93 + },
94 + .timeperframe_default = {
95 + .numerator = 100,
96 + .denominator = 300
97 + },
98 + .reg_list = {
99 + .num_of_regs = ARRAY_SIZE(mode_8000x6000_regs),
100 + .regs = mode_8000x6000_regs,
101 + }
102 + }, {
103 .width = 4624,
104 .height = 3472,
105 .line_length_pix = 0x6397,