Three different OV5640 modules are supported using the FFC connector on
BeaglePlay:
- Digilent PCam 5C
- ALINX AN5641
- TEVI-OV5640-*-RPI
The Digilent and ALINX modules supply a 12Mhz XCLK to the sensor, while
the TEVI module supplies a 24Mhz XCLK, thus requiring a separate
overlay.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/Makefile | 11 ++++
.../dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso | 77 ++++++++++++++++++++++
.../ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso | 77 ++++++++++++++++++++++
3 files changed, 165 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 77a347f9f47d..c6c7825b4cb2 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -12,6 +12,8 @@
k3-am625-sk-hdmi-audio-dtbs := k3-am625-sk.dtb k3-am62x-sk-hdmi-audio.dtbo
k3-am62-lp-sk-hdmi-audio-dtbs := k3-am62-lp-sk.dtb k3-am62x-sk-hdmi-audio.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-ov5640.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-phyboard-lyra-rdk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-nonwifi-dahlia.dtb
@@ -80,7 +82,16 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb
+# Build time test only, enabled by CONFIG_OF_ALL_DTBS
+k3-am625-beagleplay-csi2-ov5640-dtbs := k3-am625-beagleplay.dtb \
+ k3-am625-beagleplay-csi2-ov5640.dtbo
+k3-am625-beagleplay-csi2-tevi-ov5640-dtbs := k3-am625-beagleplay.dtb \
+ k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
+dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
+ k3-am625-beagleplay-csi2-tevi-ov5640.dtb
+
# Enable support for device-tree overlays
+DTC_FLAGS_k3-am625-beagleplay += -@
DTC_FLAGS_k3-am625-sk += -@
DTC_FLAGS_k3-am62-lp-sk += -@
DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@
diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso b/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso
new file mode 100644
index 000000000000..5e80ca7033ba
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso
@@ -0,0 +1,77 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * ALINX AN5641 & Digilent PCam 5C - OV5640 camera module
+ * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ clk_ov5640_fixed: ov5640-xclk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <12000000>;
+ };
+};
+
+&main_gpio0 {
+ p11-hog {
+ /* P11 - CSI2_CAMERA_GPIO1 */
+ gpio-hog;
+ gpios = <11 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "CSI2_CAMERA_GPIO1";
+ };
+};
+
+&wkup_i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ ov5640: camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+
+ clocks = <&clk_ov5640_fixed>;
+ clock-names = "xclk";
+
+ port {
+ csi2_cam0: endpoint {
+ remote-endpoint = <&csi2rx0_in_sensor>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&cdns_csi2rx0 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi0_port0: port@0 {
+ reg = <0>;
+ status = "okay";
+
+ csi2rx0_in_sensor: endpoint {
+ remote-endpoint = <&csi2_cam0>;
+ bus-type = <4>; /* CSI2 DPHY. */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&dphy0 {
+ status = "okay";
+};
+
+&ti_csi2rx0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso b/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso
new file mode 100644
index 000000000000..5e1cbbc27c8f
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso
@@ -0,0 +1,77 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Technexion TEVI-OV5640-*-RPI - OV5640 camera module
+ * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ clk_ov5640_fixed: ov5640-xclk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ };
+};
+
+&main_gpio0 {
+ p11-hog {
+ /* P11 - CSI2_CAMERA_GPIO1 */
+ gpio-hog;
+ gpios = <11 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "CSI2_CAMERA_GPIO1";
+ };
+};
+
+&wkup_i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ ov5640: camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+
+ clocks = <&clk_ov5640_fixed>;
+ clock-names = "xclk";
+
+ port {
+ csi2_cam0: endpoint {
+ remote-endpoint = <&csi2rx0_in_sensor>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&cdns_csi2rx0 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi0_port0: port@0 {
+ reg = <0>;
+ status = "okay";
+
+ csi2rx0_in_sensor: endpoint {
+ remote-endpoint = <&csi2_cam0>;
+ bus-type = <4>; /* CSI2 DPHY. */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&dphy0 {
+ status = "okay";
+};
+
+&ti_csi2rx0 {
+ status = "okay";
+};
--
2.42.1
Hi, On Nov 28, 2023 at 15:39:46 +0530, Jai Luthra wrote: > Three different OV5640 modules are supported using the FFC connector on > BeaglePlay: > - Digilent PCam 5C > - ALINX AN5641 > - TEVI-OV5640-*-RPI > > The Digilent and ALINX modules supply a 12Mhz XCLK to the sensor, while > the TEVI module supplies a 24Mhz XCLK, thus requiring a separate > overlay. Sorry looks like I forgot to pull Andrew's R-By tag from v2 [1], hopefully this works: Reviewed-by: Andrew Davis <afd@ti.com> [1]: https://lore.kernel.org/all/6a4bca7b-7750-45e6-bbce-2d324e5fc900@ti.com/ > > Signed-off-by: Jai Luthra <j-luthra@ti.com> > --- > arch/arm64/boot/dts/ti/Makefile | 11 ++++ > .../dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso | 77 ++++++++++++++++++++++ > .../ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso | 77 ++++++++++++++++++++++ > 3 files changed, 165 insertions(+) > [...] -- Thanks, Jai GPG Fingerprint: 4DE0 D818 E5D5 75E8 D45A AFC5 43DE 91F9 249A 7145
On 28/11/2023 11:27, Jai Luthra wrote: > Hi, > > On Nov 28, 2023 at 15:39:46 +0530, Jai Luthra wrote: >> Three different OV5640 modules are supported using the FFC connector on >> BeaglePlay: >> - Digilent PCam 5C >> - ALINX AN5641 >> - TEVI-OV5640-*-RPI >> >> The Digilent and ALINX modules supply a 12Mhz XCLK to the sensor, while >> the TEVI module supplies a 24Mhz XCLK, thus requiring a separate >> overlay. > > Sorry looks like I forgot to pull Andrew's R-By tag from v2 [1], > hopefully this works: > > Reviewed-by: Andrew Davis <afd@ti.com> Sorry, usually not. At least would not work for my scripts, because I do not use b4 parameter to accept tags from other people. I don't know whether the case is here, but I would recommend to wait a day and then resend with short explanation. Best regards, Krzysztof
On 15:33-20231128, Krzysztof Kozlowski wrote: > On 28/11/2023 11:27, Jai Luthra wrote: > > Hi, > > > > On Nov 28, 2023 at 15:39:46 +0530, Jai Luthra wrote: > >> Three different OV5640 modules are supported using the FFC connector on > >> BeaglePlay: > >> - Digilent PCam 5C > >> - ALINX AN5641 > >> - TEVI-OV5640-*-RPI > >> > >> The Digilent and ALINX modules supply a 12Mhz XCLK to the sensor, while > >> the TEVI module supplies a 24Mhz XCLK, thus requiring a separate > >> overlay. > > > > Sorry looks like I forgot to pull Andrew's R-By tag from v2 [1], > > hopefully this works: > > > > Reviewed-by: Andrew Davis <afd@ti.com> > > Sorry, usually not. At least would not work for my scripts, because I do > not use b4 parameter to accept tags from other people. I don't know > whether the case is here, but I would recommend to wait a day and then > resend with short explanation. Jai: Please re-send this series. I'd rather not play a guessing game here and don't want to digging up all old series to see Reviews you should be carrying forward on which patch or for full series etc.. -- Regards, Nishanth Menon Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Hi Nishanth, On Dec 01, 2023 at 00:18:37 -0600, Nishanth Menon wrote: > On 15:33-20231128, Krzysztof Kozlowski wrote: > > On 28/11/2023 11:27, Jai Luthra wrote: > > > Hi, > > > > > > On Nov 28, 2023 at 15:39:46 +0530, Jai Luthra wrote: > > >> Three different OV5640 modules are supported using the FFC connector on > > >> BeaglePlay: > > >> - Digilent PCam 5C > > >> - ALINX AN5641 > > >> - TEVI-OV5640-*-RPI > > >> > > >> The Digilent and ALINX modules supply a 12Mhz XCLK to the sensor, while > > >> the TEVI module supplies a 24Mhz XCLK, thus requiring a separate > > >> overlay. > > > > > > Sorry looks like I forgot to pull Andrew's R-By tag from v2 [1], > > > hopefully this works: > > > > > > Reviewed-by: Andrew Davis <afd@ti.com> > > > > Sorry, usually not. At least would not work for my scripts, because I do > > not use b4 parameter to accept tags from other people. I don't know > > whether the case is here, but I would recommend to wait a day and then > > resend with short explanation. > > Jai: Please re-send this series. I'd rather not play a guessing game > here and don't want to digging up all old series to see Reviews you > should be carrying forward on which patch or for full series etc.. > Resent here: https://lore.kernel.org/all/20231201-csi_dts-v3-0-9f06f31080fe@ti.com/ > -- > Regards, > Nishanth Menon > Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D -- Thanks, Jai GPG Fingerprint: 4DE0 D818 E5D5 75E8 D45A AFC5 43DE 91F9 249A 7145
© 2016 - 2025 Red Hat, Inc.