[v3,4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640
Commit Message
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(+)
Comments
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(+)
> [...]
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..
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
@@ -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 += -@
new file mode 100644
@@ -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";
+};
new file mode 100644
@@ -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";
+};