Skip to content

Commit 11b2644

Browse files
SPadmana95andrestraker
authored andcommitted
sdcard-images-utils: nvidia: patches: nvidia-oot: reorganize mode tables and add RAW12 formats
Signed-off-by: Sivasubramanaiyan Padmanaban <sivasubramaniyan.padmanaban@analog.com>
1 parent 38fe169 commit 11b2644

File tree

1 file changed

+225
-0
lines changed

1 file changed

+225
-0
lines changed
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
From 944ca38ca8547416416e821f6ddf30650b08105c Mon Sep 17 00:00:00 2001
2+
From: Sivasubramanaiyan Padmanaban <sivasubramaniyan.padmanaban@analog.com>
3+
Date: Tue, 20 Jan 2026 13:53:32 +0530
4+
Subject: [PATCH] media: i2c: adsd3500: reorganize mode tables and add RAW12
5+
formats
6+
7+
- Refactor ADSD3500 mode enumerations and frame format tables with explicit RAW8/RAW12 separation.
8+
- Add new resolutions and RAW12 modes while preserving deterministic mode indexing.
9+
- Changed the driver version number as "7.0.0"
10+
11+
Signed-off-by: Sivasubramanaiyan Padmanaban <sivasubramaniyan.padmanaban@analog.com>
12+
---
13+
drivers/media/i2c/adsd3500_mode_tbls.h | 165 ++++++++++++++-----------
14+
drivers/media/i2c/adsd3500_regs.h | 2 +-
15+
2 files changed, 92 insertions(+), 75 deletions(-)
16+
17+
diff --git a/drivers/media/i2c/adsd3500_mode_tbls.h b/drivers/media/i2c/adsd3500_mode_tbls.h
18+
index bf8997db..8737e4b9 100644
19+
--- a/drivers/media/i2c/adsd3500_mode_tbls.h
20+
+++ b/drivers/media/i2c/adsd3500_mode_tbls.h
21+
@@ -5,6 +5,7 @@ enum {
22+
ADSD3500_MODE_512x512_30FPS,
23+
ADSD3500_MODE_1024x512_30FPS,
24+
ADSD3500_MODE_1024x4096_30FPS,
25+
+ ADSD3500_MODE_1280x512_30FPS,
26+
ADSD3500_MODE_1536x512_30FPS,
27+
ADSD3500_MODE_1792x512_30FPS,
28+
ADSD3500_MODE_2048x512_30FPS,
29+
@@ -54,18 +55,26 @@ enum {
30+
ADSD3500_MODE_3072x3840_30FPS,
31+
ADSD3500_MODE_512x1920_30FPS,
32+
ADSD3500_MODE_1536x1920_30FPS,
33+
- ADSD3500_MODE_2048x4608_30FPS,
34+
- ADSD3500_MODE_1024x2304_30FPS,
35+
- ADSD3500_MODE_1024x2880_30FPS,
36+
- ADSD3500_MODE_512x1440_30FPS,
37+
- ADSD3500_MODE_1024x1024_30FPS,
38+
- ADSD3500_MODE_1024x3072_30FPS,
39+
- ADSD3500_MODE_2048x5376_30FPS,
40+
- ADSD3500_MODE_2048x3584_30FPS,
41+
+ ADSD3500_MODE_2048x4608_RAW12_30FPS,
42+
+ ADSD3500_MODE_1024x2304_RAW12_30FPS,
43+
+ ADSD3500_MODE_1024x2880_RAW12_30FPS,
44+
+ ADSD3500_MODE_512x1440_RAW12_30FPS,
45+
+ ADSD3500_MODE_2048x3072_RAW12_30FPS,
46+
+ ADSD3500_MODE_1024x1536_RAW12_30FPS,
47+
+ ADSD3500_MODE_1024x1920_RAW12_30FPS,
48+
+ ADSD3500_MODE_512x960_RAW12_30FPS,
49+
+ ADSD3500_MODE_512x512_RAW12_30FPS,
50+
+ ADSD3500_MODE_512x640_RAW12_30FPS,
51+
+ ADSD3500_MODE_2048x512_RAW12_30FPS,
52+
+ ADSD3500_MODE_1024x1024_RAW12_30FPS,
53+
+ ADSD3500_MODE_1024x3072_RAW12_30FPS,
54+
+ ADSD3500_MODE_1024x4096_RAW12_30FPS,
55+
+ ADSD3500_MODE_2048x5376_RAW12_30FPS,
56+
+ ADSD3500_MODE_2048x3584_RAW12_30FPS,
57+
};
58+
59+
static const int adsd3500_30fps[] = {
60+
- 30,
61+
+ 30,
62+
};
63+
64+
/*
65+
@@ -73,71 +82,79 @@ static const int adsd3500_30fps[] = {
66+
* device tree!
67+
*/
68+
static const struct camera_common_frmfmt adsd3500_frmfmt[] = {
69+
- {{512, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x512_30FPS},
70+
- {{1024, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x512_30FPS},
71+
- {{1024, 4096}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x4096_30FPS},
72+
- {{1536, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1536x512_30FPS},
73+
- {{1792, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x512_30FPS},
74+
- {{2048, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x512_30FPS},
75+
- {{2048, 2048}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x2048_30FPS},
76+
- {{2304, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2304x512_30FPS},
77+
- {{2560, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2560x512_30FPS},
78+
- {{512, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x640_30FPS},
79+
- {{1024, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x640_30FPS},
80+
- {{1536, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1536x640_30FPS},
81+
- {{2048, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x640_30FPS},
82+
- {{2560, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2560x640_30FPS},
83+
- {{256, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_256x320_30FPS},
84+
- {{512, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x320_30FPS},
85+
- {{768, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_768x320_30FPS},
86+
- {{1024, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x320_30FPS},
87+
- {{1280, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1280x320_30FPS},
88+
- {{2048, 3328}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x3328_30FPS},
89+
- {{1024, 1664}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1664_30FPS},
90+
- {{1024, 2080}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2080_30FPS},
91+
- {{512, 1040}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x1040_30FPS},
92+
- {{2048, 2560}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x2560_30FPS},
93+
- {{1024, 1280}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1280_30FPS},
94+
- {{1024, 1600}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1600_30FPS},
95+
- {{512, 800}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x800_30FPS},
96+
- {{2048, 4096}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x4096_30FPS},
97+
- {{1024, 2048}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2048_30FPS},
98+
- {{1024, 2560}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2560_30FPS},
99+
- {{512, 1280}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x1280_30FPS},
100+
- {{2048, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x3072_30FPS},
101+
- {{1024, 1536}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1536_30FPS},
102+
- {{1024, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1920_30FPS},
103+
- {{512, 960}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x960_30FPS},
104+
- {{3584, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_3584x3072_30FPS},
105+
- {{1792, 1536}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x1536_30FPS},
106+
- {{1792, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x1920_30FPS},
107+
- {{896, 960}, adsd3500_30fps, 1, 0, ADSD3500_MODE_896x960_30FPS},
108+
- {{3584, 2048}, adsd3500_30fps, 1, 0, ADSD3500_MODE_3584x2048_30FPS},
109+
- {{1792, 1024}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x1024_30FPS},
110+
- {{1792, 1280}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x1280_30FPS},
111+
- {{896, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_896x640_30FPS},
112+
- {{4096, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_4096x3072_30FPS},
113+
- {{2048, 1536}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x1536_30FPS},
114+
- {{2048, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x1920_30FPS},
115+
- {{1024, 960}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x960_30FPS},
116+
- {{2048, 6144}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x6144_30FPS},
117+
- {{3072, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_3072x3072_30FPS},
118+
- {{3072, 3840}, adsd3500_30fps, 1, 0, ADSD3500_MODE_3072x3840_30FPS},
119+
- {{512, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x1920_30FPS},
120+
- {{1536, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1536x1920_30FPS},
121+
- {{2048, 4608}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x4608_30FPS},
122+
- {{1024, 2304}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2304_30FPS},
123+
- {{1024, 2880}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2880_30FPS},
124+
- {{512, 1440}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x1440_30FPS},
125+
- {{512, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x512_30FPS},
126+
- {{512, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x640_30FPS},
127+
- {{2048, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x512_30FPS},
128+
- {{1024, 1024}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1024_30FPS},
129+
- {{1024, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x3072_30FPS},
130+
- {{1024, 4096}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x4096_30FPS},
131+
- {{2048, 5376}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x5376_30FPS},
132+
- {{2048, 3584}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x3584_30FPS},
133+
- /* Add modes with no device tree support after below */
134+
+ /* RAW8 modes (0-52) */
135+
+ {{512, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x512_30FPS}, // mode0
136+
+ {{1024, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x512_30FPS}, // mode1
137+
+ {{1024, 4096}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x4096_30FPS}, // mode2
138+
+ {{1280, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1280x512_30FPS}, // mode3
139+
+ {{1536, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1536x512_30FPS}, // mode4
140+
+ {{1792, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x512_30FPS}, // mode5
141+
+ {{2048, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x512_30FPS}, // mode6
142+
+ {{2048, 2048}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x2048_30FPS}, // mode7
143+
+ {{2304, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2304x512_30FPS}, // mode8
144+
+ {{2560, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2560x512_30FPS}, // mode9
145+
+ {{512, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x640_30FPS}, // mode10
146+
+ {{1024, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x640_30FPS}, // mode11
147+
+ {{1536, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1536x640_30FPS}, // mode12
148+
+ {{2048, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x640_30FPS}, // mode13
149+
+ {{2560, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2560x640_30FPS}, // mode14
150+
+ {{256, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_256x320_30FPS}, // mode15
151+
+ {{512, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x320_30FPS}, // mode16
152+
+ {{768, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_768x320_30FPS}, // mode17
153+
+ {{1024, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x320_30FPS}, // mode18
154+
+ {{1280, 320}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1280x320_30FPS}, // mode19
155+
+ {{2048, 3328}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x3328_30FPS}, // mode20
156+
+ {{1024, 1664}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1664_30FPS}, // mode21
157+
+ {{1024, 2080}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2080_30FPS}, // mode22
158+
+ {{512, 1040}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x1040_30FPS}, // mode23
159+
+ {{2048, 2560}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x2560_30FPS}, // mode24
160+
+ {{1024, 1280}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1280_30FPS}, // mode25
161+
+ {{1024, 1600}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1600_30FPS}, // mode26
162+
+ {{512, 800}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x800_30FPS}, // mode27
163+
+ {{2048, 4096}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x4096_30FPS}, // mode28
164+
+ {{1024, 2048}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2048_30FPS}, // mode29
165+
+ {{1024, 2560}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2560_30FPS}, // mode30
166+
+ {{512, 1280}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x1280_30FPS}, // mode31
167+
+ {{2048, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x3072_30FPS}, // mode32
168+
+ {{1024, 1536}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1536_30FPS}, // mode33
169+
+ {{1024, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1920_30FPS}, // mode34
170+
+ {{512, 960}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x960_30FPS}, // mode35
171+
+ {{3584, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_3584x3072_30FPS}, // mode36
172+
+ {{1792, 1536}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x1536_30FPS}, // mode37
173+
+ {{1792, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x1920_30FPS}, // mode38
174+
+ {{896, 960}, adsd3500_30fps, 1, 0, ADSD3500_MODE_896x960_30FPS}, // mode39
175+
+ {{3584, 2048}, adsd3500_30fps, 1, 0, ADSD3500_MODE_3584x2048_30FPS}, // mode40
176+
+ {{1792, 1024}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x1024_30FPS}, // mode41
177+
+ {{1792, 1280}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1792x1280_30FPS}, // mode42
178+
+ {{896, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_896x640_30FPS}, // mode43
179+
+ {{4096, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_4096x3072_30FPS}, // mode44
180+
+ {{2048, 1536}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x1536_30FPS}, // mode45
181+
+ {{2048, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x1920_30FPS}, // mode46
182+
+ {{1024, 960}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x960_30FPS}, // mode47
183+
+ {{2048, 6144}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x6144_30FPS}, // mode48
184+
+ {{3072, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_3072x3072_30FPS}, // mode49
185+
+ {{3072, 3840}, adsd3500_30fps, 1, 0, ADSD3500_MODE_3072x3840_30FPS}, // mode50
186+
+ {{512, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x1920_30FPS}, // mode51
187+
+ {{1536, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1536x1920_30FPS}, // mode52
188+
+
189+
+ /* RAW12 modes (53-68) */
190+
+ {{2048, 4608}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x4608_RAW12_30FPS}, // mode53
191+
+ {{1024, 2304}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2304_RAW12_30FPS}, // mode54
192+
+ {{1024, 2880}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x2880_RAW12_30FPS}, // mode55
193+
+ {{512, 1440}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x1440_RAW12_30FPS}, // mode56
194+
+ {{2048, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x3072_RAW12_30FPS}, // mode57
195+
+ {{1024, 1536}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1536_RAW12_30FPS}, // mode58
196+
+ {{1024, 1920}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1920_RAW12_30FPS}, // mode59
197+
+ {{512, 960}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x960_RAW12_30FPS}, // mode60
198+
+ {{512, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x512_RAW12_30FPS}, // mode61
199+
+ {{512, 640}, adsd3500_30fps, 1, 0, ADSD3500_MODE_512x640_RAW12_30FPS}, // mode62
200+
+ {{2048, 512}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x512_RAW12_30FPS}, // mode63
201+
+ {{1024, 1024}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x1024_RAW12_30FPS}, // mode64
202+
+ {{1024, 3072}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x3072_RAW12_30FPS}, // mode65
203+
+ {{1024, 4096}, adsd3500_30fps, 1, 0, ADSD3500_MODE_1024x4096_RAW12_30FPS}, // mode66
204+
+ {{2048, 5376}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x5376_RAW12_30FPS}, // mode67
205+
+ {{2048, 3584}, adsd3500_30fps, 1, 0, ADSD3500_MODE_2048x3584_RAW12_30FPS}, // mode68
206+
+ /* Add modes with no device tree support after below */
207+
};
208+
209+
#endif /* __ADSD3500_I2C_TABLES__ */
210+
diff --git a/drivers/media/i2c/adsd3500_regs.h b/drivers/media/i2c/adsd3500_regs.h
211+
index 626d8987..9349f9ed 100644
212+
--- a/drivers/media/i2c/adsd3500_regs.h
213+
+++ b/drivers/media/i2c/adsd3500_regs.h
214+
@@ -11,7 +11,7 @@
215+
216+
#include <linux/bitfield.h>
217+
218+
-#define DRIVER_VERSION "6.2.0"
219+
+#define DRIVER_VERSION "7.0.0"
220+
#define GET_CHIP_ID_CMD 0x0112
221+
222+
#define STREAM_ON_CMD 0x00AD
223+
--
224+
2.25.1
225+

0 commit comments

Comments
 (0)