From 4d70babf3fae39c5bee82b694ef5793f48101124 Mon Sep 17 00:00:00 2001
From: Peyton Howe <peyton.howe@bellsouth.net>
Date: Sat, 4 Jan 2025 15:15:33 -0500
Subject: [PATCH] IMX219: Add 4-lane option to the device tree overlay

Signed-off-by: Peyton Howe <peyton.howe@bellsouth.net>
---
 arch/arm/boot/dts/overlays/README             |  2 ++
 arch/arm/boot/dts/overlays/imx219-overlay.dts | 17 +++++++++++++++++
 2 files changed, 19 insertions(+)

--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -2795,6 +2795,8 @@ Params: rotation                Mounting
         cam0                    Adopt the default configuration for CAM0 on a
                                 Compute Module (CSI0, i2c_vc, and cam0_reg).
         vcm                     Configure a VCM focus drive on the sensor.
+        4lane                   Enable 4 CSI2 lanes. This requires a Compute
+                                Module (1, 3, 4, or 5) or Pi 5.
 
 
 Name:   imx258
--- a/arch/arm/boot/dts/overlays/imx219-overlay.dts
+++ b/arch/arm/boot/dts/overlays/imx219-overlay.dts
@@ -71,6 +71,22 @@
 		};
 	};
 
+	fragment@201 {
+		target = <&csi_ep>;
+		__dormant__ {
+			data-lanes = <1 2 3 4>;
+		};
+	};
+
+	fragment@202 {
+		target = <&cam_endpoint>;
+		__dormant__ {
+			data-lanes = <1 2 3 4>;
+			link-frequencies =
+					/bits/ 64 <363000000>;
+		};
+	};
+
 	__overrides__ {
 		rotation = <&cam_node>,"rotation:0";
 		orientation = <&cam_node>,"orientation:0";
@@ -83,6 +99,7 @@
 		       <&vcm>, "VANA-supply:0=", <&cam0_reg>;
 		vcm = <&vcm>, "status=okay",
 		      <&cam_node>,"lens-focus:0=", <&vcm>;
+		4lane = <0>, "+201+202";
 	};
 };
 
