mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 09:12:39 +00:00
2e715fb4fc
Add support for BCM2712 (Raspberry Pi 5).
3bb5880ab3
Patches were generated from the diff between linux kernel branch linux-6.1.y
and rpi-6.1.y from raspberry pi kernel source:
- git format-patch linux-6.1.y...rpi-6.1.y
Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2710/RPi3B, bcm2711/RPi4B
Signed-off-by: Marty Jones <mj8263788@gmail.com>
[Remove applied and reverted patches, squash patches and config commits]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
106 lines
2.3 KiB
Diff
106 lines
2.3 KiB
Diff
From 7b3d0124c5cf462d5be0b0d4e558002b74750911 Mon Sep 17 00:00:00 2001
|
|
From: Lee Jackson <lee.jackson@arducam.com>
|
|
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 <lee.jackson@arducam.com>
|
|
---
|
|
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,
|