aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0642-media-i2c-imx290-Fix-clock-setup-register-assignment.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0642-media-i2c-imx290-Fix-clock-setup-register-assignment.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0642-media-i2c-imx290-Fix-clock-setup-register-assignment.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0642-media-i2c-imx290-Fix-clock-setup-register-assignment.patch b/target/linux/bcm27xx/patches-5.10/950-0642-media-i2c-imx290-Fix-clock-setup-register-assignment.patch
new file mode 100644
index 0000000000..5945f82dff
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0642-media-i2c-imx290-Fix-clock-setup-register-assignment.patch
@@ -0,0 +1,49 @@
+From d9e5544f2fe6d7a6da8dd618c09b7564acc5be31 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.com>
+Date: Thu, 17 Jun 2021 17:27:46 +0100
+Subject: [PATCH] media: i2c: imx290: Fix clock setup register
+ assignments
+
+When the clock setups were added for the alternate external clocks,
+the settings for 2 lane 720p and 4 lane 1080p were transposed.
+2 lane 720p still worked, but 4 lane 1080p didn't.
+
+Correct the assignments.
+
+Fixes: 6b0c094a5b58 (media: i2c: imx290: Add support for 74.25MHz clock")
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+---
+ drivers/media/i2c/imx290.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+--- a/drivers/media/i2c/imx290.c
++++ b/drivers/media/i2c/imx290.c
+@@ -485,10 +485,10 @@ static const struct imx290_mode imx290_m
+ .lane_data = imx290_720p_2lane_settings,
+ .lane_data_size = ARRAY_SIZE(imx290_720p_2lane_settings),
+ .clk_data = {
+- [CLK_37_125] = imx290_37_125mhz_clock_1080p,
+- [CLK_74_25] = imx290_74_250mhz_clock_1080p,
++ [CLK_37_125] = imx290_37_125mhz_clock_720p,
++ [CLK_74_25] = imx290_74_250mhz_clock_720p,
+ },
+- .clk_size = ARRAY_SIZE(imx290_37_125mhz_clock_1080p),
++ .clk_size = ARRAY_SIZE(imx290_37_125mhz_clock_720p),
+ },
+ };
+
+@@ -510,10 +510,10 @@ static const struct imx290_mode imx290_m
+ .lane_data = imx290_1080p_4lane_settings,
+ .lane_data_size = ARRAY_SIZE(imx290_1080p_4lane_settings),
+ .clk_data = {
+- [CLK_37_125] = imx290_37_125mhz_clock_720p,
+- [CLK_74_25] = imx290_74_250mhz_clock_720p,
++ [CLK_37_125] = imx290_37_125mhz_clock_1080p,
++ [CLK_74_25] = imx290_74_250mhz_clock_1080p,
+ },
+- .clk_size = ARRAY_SIZE(imx290_37_125mhz_clock_720p),
++ .clk_size = ARRAY_SIZE(imx290_37_125mhz_clock_1080p),
+ },
+ {
+ .width = 1280,