* [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family
@ 2023-11-28 10:09 Jai Luthra
2023-11-28 10:09 ` [PATCH v3 1/9] arm64: defconfig: Enable AM62 CSI2RX Jai Luthra
` (8 more replies)
0 siblings, 9 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
This series enables CSI camera support on BeaglePlay, SK-AM62 and
SK-AM62A, now that the dt-bindings and driver support for CSI-RX related
IPs is merged in v6.7-rc1.
Along with the device tree nodes for CSI-RX, add new DT overlays for
different camera modules like RPiv2 (IMX219) or PCam5C (OV5640).
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
Changes in v3:
- Enable CSI-RX and DPHY nodes in the overlays instead of base DTBs for
SK-AM62 and SK-AM62A
- Link to v2: https://lore.kernel.org/r/20231117-csi_dts-v2-0-bf4312194a6b@ti.com
Changes in v2:
- Follow Andrew's comments to avoid creating combined DTBs with overlays
applied, instead adding them with "dtb- +=" to optionally test that
they apply cleanly with OF_ALL_DTBS=y config.
- [New Patch] Cleanup existing combined DTBs to also do the same as above
- Pick Martyn's Tested-By tag for SK-AM62
- Link to v1: https://lore.kernel.org/r/20231115-csi_dts-v1-0-99fc535b2bde@ti.com
---
Jai Luthra (9):
arm64: defconfig: Enable AM62 CSI2RX
arm64: dts: ti: Enable CSI-RX on AM62
arm64: dts: ti: Enable CSI-RX on AM62A
arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640
arm64: dts: ti: k3-am62x-sk: Enable camera peripherals
arm64: dts: ti: k3-am62x: Add overlays for OV5640
arm64: dts: ti: k3-am62a7-sk: Enable camera peripherals
arm64: dts: ti: k3-am62x: Add overlay for IMX219
arm64: dts: ti: Use OF_ALL_DTBS for combined blobs
arch/arm64/boot/dts/ti/Makefile | 60 ++++++++++---
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 62 ++++++++++++++
.../dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso | 77 +++++++++++++++++
.../ti/k3-am625-beagleplay-csi2-tevi-ov5640.dtso | 77 +++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 99 ++++++++++++++++++++++
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 27 ++++++
arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 7 ++
.../arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso | 84 ++++++++++++++++++
.../arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso | 82 ++++++++++++++++++
.../boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso | 82 ++++++++++++++++++
arch/arm64/configs/defconfig | 3 +
11 files changed, 648 insertions(+), 12 deletions(-)
---
base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86
change-id: 20231114-csi_dts-5f433aca3665
Best regards,
--
Jai Luthra <j-luthra@ti.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v3 1/9] arm64: defconfig: Enable AM62 CSI2RX
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 2/9] arm64: dts: ti: Enable CSI-RX on AM62 Jai Luthra
` (7 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
AM62 and other K3 based SoCs use Cadence DPHY and CSI-RX bridge drivers,
along with a DMA wrapper CSI IP for the camera pipeline.
Tested-by: Martyn Welch <martyn.welch@collabora.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/configs/defconfig | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index b60aa1f89343..aa2df39d072e 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -783,6 +783,7 @@ CONFIG_USB_VIDEO_CLASS=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_SDR_PLATFORM_DRIVERS=y
CONFIG_V4L_MEM2MEM_DRIVERS=y
+CONFIG_VIDEO_CADENCE_CSI2RX=m
CONFIG_VIDEO_MEDIATEK_JPEG=m
CONFIG_VIDEO_MEDIATEK_VCODEC=m
CONFIG_VIDEO_IMX7_CSI=m
@@ -804,6 +805,7 @@ CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
CONFIG_VIDEO_SAMSUNG_S5P_JPEG=m
CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
CONFIG_VIDEO_SUN6I_CSI=m
+CONFIG_VIDEO_TI_J721E_CSI2RX=m
CONFIG_VIDEO_HANTRO=m
CONFIG_VIDEO_IMX219=m
CONFIG_VIDEO_IMX412=m
@@ -1421,6 +1423,7 @@ CONFIG_PHY_XGENE=y
CONFIG_PHY_CAN_TRANSCEIVER=m
CONFIG_PHY_SUN4I_USB=y
CONFIG_PHY_CADENCE_TORRENT=m
+CONFIG_PHY_CADENCE_DPHY_RX=m
CONFIG_PHY_CADENCE_SIERRA=m
CONFIG_PHY_MIXEL_MIPI_DPHY=m
CONFIG_PHY_FSL_IMX8M_PCIE=y
--
2.42.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 2/9] arm64: dts: ti: Enable CSI-RX on AM62
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
2023-11-28 10:09 ` [PATCH v3 1/9] arm64: defconfig: Enable AM62 CSI2RX Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 3/9] arm64: dts: ti: Enable CSI-RX on AM62A Jai Luthra
` (6 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
The CSI2RX subsystem can be used to capture video frames from CSI-2
cameras. Add nodes for the CSI core, SHIM layer, and the DPHY.
Tested-by: Martyn Welch <martyn.welch@collabora.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 62 ++++++++++++++++++++++++++++++++
1 file changed, 62 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
index e5c64c86d1d5..c0a95f6aff5e 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi
@@ -965,4 +965,66 @@ mcasp2: audio-controller@2b20000 {
power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
+
+ ti_csi2rx0: ticsi2rx@30102000 {
+ compatible = "ti,j721e-csi2rx-shim";
+ dmas = <&main_bcdma 0 0x4700 0>;
+ dma-names = "rx0";
+ reg = <0x00 0x30102000 0x00 0x1000>;
+ power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+ status = "disabled";
+
+ cdns_csi2rx0: csi-bridge@30101000 {
+ compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
+ reg = <0x00 0x30101000 0x00 0x1000>;
+ clocks = <&k3_clks 182 0>, <&k3_clks 182 3>, <&k3_clks 182 0>,
+ <&k3_clks 182 0>, <&k3_clks 182 4>, <&k3_clks 182 4>;
+ clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
+ "pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
+ phys = <&dphy0>;
+ phy-names = "dphy";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi0_port0: port@0 {
+ reg = <0>;
+ status = "disabled";
+ };
+
+ csi0_port1: port@1 {
+ reg = <1>;
+ status = "disabled";
+ };
+
+ csi0_port2: port@2 {
+ reg = <2>;
+ status = "disabled";
+ };
+
+ csi0_port3: port@3 {
+ reg = <3>;
+ status = "disabled";
+ };
+
+ csi0_port4: port@4 {
+ reg = <4>;
+ status = "disabled";
+ };
+ };
+ };
+ };
+
+ dphy0: phy@30110000 {
+ compatible = "cdns,dphy-rx";
+ reg = <0x00 0x30110000 0x00 0x1100>;
+ #phy-cells = <0>;
+ power-domains = <&k3_pds 185 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
+
};
--
2.42.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 3/9] arm64: dts: ti: Enable CSI-RX on AM62A
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
2023-11-28 10:09 ` [PATCH v3 1/9] arm64: defconfig: Enable AM62 CSI2RX Jai Luthra
2023-11-28 10:09 ` [PATCH v3 2/9] arm64: dts: ti: Enable CSI-RX on AM62 Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640 Jai Luthra
` (5 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
Add nodes for Cadence DPHY, CSI2RX and TI's pixel-grabbing wrapper.
AM62A uses a dedicated BCDMA instance for CSI-RX traffic, so enable that
as well.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 99 +++++++++++++++++++++++++++++++
1 file changed, 99 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
index 4ae7fdc5221b..ea70d78eb132 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
@@ -144,6 +144,44 @@ main_pktdma: dma-controller@485c0000 {
};
};
+ dmss_csi: bus@4e000000 {
+ compatible = "simple-bus";
+ #address-cells = <2>;
+ #size-cells = <2>;
+ dma-ranges;
+ ranges = <0x00 0x4e000000 0x00 0x4e000000 0x00 0x300000>;
+
+ ti,sci-dev-id = <198>;
+
+ inta_main_dmss_csi: interrupt-controller@4e0a0000 {
+ compatible = "ti,sci-inta";
+ reg = <0x00 0x4e0a0000 0x00 0x8000>;
+ #interrupt-cells = <0>;
+ interrupt-controller;
+ interrupt-parent = <&gic500>;
+ msi-controller;
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <200>;
+ ti,interrupt-ranges = <0 237 8>;
+ ti,unmapped-event-sources = <&main_bcdma_csi>;
+ power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
+ };
+
+ main_bcdma_csi: dma-controller@4e230000 {
+ compatible = "ti,am62a-dmss-bcdma-csirx";
+ reg = <0x00 0x4e230000 0x00 0x100>,
+ <0x00 0x4e180000 0x00 0x8000>,
+ <0x00 0x4e100000 0x00 0x10000>;
+ reg-names = "gcfg", "rchanrt", "ringrt";
+ msi-parent = <&inta_main_dmss_csi>;
+ #dma-cells = <3>;
+ ti,sci = <&dmsc>;
+ ti,sci-dev-id = <199>;
+ ti,sci-rm-range-rchan = <0x21>;
+ power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
+ };
+ };
+
dmsc: system-controller@44043000 {
compatible = "ti,k2g-sci";
reg = <0x00 0x44043000 0x00 0xfe0>;
@@ -876,4 +914,65 @@ mcasp2: audio-controller@2b20000 {
power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
+
+ ti_csi2rx0: ticsi2rx@30102000 {
+ compatible = "ti,j721e-csi2rx-shim";
+ dmas = <&main_bcdma_csi 0 0x5000 0>;
+ dma-names = "rx0";
+ reg = <0x00 0x30102000 0x00 0x1000>;
+ power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+ status = "disabled";
+
+ cdns_csi2rx0: csi-bridge@30101000 {
+ compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
+ reg = <0x00 0x30101000 0x00 0x1000>;
+ clocks = <&k3_clks 182 0>, <&k3_clks 182 3>, <&k3_clks 182 0>,
+ <&k3_clks 182 0>, <&k3_clks 182 4>, <&k3_clks 182 4>;
+ clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
+ "pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
+ phys = <&dphy0>;
+ phy-names = "dphy";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi0_port0: port@0 {
+ reg = <0>;
+ status = "disabled";
+ };
+
+ csi0_port1: port@1 {
+ reg = <1>;
+ status = "disabled";
+ };
+
+ csi0_port2: port@2 {
+ reg = <2>;
+ status = "disabled";
+ };
+
+ csi0_port3: port@3 {
+ reg = <3>;
+ status = "disabled";
+ };
+
+ csi0_port4: port@4 {
+ reg = <4>;
+ status = "disabled";
+ };
+ };
+ };
+ };
+
+ dphy0: phy@30110000 {
+ compatible = "cdns,dphy-rx";
+ reg = <0x00 0x30110000 0x00 0x1100>;
+ #phy-cells = <0>;
+ power-domains = <&k3_pds 185 TI_SCI_PD_EXCLUSIVE>;
+ status = "disabled";
+ };
};
--
2.42.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
` (2 preceding siblings ...)
2023-11-28 10:09 ` [PATCH v3 3/9] arm64: dts: ti: Enable CSI-RX on AM62A Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
2023-11-28 10:27 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 5/9] arm64: dts: ti: k3-am62x-sk: Enable camera peripherals Jai Luthra
` (4 subsequent siblings)
8 siblings, 1 reply; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
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
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 5/9] arm64: dts: ti: k3-am62x-sk: Enable camera peripherals
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
` (3 preceding siblings ...)
2023-11-28 10:09 ` [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640 Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 6/9] arm64: dts: ti: k3-am62x: Add overlays for OV5640 Jai Luthra
` (3 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
CSI cameras are controlled using I2C, on SK-AM62 and derivative boards
this is routed to I2C-2, so enable that bus.
Specific sensor connected to this bus will be described in the DT
overlay for each sensor.
Tested-by: Martyn Welch <martyn.welch@collabora.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
index 19f57ead4ebd..5bbc7e24b548 100644
--- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi
@@ -399,6 +399,13 @@ sii9022_out: endpoint {
};
};
+&main_i2c2 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_i2c2_pins_default>;
+ clock-frequency = <400000>;
+};
+
&sdhci0 {
bootph-all;
status = "okay";
--
2.42.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 6/9] arm64: dts: ti: k3-am62x: Add overlays for OV5640
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
` (4 preceding siblings ...)
2023-11-28 10:09 ` [PATCH v3 5/9] arm64: dts: ti: k3-am62x-sk: Enable camera peripherals Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 7/9] arm64: dts: ti: k3-am62a7-sk: Enable camera peripherals Jai Luthra
` (2 subsequent siblings)
8 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
Three different OV5640 modules are supported using the 15-pin FFC
connector on SK-AM62:
- 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.
These overlays can be used on other boards of the SK-AM62* family that
have a 15/22-pin FFC connector, so we name the overlays with the prefix
k3-am62x-.
Tested-by: Martyn Welch <martyn.welch@collabora.com>
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/Makefile | 19 ++++-
.../arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso | 82 ++++++++++++++++++++++
.../boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso | 82 ++++++++++++++++++++++
3 files changed, 182 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index c6c7825b4cb2..f957b5f741ff 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -32,6 +32,10 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
# Boards with AM62Px SoC
dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb
+# Common overlays for SK-AM62* family of boards
+dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-ov5640.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-tevi-ov5640.dtbo
+
# Boards with AM64x SoC
dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb
@@ -87,13 +91,26 @@ 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
+k3-am625-sk-csi2-ov5640-dtbs := k3-am625-sk.dtb \
+ k3-am62x-sk-csi2-ov5640.dtbo
+k3-am625-sk-csi2-tevi-ov5640-dtbs := k3-am625-sk.dtb \
+ k3-am62x-sk-csi2-tevi-ov5640.dtbo
+k3-am62a7-sk-csi2-ov5640-dtbs := k3-am62a7-sk.dtb \
+ k3-am62x-sk-csi2-ov5640.dtbo
+k3-am62a7-sk-csi2-tevi-ov5640-dtbs := k3-am62a7-sk.dtb \
+ k3-am62x-sk-csi2-tevi-ov5640.dtbo
dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
- k3-am625-beagleplay-csi2-tevi-ov5640.dtb
+ k3-am625-beagleplay-csi2-tevi-ov5640.dtb \
+ k3-am625-sk-csi2-ov5640.dtb \
+ k3-am625-sk-csi2-tevi-ov5640.dtb \
+ k3-am62a7-sk-csi2-ov5640.dtb \
+ k3-am62a7-sk-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-am62a7-sk += -@
DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@
DTC_FLAGS_k3-j721e-common-proc-board += -@
DTC_FLAGS_k3-j721s2-common-proc-board += -@
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso b/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso
new file mode 100644
index 000000000000..1f3aebbc8df8
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso
@@ -0,0 +1,82 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * ALINX AN5641 & Digilent PCam 5C - OV5640 camera module
+ * Copyright (C) 2022 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_i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ i2c-switch@71 {
+ compatible = "nxp,pca9543";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x71>;
+
+ /* CAM port */
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ ov5640: camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+
+ clocks = <&clk_ov5640_fixed>;
+ clock-names = "xclk";
+ powerdown-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;
+
+ 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>;
+ };
+ };
+ };
+};
+
+&ti_csi2rx0 {
+ status = "okay";
+};
+
+&dphy0 {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso b/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso
new file mode 100644
index 000000000000..6a367f13be63
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso
@@ -0,0 +1,82 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Technexion TEVI-OV5640-*-RPI - OV5640 camera module
+ * Copyright (C) 2022 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_i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ i2c-switch@71 {
+ compatible = "nxp,pca9543";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x71>;
+
+ /* CAM port */
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ ov5640: camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+
+ clocks = <&clk_ov5640_fixed>;
+ clock-names = "xclk";
+ powerdown-gpios = <&exp1 13 GPIO_ACTIVE_LOW>;
+
+ 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>;
+ };
+ };
+ };
+};
+
+&ti_csi2rx0 {
+ status = "okay";
+};
+
+&dphy0 {
+ status = "okay";
+};
--
2.42.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 7/9] arm64: dts: ti: k3-am62a7-sk: Enable camera peripherals
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
` (5 preceding siblings ...)
2023-11-28 10:09 ` [PATCH v3 6/9] arm64: dts: ti: k3-am62x: Add overlays for OV5640 Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 8/9] arm64: dts: ti: k3-am62x: Add overlay for IMX219 Jai Luthra
2023-11-28 10:09 ` [PATCH v3 9/9] arm64: dts: ti: Use OF_ALL_DTBS for combined blobs Jai Luthra
8 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
Enable I2C-2 as it is used to control CSI based sensors. Also enable
IO-EXP-2 as it controls the mux between different CSI-2 connectors.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
index 8f64ac2c7568..eb2f45a6ba23 100644
--- a/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62a7-sk.dts
@@ -434,6 +434,33 @@ tlv320aic3106: audio-codec@1b {
DRVDD-supply = <&vcc_3v3_sys>;
DVDD-supply = <&buck5>;
};
+
+ exp2: gpio@23 {
+ compatible = "ti,tca6424";
+ reg = <0x23>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ gpio-line-names = "", "",
+ "", "",
+ "", "",
+ "", "",
+ "WL_LT_EN", "CSI_RSTz",
+ "", "",
+ "", "",
+ "", "",
+ "SPI0_FET_SEL", "SPI0_FET_OE",
+ "RGMII2_BRD_CONN_DET", "CSI_SEL2",
+ "CSI_EN", "AUTO_100M_1000M_CONFIG",
+ "CSI_VLDO_SEL", "SoC_WLAN_SDIO_RST";
+ };
+};
+
+&main_i2c2 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&main_i2c2_pins_default>;
+ clock-frequency = <400000>;
};
&sdhci1 {
--
2.42.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 8/9] arm64: dts: ti: k3-am62x: Add overlay for IMX219
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
` (6 preceding siblings ...)
2023-11-28 10:09 ` [PATCH v3 7/9] arm64: dts: ti: k3-am62a7-sk: Enable camera peripherals Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 9/9] arm64: dts: ti: Use OF_ALL_DTBS for combined blobs Jai Luthra
8 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
RPi v2 Camera (IMX219) is an 8MP camera that can be used with SK-AM62A
through the 22-pin CSI-RX connector.
Same overlay can be used across SK-AM62* boards that have a 15/22-pin
FFC connector, so we name it with the k3-am62x- prefix.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/Makefile | 7 ++
.../arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso | 84 ++++++++++++++++++++++
2 files changed, 91 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index f957b5f741ff..fd9166497c32 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -35,6 +35,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb
# Common overlays for SK-AM62* family of boards
dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-ov5640.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-tevi-ov5640.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-imx219.dtbo
# Boards with AM64x SoC
dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb
@@ -91,18 +92,24 @@ 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
+k3-am625-sk-csi2-imx219-dtbs := k3-am625-sk.dtb \
+ k3-am62x-sk-csi2-imx219.dtbo
k3-am625-sk-csi2-ov5640-dtbs := k3-am625-sk.dtb \
k3-am62x-sk-csi2-ov5640.dtbo
k3-am625-sk-csi2-tevi-ov5640-dtbs := k3-am625-sk.dtb \
k3-am62x-sk-csi2-tevi-ov5640.dtbo
+k3-am62a7-sk-csi2-imx219-dtbs := k3-am62a7-sk.dtb \
+ k3-am62x-sk-csi2-imx219.dtbo
k3-am62a7-sk-csi2-ov5640-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-ov5640.dtbo
k3-am62a7-sk-csi2-tevi-ov5640-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-tevi-ov5640.dtbo
dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-am625-beagleplay-csi2-tevi-ov5640.dtb \
+ k3-am625-sk-csi2-imx219.dtb \
k3-am625-sk-csi2-ov5640.dtb \
k3-am625-sk-csi2-tevi-ov5640.dtb \
+ k3-am62a7-sk-csi2-imx219.dtb \
k3-am62a7-sk-csi2-ov5640.dtb \
k3-am62a7-sk-csi2-tevi-ov5640.dtb
diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso b/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso
new file mode 100644
index 000000000000..6f4cd73c2f43
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso
@@ -0,0 +1,84 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * IMX219 (RPi v2) Camera Module
+ * Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ clk_imx219_fixed: imx219-xclk {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ };
+};
+
+&main_i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ i2c-switch@71 {
+ compatible = "nxp,pca9543";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x71>;
+
+ /* CAM port */
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ ov5640: camera@10 {
+ compatible = "sony,imx219";
+ reg = <0x10>;
+
+ clocks = <&clk_imx219_fixed>;
+ clock-names = "xclk";
+
+ reset-gpios = <&exp1 13 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam0: endpoint {
+ remote-endpoint = <&csi2rx0_in_sensor>;
+ link-frequencies = /bits/ 64 <456000000>;
+ 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>;
+ };
+ };
+ };
+};
+
+&ti_csi2rx0 {
+ status = "okay";
+};
+
+&dphy0 {
+ status = "okay";
+};
--
2.42.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v3 9/9] arm64: dts: ti: Use OF_ALL_DTBS for combined blobs
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
` (7 preceding siblings ...)
2023-11-28 10:09 ` [PATCH v3 8/9] arm64: dts: ti: k3-am62x: Add overlay for IMX219 Jai Luthra
@ 2023-11-28 10:09 ` Jai Luthra
8 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:09 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer, Jai Luthra
Combined dtb builds are only useful for making sure that the overlay
applies cleanly on the base dtb.
So we move all such combined blobs under a `dtb- +=` section that is
only built when OF_ALL_DTBS config is enabled.
Signed-off-by: Jai Luthra <j-luthra@ti.com>
---
arch/arm64/boot/dts/ti/Makefile | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index fd9166497c32..5ef49b02c71f 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -9,8 +9,6 @@
# alphabetically.
# Boards with AM62x SoC
-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
@@ -23,8 +21,6 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dahlia.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-yavia.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb
-dtb-$(CONFIG_ARCH_K3) += k3-am625-sk-hdmi-audio.dtb
-dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk-hdmi-audio.dtb
# Boards with AM62Ax SoC
dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
@@ -36,20 +32,15 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-ov5640.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-tevi-ov5640.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-imx219.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-hdmi-audio.dtbo
# Boards with AM64x SoC
dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb
-
-k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
- k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
-k3-am642-tqma64xxl-mbax4xxl-wlan-dtbs := \
- k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-wlan.dtbo
-
-dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl-sdcard.dtb
-dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl-wlan.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am64-tqma64xxl-mbax4xxl-wlan.dtbo
# Boards with AM65x SoC
k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb k3-am654-base-board-rocktech-rk101-panel.dtbo
@@ -98,26 +89,36 @@ k3-am625-sk-csi2-ov5640-dtbs := k3-am625-sk.dtb \
k3-am62x-sk-csi2-ov5640.dtbo
k3-am625-sk-csi2-tevi-ov5640-dtbs := k3-am625-sk.dtb \
k3-am62x-sk-csi2-tevi-ov5640.dtbo
+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
k3-am62a7-sk-csi2-imx219-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-imx219.dtbo
k3-am62a7-sk-csi2-ov5640-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-ov5640.dtbo
k3-am62a7-sk-csi2-tevi-ov5640-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-tevi-ov5640.dtbo
+k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
+ k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
+k3-am642-tqma64xxl-mbax4xxl-wlan-dtbs := \
+ k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-wlan.dtbo
dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-am625-beagleplay-csi2-tevi-ov5640.dtb \
k3-am625-sk-csi2-imx219.dtb \
k3-am625-sk-csi2-ov5640.dtb \
k3-am625-sk-csi2-tevi-ov5640.dtb \
+ k3-am625-sk-hdmi-audio.dtb \
+ k3-am62-lp-sk-hdmi-audio.dtb \
k3-am62a7-sk-csi2-imx219.dtb \
k3-am62a7-sk-csi2-ov5640.dtb \
- k3-am62a7-sk-csi2-tevi-ov5640.dtb
+ k3-am642-tqma64xxl-mbax4xxl-sdcard.dtb \
+ k3-am642-tqma64xxl-mbax4xxl-wlan.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-am62a7-sk += -@
+DTC_FLAGS_k3-am642-tqma64xxl-mbax4xxl += -@
DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@
DTC_FLAGS_k3-j721e-common-proc-board += -@
DTC_FLAGS_k3-j721s2-common-proc-board += -@
--
2.42.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640
2023-11-28 10:09 ` [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640 Jai Luthra
@ 2023-11-28 10:27 ` Jai Luthra
2023-11-28 14:33 ` Krzysztof Kozlowski
0 siblings, 1 reply; 14+ messages in thread
From: Jai Luthra @ 2023-11-28 10:27 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Nishanth Menon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer
[-- Attachment #1: Type: text/plain, Size: 1016 bytes --]
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640
2023-11-28 10:27 ` Jai Luthra
@ 2023-11-28 14:33 ` Krzysztof Kozlowski
2023-12-01 6:18 ` Nishanth Menon
0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-11-28 14:33 UTC (permalink / raw)
To: Jai Luthra, Catalin Marinas, Will Deacon, Nishanth Menon,
Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer
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
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640
2023-11-28 14:33 ` Krzysztof Kozlowski
@ 2023-12-01 6:18 ` Nishanth Menon
2023-12-01 9:37 ` Jai Luthra
0 siblings, 1 reply; 14+ messages in thread
From: Nishanth Menon @ 2023-12-01 6:18 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Jai Luthra, Catalin Marinas, Will Deacon, Vignesh Raghavendra,
Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-arm-kernel, linux-kernel, devicetree, Aradhya Bhatia,
Devarsh Thakkar, Vaishnav Achath, Julien Massot, Martyn Welch,
Matthias Schiffer
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
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640
2023-12-01 6:18 ` Nishanth Menon
@ 2023-12-01 9:37 ` Jai Luthra
0 siblings, 0 replies; 14+ messages in thread
From: Jai Luthra @ 2023-12-01 9:37 UTC (permalink / raw)
To: Nishanth Menon
Cc: Krzysztof Kozlowski, Catalin Marinas, Will Deacon,
Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, linux-kernel,
devicetree, Aradhya Bhatia, Devarsh Thakkar, Vaishnav Achath,
Julien Massot, Martyn Welch, Matthias Schiffer
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
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-12-01 9:38 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-28 10:09 [PATCH v3 0/9] arm64: dts: ti: Enable CSI cameras for AM62 family Jai Luthra
2023-11-28 10:09 ` [PATCH v3 1/9] arm64: defconfig: Enable AM62 CSI2RX Jai Luthra
2023-11-28 10:09 ` [PATCH v3 2/9] arm64: dts: ti: Enable CSI-RX on AM62 Jai Luthra
2023-11-28 10:09 ` [PATCH v3 3/9] arm64: dts: ti: Enable CSI-RX on AM62A Jai Luthra
2023-11-28 10:09 ` [PATCH v3 4/9] arm64: dts: ti: k3-am625-beagleplay: Add overlays for OV5640 Jai Luthra
2023-11-28 10:27 ` Jai Luthra
2023-11-28 14:33 ` Krzysztof Kozlowski
2023-12-01 6:18 ` Nishanth Menon
2023-12-01 9:37 ` Jai Luthra
2023-11-28 10:09 ` [PATCH v3 5/9] arm64: dts: ti: k3-am62x-sk: Enable camera peripherals Jai Luthra
2023-11-28 10:09 ` [PATCH v3 6/9] arm64: dts: ti: k3-am62x: Add overlays for OV5640 Jai Luthra
2023-11-28 10:09 ` [PATCH v3 7/9] arm64: dts: ti: k3-am62a7-sk: Enable camera peripherals Jai Luthra
2023-11-28 10:09 ` [PATCH v3 8/9] arm64: dts: ti: k3-am62x: Add overlay for IMX219 Jai Luthra
2023-11-28 10:09 ` [PATCH v3 9/9] arm64: dts: ti: Use OF_ALL_DTBS for combined blobs Jai Luthra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).