diff --git a/Documentation/devicetree/bindings/media/i2c/ov5640.yaml b/Documentation/devicetree/bindings/media/i2c/ov5640.yaml
index 503f8b78615c..16e6c2dc629a 100644
--- a/Documentation/devicetree/bindings/media/i2c/ov5640.yaml
+++ b/Documentation/devicetree/bindings/media/i2c/ov5640.yaml
@@ -73,6 +73,9 @@ properties:
           remote-endpoint:
             description: A phandle to the bus receiver's endpoint node.

+          bus-type:
+            enum: [4, 5]
+
           clock-lanes:
             const: 0

@@ -109,6 +112,7 @@ properties:

         required:
           - remote-endpoint
+          - bus-type

     additionalProperties: false

@@ -146,6 +150,7 @@ examples:
             port {
                 ov5640_to_mipi_csi2: endpoint {
                     remote-endpoint = <&mipi_csi2_from_ov5640>;
+                    bus-type = <4>;
                     clock-lanes = <0>;
                     data-lanes = <1 2>;
                 };
@@ -172,6 +177,7 @@ examples:
             port {
                 ov5640_to_parallel: endpoint {
                     remote-endpoint = <&parallel_from_ov5640>;
+                    bus-type = <5>;
                     bus-width = <10>;
                 };
             };
diff --git a/arch/arm/boot/dts/dra72-evm-common.dtsi b/arch/arm/boot/dts/dra72-evm-common.dtsi
index c84b63bf0fc8..aba7eb55525d 100644
--- a/arch/arm/boot/dts/dra72-evm-common.dtsi
+++ b/arch/arm/boot/dts/dra72-evm-common.dtsi
@@ -287,6 +287,7 @@ ov5640@3c {
 		port {
 			csi2_cam0: endpoint {
 				remote-endpoint = <&csi2_phy0>;
+				bus-type = <4>;
 				clock-lanes = <0>;
 				data-lanes = <1 2>;
 			};
diff --git a/arch/arm/boot/dts/dra76-evm.dts b/arch/arm/boot/dts/dra76-evm.dts
index 820a0ece20d4..ddf16e65ec7f 100644
--- a/arch/arm/boot/dts/dra76-evm.dts
+++ b/arch/arm/boot/dts/dra76-evm.dts
@@ -420,6 +420,7 @@ ov5640@3c {
 		port {
 			csi2_cam0: endpoint {
 				remote-endpoint = <&csi2_phy0>;
+				bus-type = <4>;
 				clock-lanes = <0>;
 				data-lanes = <1 2>;
 			};
diff --git a/arch/arm/boot/dts/imx6-logicpd-baseboard.dtsi b/arch/arm/boot/dts/imx6-logicpd-baseboard.dtsi
index 9e027b9a5f91..dd5765778e87 100644
--- a/arch/arm/boot/dts/imx6-logicpd-baseboard.dtsi
+++ b/arch/arm/boot/dts/imx6-logicpd-baseboard.dtsi
@@ -274,6 +274,7 @@ ov5640: camera@10 {
 		port {
 			ov5640_to_mipi_csi2: endpoint {
 				remote-endpoint = <&mipi_csi2_in>;
+				bus-type = <4>;
 				clock-lanes = <0>;
 				data-lanes = <1 2>;
 			};
diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi
index 756f3a9f1b4f..2b1f275b8cc4 100644
--- a/arch/arm/boot/dts/imx6qdl-icore.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi
@@ -213,6 +213,7 @@ ov5640: camera@3c {
 		port {
 			ov5640_to_mipi_csi2: endpoint {
 				remote-endpoint = <&mipi_csi2_in>;
+				bus-type = <4>;
 				clock-lanes = <0>;
 				data-lanes = <1 2>;
 			};
diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
index 8468216dae9b..5752abb48e68 100644
--- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
@@ -382,6 +382,7 @@ ov5640: camera@40 {
 		port {
 			ov5640_to_mipi_csi2: endpoint {
 				remote-endpoint = <&mipi_csi2_in>;
+				bus-type = <4>;
 				clock-lanes = <0>;
 				data-lanes = <1 2>;
 			};
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index 28b35ccb3757..990f4cc345da 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -313,6 +313,7 @@ rev B board is VGEN5 */
 		port {
 			ov5640_to_mipi_csi2: endpoint {
 				remote-endpoint = <&mipi_csi2_in>;
+				bus-type = <4>;
 				clock-lanes = <0>;
 				data-lanes = <1 2>;
 			};
diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
index b19056557ef0..613ede73b65b 100644
--- a/arch/arm/boot/dts/stm32mp157c-ev1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
@@ -190,6 +190,7 @@ ov5640: camera@3c {
 		port {
 			ov5640_0: endpoint {
 				remote-endpoint = <&dcmi_0>;
+				bus-type = <5>;
 				bus-width = <8>;
 				data-shift = <2>; /* lines 9:2 are used */
 				hsync-active = <0>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-amarula-relic.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-amarula-relic.dts
index c7bd73f35ed8..6ef528bb5564 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-amarula-relic.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-amarula-relic.dts
@@ -46,6 +46,7 @@ ov5640: camera@3c {
 			port {
 				ov5640_ep: endpoint {
 					remote-endpoint = <&csi_ep>;
+					bus-type = <5>;
 					bus-width = <8>;
 					hsync-active = <1>; /* Active high */
 					vsync-active = <0>; /* Active low */
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
index dc4ab6b434f9..8ebd6547786e 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
@@ -61,6 +61,7 @@ ov5640: camera@3c {
 			port {
 				ov5640_ep: endpoint {
 					remote-endpoint = <&csi_ep>;
+					bus-type = <5>;
 					bus-width = <8>;
 					hsync-active = <1>; /* Active high */
 					vsync-active = <0>; /* Active low */
diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
index fe6613676e45..5c79ad5e7b5d 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
@@ -627,6 +627,7 @@ camera_rear@3b {

 		port {
 			ov5640_ep: endpoint {
+				bus-type = <4>;
 				clock-lanes = <0>;
 				data-lanes = <1 2>;
 				remote-endpoint = <&csiphy0_ep>;
diff --git a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
index 2f3d3316a1cf..33f4eceffbe5 100644
--- a/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
+++ b/arch/arm64/boot/dts/ti/k3-am654-base-board.dts
@@ -254,6 +254,7 @@ ov5640@3c {
 		port {
 			csi2_cam0: endpoint {
 				remote-endpoint = <&csi2_phy0>;
+				bus-type = <4>;
 				clock-lanes = <0>;
 				data-lanes = <1 2>;
 			};
