Skip to content

Commit 37ba949

Browse files
committed
Populate the patch to all JPs
1 parent 84a42ba commit 37ba949

4 files changed

Lines changed: 189 additions & 0 deletions
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
From 824cf877625ee25ff84bba3b05b10c91fda0f4b1 Mon Sep 17 00:00:00 2001
2+
From: Nikolai-L <nikolai.lyskov@realsenseai.com>
3+
Date: Tue, 3 Feb 2026 17:46:17 +0200
4+
Subject: [PATCH] Add GPIO tunneling for the external sync support
5+
6+
---
7+
drivers/media/i2c/max9295.c | 11 +++++++++--
8+
drivers/media/i2c/max9296.c | 11 +++++++++++
9+
2 files changed, 20 insertions(+), 2 deletions(-)
10+
11+
diff --git a/drivers/media/i2c/max9295.c b/drivers/media/i2c/max9295.c
12+
index 6311d97d7..f1db5e369 100644
13+
--- a/drivers/media/i2c/max9295.c
14+
+++ b/drivers/media/i2c/max9295.c
15+
@@ -34,6 +34,7 @@
16+
#define MAX9295_CTRL0_ADDR 0x10
17+
#define MAX9295_SRC_CTRL_ADDR 0x2BF
18+
#define MAX9295_SRC_PWDN_ADDR 0x02BE
19+
+#define MAX9295_2C0_ADDR 0x02C0
20+
#define MAX9295_SRC_OUT_RCLK_ADDR 0x3F1
21+
#define MAX9295_START_PIPE_ADDR 0x311
22+
#define MAX9295_PIPE_EN_ADDR 0x2
23+
@@ -94,7 +95,12 @@
24+
25+
#define MAX9295_RESET_ALL 0x80
26+
#define MAX9295_RESET_SRC 0x60
27+
+#define MAX9295_RESET_ESYNC 0x77
28+
+
29+
#define MAX9295_PWDN_GPIO 0x90
30+
+#define MAX9295_PWDN_ESYNC 0x04
31+
+
32+
+#define MAX9295_2C0_ESYNC 0x57
33+
34+
#define MAX9295_MAX_PIPES 0x4
35+
36+
@@ -364,8 +370,9 @@ int max9295_setup_control(struct device *dev)
37+
max9295_write_reg(dev, MAX9295_I2C4_ADDR, (g_ctx->sdev_reg << 1));
38+
max9295_write_reg(dev, MAX9295_I2C5_ADDR, (g_ctx->sdev_def << 1));
39+
40+
- max9295_write_reg(dev, MAX9295_SRC_PWDN_ADDR, MAX9295_PWDN_GPIO);
41+
- max9295_write_reg(dev, MAX9295_SRC_CTRL_ADDR, MAX9295_RESET_SRC);
42+
+ max9295_write_reg(dev, MAX9295_SRC_PWDN_ADDR, MAX9295_PWDN_ESYNC);
43+
+ max9295_write_reg(dev, MAX9295_SRC_CTRL_ADDR, MAX9295_RESET_ESYNC);
44+
+ max9295_write_reg(dev, MAX9295_2C0_ADDR, MAX9295_2C0_ESYNC);
45+
max9295_write_reg(dev, MAX9295_SRC_OUT_RCLK_ADDR, MAX9295_SRC_RCLK);
46+
47+
g_ctx->serdev_found = true;
48+
diff --git a/drivers/media/i2c/max9296.c b/drivers/media/i2c/max9296.c
49+
index 316e687a1..d48de2246 100644
50+
--- a/drivers/media/i2c/max9296.c
51+
+++ b/drivers/media/i2c/max9296.c
52+
@@ -26,6 +26,10 @@
53+
#include <media/max9296.h>
54+
55+
/* register specifics */
56+
+#define MAX9296_2C5_ADDR 0x2C5
57+
+#define MAX9296_2C6_ADDR 0x2C6
58+
+#define MAX9296_2C7_ADDR 0x2C7
59+
+
60+
#define MAX9296_DST_CSI_MODE_ADDR 0x330
61+
#define MAX9296_LANE_MAP1_ADDR 0x333
62+
#define MAX9296_LANE_MAP2_ADDR 0x334
63+
@@ -54,6 +58,10 @@
64+
#define MAX9296_CTRL0_ADDR 0x10
65+
66+
/* data defines */
67+
+#define MAX9296_2C5_ESYNC 0xAA
68+
+#define MAX9296_2C6_ESYNC 0x17
69+
+#define MAX9296_2C7_ESYNC 0x47
70+
+
71+
#define MAX9296_CSI_MODE_4X2 0x1
72+
#define MAX9296_CSI_MODE_2X4 0x4
73+
#define MAX9296_LANE_MAP1_4X2 0x44
74+
@@ -364,6 +372,9 @@ int max9296_setup_control(struct device *dev, struct device *s_dev)
75+
76+
max9296_write_reg(dev,
77+
MAX9296_PWDN_PHYS_ADDR, MAX9296_ALLPHYS_NOSTDBY);
78+
+ max9296_write_reg(dev, MAX9296_2C5_ADDR, MAX9296_2C5_ESYNC);
79+
+ max9296_write_reg(dev, MAX9296_2C6_ADDR, MAX9296_2C6_ESYNC);
80+
+ max9296_write_reg(dev, MAX9296_2C7_ADDR, MAX9296_2C7_ESYNC);
81+
82+
priv->sdev_ref++;
83+
84+
--
85+
2.43.0
86+
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
From 71e364f579128502a796b19ad929d95bd42139e2 Mon Sep 17 00:00:00 2001
2+
From: Nikolai-L <nikolai.lyskov@realsenseai.com>
3+
Date: Tue, 3 Feb 2026 17:06:10 +0200
4+
Subject: [PATCH] Add GPIO tunneling for the external sync support
5+
6+
---
7+
.gitignore | 7 +++++++
8+
drivers/media/i2c/max9295.c | 11 +++++++++--
9+
drivers/media/i2c/max9296.c | 11 +++++++++++
10+
3 files changed, 27 insertions(+), 2 deletions(-)
11+
create mode 100644 .gitignore
12+
13+
diff --git a/.gitignore b/.gitignore
14+
new file mode 100644
15+
index 00000000..648c10ed
16+
--- /dev/null
17+
+++ b/.gitignore
18+
@@ -0,0 +1,7 @@
19+
+/device-tree
20+
+*.cmd
21+
+*.ko
22+
+*.mod*
23+
+*.o*
24+
+*.symvers
25+
+/drivers/misc/mods
26+
diff --git a/drivers/media/i2c/max9295.c b/drivers/media/i2c/max9295.c
27+
index e7c77845..40568147 100644
28+
--- a/drivers/media/i2c/max9295.c
29+
+++ b/drivers/media/i2c/max9295.c
30+
@@ -24,6 +24,7 @@
31+
#define MAX9295_CTRL0_ADDR 0x10
32+
#define MAX9295_SRC_CTRL_ADDR 0x2BF
33+
#define MAX9295_SRC_PWDN_ADDR 0x02BE
34+
+#define MAX9295_2C0_ADDR 0x02C0
35+
#define MAX9295_SRC_OUT_RCLK_ADDR 0x3F1
36+
#define MAX9295_START_PIPE_ADDR 0x311
37+
#define MAX9295_PIPE_EN_ADDR 0x2
38+
@@ -84,7 +85,12 @@
39+
40+
#define MAX9295_RESET_ALL 0x80
41+
#define MAX9295_RESET_SRC 0x60
42+
+#define MAX9295_RESET_ESYNC 0x77
43+
+
44+
#define MAX9295_PWDN_GPIO 0x90
45+
+#define MAX9295_PWDN_ESYNC 0x04
46+
+
47+
+#define MAX9295_2C0_ESYNC 0x57
48+
49+
#define MAX9295_MAX_PIPES 0x4
50+
51+
@@ -354,8 +360,9 @@ int max9295_setup_control(struct device *dev)
52+
max9295_write_reg(dev, MAX9295_I2C4_ADDR, (g_ctx->sdev_reg << 1));
53+
max9295_write_reg(dev, MAX9295_I2C5_ADDR, (g_ctx->sdev_def << 1));
54+
55+
- max9295_write_reg(dev, MAX9295_SRC_PWDN_ADDR, MAX9295_PWDN_GPIO);
56+
- max9295_write_reg(dev, MAX9295_SRC_CTRL_ADDR, MAX9295_RESET_SRC);
57+
+ max9295_write_reg(dev, MAX9295_SRC_PWDN_ADDR, MAX9295_PWDN_ESYNC);
58+
+ max9295_write_reg(dev, MAX9295_SRC_CTRL_ADDR, MAX9295_RESET_ESYNC);
59+
+ max9295_write_reg(dev, MAX9295_2C0_ADDR, MAX9295_2C0_ESYNC);
60+
max9295_write_reg(dev, MAX9295_SRC_OUT_RCLK_ADDR, MAX9295_SRC_RCLK);
61+
62+
g_ctx->serdev_found = true;
63+
diff --git a/drivers/media/i2c/max9296.c b/drivers/media/i2c/max9296.c
64+
index 97559460..d50bea51 100644
65+
--- a/drivers/media/i2c/max9296.c
66+
+++ b/drivers/media/i2c/max9296.c
67+
@@ -16,6 +16,10 @@
68+
#include <media/max9296.h>
69+
70+
/* register specifics */
71+
+#define MAX9296_2C5_ADDR 0x2C5
72+
+#define MAX9296_2C6_ADDR 0x2C6
73+
+#define MAX9296_2C7_ADDR 0x2C7
74+
+
75+
#define MAX9296_DST_CSI_MODE_ADDR 0x330
76+
#define MAX9296_LANE_MAP1_ADDR 0x333
77+
#define MAX9296_LANE_MAP2_ADDR 0x334
78+
@@ -44,6 +48,10 @@
79+
#define MAX9296_CTRL0_ADDR 0x10
80+
81+
/* data defines */
82+
+#define MAX9296_2C5_ESYNC 0xAA
83+
+#define MAX9296_2C6_ESYNC 0x17
84+
+#define MAX9296_2C7_ESYNC 0x47
85+
+
86+
#define MAX9296_CSI_MODE_4X2 0x1
87+
#define MAX9296_CSI_MODE_2X4 0x4
88+
#define MAX9296_LANE_MAP1_4X2 0x44
89+
@@ -354,6 +362,9 @@ int max9296_setup_control(struct device *dev, struct device *s_dev)
90+
91+
max9296_write_reg(dev,
92+
MAX9296_PWDN_PHYS_ADDR, MAX9296_ALLPHYS_NOSTDBY);
93+
+ max9296_write_reg(dev, MAX9296_2C5_ADDR, MAX9296_2C5_ESYNC);
94+
+ max9296_write_reg(dev, MAX9296_2C6_ADDR, MAX9296_2C6_ESYNC);
95+
+ max9296_write_reg(dev, MAX9296_2C7_ADDR, MAX9296_2C7_ESYNC);
96+
97+
priv->sdev_ref++;
98+
99+
--
100+
2.43.0
101+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../6.0/0004-Add-GPIO-tunneling-for-the-external-sync-support.patch
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../6.0/0004-Add-GPIO-tunneling-for-the-external-sync-support.patch

0 commit comments

Comments
 (0)