* [PATCH v2 1/4] arm64: dts: ti: j722s-evm: Add DT nodes for power regulators
2025-05-08 15:51 [PATCH v2 0/4] Add overlays for IMX219 and OV5640 on J722S Yemike Abhilash Chandra
@ 2025-05-08 15:51 ` Yemike Abhilash Chandra
2025-05-09 7:44 ` Kumar, Udit
2025-05-08 15:51 ` [PATCH v2 2/4] arm64: dts: ti: j722s-evm: Add MUX to control CSI2RX Yemike Abhilash Chandra
` (2 subsequent siblings)
3 siblings, 1 reply; 11+ messages in thread
From: Yemike Abhilash Chandra @ 2025-05-08 15:51 UTC (permalink / raw)
To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt
Cc: vaishnav.a, u-kumar1, r-donadkar, devicetree, linux-arm-kernel,
jai.luthra, linux-kernel, y-abhilashchandra
Add device tree nodes for two regulators on the J722S-EVM. VSYS_3V3 is the
output of LM5141-Q1, and it serves as an input to TPS22990 which produces
VSYS_3V3_EXP [1]. VSYS_3V3_EXP serves as vin-supply to CSI RPI Connectors.
Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
[1]: https://www.ti.com/lit/zip/sprr495
---
arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
index 34b9d190800e..0f18fe710929 100644
--- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
@@ -141,6 +141,17 @@ vsys_5v0: regulator-vsys5v0 {
regulator-boot-on;
};
+ vsys_3v3: regulator-vsys3v3 {
+ /* output of LM5141-Q1 */
+ compatible = "regulator-fixed";
+ regulator-name = "vsys_3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vmain_pd>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
vdd_mmc1: regulator-mmc1 {
/* TPS22918DBVR */
compatible = "regulator-fixed";
@@ -153,6 +164,17 @@ vdd_mmc1: regulator-mmc1 {
bootph-all;
};
+ vcc_3v3_exp: regulator-TPS22990 {
+ /* output of TPS22990 */
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_3v3_exp";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vsys_3v3>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
vdd_sd_dv: regulator-TLV71033 {
compatible = "regulator-gpio";
regulator-name = "tlv71033";
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH v2 1/4] arm64: dts: ti: j722s-evm: Add DT nodes for power regulators
2025-05-08 15:51 ` [PATCH v2 1/4] arm64: dts: ti: j722s-evm: Add DT nodes for power regulators Yemike Abhilash Chandra
@ 2025-05-09 7:44 ` Kumar, Udit
0 siblings, 0 replies; 11+ messages in thread
From: Kumar, Udit @ 2025-05-09 7:44 UTC (permalink / raw)
To: Yemike Abhilash Chandra, nm, vigneshr, kristo, robh, krzk+dt,
conor+dt
Cc: vaishnav.a, r-donadkar, devicetree, linux-arm-kernel, jai.luthra,
linux-kernel, u-kumar1
On 5/8/2025 9:21 PM, Yemike Abhilash Chandra wrote:
> Add device tree nodes for two regulators on the J722S-EVM. VSYS_3V3 is the
> output of LM5141-Q1, and it serves as an input to TPS22990 which produces
> VSYS_3V3_EXP [1]. VSYS_3V3_EXP serves as vin-supply to CSI RPI Connectors.
>
> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
>
> [1]: https://www.ti.com/lit/zip/sprr495
> ---
> arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
> index 34b9d190800e..0f18fe710929 100644
> --- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
> @@ -141,6 +141,17 @@ vsys_5v0: regulator-vsys5v0 {
> regulator-boot-on;
> };
>
> + vsys_3v3: regulator-vsys3v3 {
> + /* output of LM5141-Q1 */
> + compatible = "regulator-fixed";
> + regulator-name = "vsys_3v3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + vin-supply = <&vmain_pd>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> vdd_mmc1: regulator-mmc1 {
> /* TPS22918DBVR */
> compatible = "regulator-fixed";
> @@ -153,6 +164,17 @@ vdd_mmc1: regulator-mmc1 {
> bootph-all;
> };
>
> + vcc_3v3_exp: regulator-TPS22990 {
Please align this name with commit message
with change of vcc_3v3_exp to vsys_3v3_exp
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
> + /* output of TPS22990 */
> + compatible = "regulator-fixed";
> + regulator-name = "vcc_3v3_exp";
This name as well, please to vss_3v3_exp
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + vin-supply = <&vsys_3v3>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> vdd_sd_dv: regulator-TLV71033 {
> compatible = "regulator-gpio";
> regulator-name = "tlv71033";
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 2/4] arm64: dts: ti: j722s-evm: Add MUX to control CSI2RX
2025-05-08 15:51 [PATCH v2 0/4] Add overlays for IMX219 and OV5640 on J722S Yemike Abhilash Chandra
2025-05-08 15:51 ` [PATCH v2 1/4] arm64: dts: ti: j722s-evm: Add DT nodes for power regulators Yemike Abhilash Chandra
@ 2025-05-08 15:51 ` Yemike Abhilash Chandra
2025-05-09 7:48 ` Kumar, Udit
2025-05-08 15:51 ` [PATCH v2 3/4] arm64: dts: ti: k3-j722s-evm: Add overlay for quad IMX219 Yemike Abhilash Chandra
2025-05-08 15:51 ` [PATCH v2 4/4] arm64: dts: ti: k3-j722s-evm: Add overlay for TEVI OV5640 Yemike Abhilash Chandra
3 siblings, 1 reply; 11+ messages in thread
From: Yemike Abhilash Chandra @ 2025-05-08 15:51 UTC (permalink / raw)
To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt
Cc: vaishnav.a, u-kumar1, r-donadkar, devicetree, linux-arm-kernel,
jai.luthra, linux-kernel, y-abhilashchandra
J722S EVM has the CSI2RX routed to a MIPI CSI connector and to 22-pin RPi
camera connector through an analog mux with GPIO control, model that so
that an overlay can control the mux state according to connected cameras.
Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
---
arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
index 0f18fe710929..43256c71a19c 100644
--- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
@@ -266,6 +266,20 @@ transceiver2: can-phy2 {
max-bitrate = <5000000>;
standby-gpios = <&exp1 17 GPIO_ACTIVE_HIGH>;
};
+
+ csi01_mux: mux-controller-0 {
+ compatible = "gpio-mux";
+ #mux-state-cells = <1>;
+ mux-gpios = <&exp1 6 GPIO_ACTIVE_HIGH>;
+ idle-state = <0>;
+ };
+
+ csi23_mux: mux-controller-1 {
+ compatible = "gpio-mux";
+ #mux-state-cells = <1>;
+ mux-gpios = <&exp1 7 GPIO_ACTIVE_HIGH>;
+ idle-state = <0>;
+ };
};
&main_pmx0 {
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH v2 2/4] arm64: dts: ti: j722s-evm: Add MUX to control CSI2RX
2025-05-08 15:51 ` [PATCH v2 2/4] arm64: dts: ti: j722s-evm: Add MUX to control CSI2RX Yemike Abhilash Chandra
@ 2025-05-09 7:48 ` Kumar, Udit
0 siblings, 0 replies; 11+ messages in thread
From: Kumar, Udit @ 2025-05-09 7:48 UTC (permalink / raw)
To: Yemike Abhilash Chandra, nm, vigneshr, kristo, robh, krzk+dt,
conor+dt
Cc: vaishnav.a, r-donadkar, devicetree, linux-arm-kernel, jai.luthra,
linux-kernel, u-kumar1
On 5/8/2025 9:21 PM, Yemike Abhilash Chandra wrote:
> J722S EVM has the CSI2RX routed to a MIPI CSI connector and to 22-pin RPi
> camera connector through an analog mux with GPIO control, model that so
> that an overlay can control the mux state according to connected cameras.
In case you are another version,
consider to change in commit message "model that so that" to "model mux
so that".
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
>
> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
> ---
> arch/arm64/boot/dts/ti/k3-j722s-evm.dts | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
> index 0f18fe710929..43256c71a19c 100644
> --- a/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-j722s-evm.dts
> @@ -266,6 +266,20 @@ transceiver2: can-phy2 {
> max-bitrate = <5000000>;
> standby-gpios = <&exp1 17 GPIO_ACTIVE_HIGH>;
> };
> +
> + csi01_mux: mux-controller-0 {
> + compatible = "gpio-mux";
> + #mux-state-cells = <1>;
> + mux-gpios = <&exp1 6 GPIO_ACTIVE_HIGH>;
> + idle-state = <0>;
> + };
> +
> + csi23_mux: mux-controller-1 {
> + compatible = "gpio-mux";
> + #mux-state-cells = <1>;
> + mux-gpios = <&exp1 7 GPIO_ACTIVE_HIGH>;
> + idle-state = <0>;
> + };
> };
>
> &main_pmx0 {
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 3/4] arm64: dts: ti: k3-j722s-evm: Add overlay for quad IMX219
2025-05-08 15:51 [PATCH v2 0/4] Add overlays for IMX219 and OV5640 on J722S Yemike Abhilash Chandra
2025-05-08 15:51 ` [PATCH v2 1/4] arm64: dts: ti: j722s-evm: Add DT nodes for power regulators Yemike Abhilash Chandra
2025-05-08 15:51 ` [PATCH v2 2/4] arm64: dts: ti: j722s-evm: Add MUX to control CSI2RX Yemike Abhilash Chandra
@ 2025-05-08 15:51 ` Yemike Abhilash Chandra
2025-05-09 2:22 ` Nishanth Menon
2025-05-09 7:50 ` Kumar, Udit
2025-05-08 15:51 ` [PATCH v2 4/4] arm64: dts: ti: k3-j722s-evm: Add overlay for TEVI OV5640 Yemike Abhilash Chandra
3 siblings, 2 replies; 11+ messages in thread
From: Yemike Abhilash Chandra @ 2025-05-08 15:51 UTC (permalink / raw)
To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt
Cc: vaishnav.a, u-kumar1, r-donadkar, devicetree, linux-arm-kernel,
jai.luthra, linux-kernel, y-abhilashchandra
From: Vaishnav Achath <vaishnav.a@ti.com>
RPi v2 Camera (IMX219) is an 8MP camera that can be used with J722S EVM
through the 22-pin CSI-RX connector. Add a reference overlay for quad
IMX219 RPI camera v2 modules on J722S EVM
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
---
arch/arm64/boot/dts/ti/Makefile | 5 +
...k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso | 329 ++++++++++++++++++
2 files changed, 334 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 3c3aa09a94b6..b317eaff64cc 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -132,6 +132,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-pcie1-ep.dtbo
# Boards with J722s SoC
dtb-$(CONFIG_ARCH_K3) += k3-am67a-beagley-ai.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb
+dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
# Boards with J784s4 SoC
dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
@@ -227,6 +228,8 @@ k3-j721s2-evm-pcie1-ep-dtbs := k3-j721s2-common-proc-board.dtb \
k3-j721s2-evm-pcie1-ep.dtbo
k3-j742s2-evm-usb0-type-a-dtbs := k3-j742s2-evm.dtb \
k3-j784s4-j742s2-evm-usb0-type-a.dtbo
+k3-j722s-evm-csi2-quad-rpi-cam-imx219-dtbs := k3-j722s-evm.dtb \
+ k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
k3-j784s4-evm-pcie0-pcie1-ep-dtbs := k3-j784s4-evm.dtb \
k3-j784s4-evm-pcie0-pcie1-ep.dtbo
k3-j784s4-evm-quad-port-eth-exp1-dtbs := k3-j784s4-evm.dtb \
@@ -264,6 +267,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-j721e-sk-csi2-dual-imx219.dtb \
k3-j721s2-evm-pcie1-ep.dtb \
k3-j742s2-evm-usb0-type-a.dtb \
+ k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtb \
k3-j784s4-evm-pcie0-pcie1-ep.dtb \
k3-j784s4-evm-quad-port-eth-exp1.dtb \
k3-j784s4-evm-usb0-type-a.dtb \
@@ -288,5 +292,6 @@ DTC_FLAGS_k3-j721e-common-proc-board += -@
DTC_FLAGS_k3-j721e-evm-pcie0-ep += -@
DTC_FLAGS_k3-j721e-sk += -@
DTC_FLAGS_k3-j721s2-common-proc-board += -@
+DTC_FLAGS_k3-j722s-evm += -@
DTC_FLAGS_k3-j784s4-evm += -@
DTC_FLAGS_k3-j742s2-evm += -@
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso
new file mode 100644
index 000000000000..5e5f08dd2ba9
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso
@@ -0,0 +1,329 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * DT Overlay for RPi Camera V2.1 on J722S-EVM board.
+ *
+ * Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
+ *
+ * Schematics: https://datasheets.raspberrypi.com/camera/camera-v2-schematics.pdf
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "k3-pinctrl.h"
+
+&main_pmx0 {
+ cam0_reset_pins_default: cam0-default-reset-pins {
+ pinctrl-single,pins = <
+ J722S_IOPAD(0x03c, PIN_OUTPUT, 7) /* (R22) GPIO0_15 */
+ >;
+ };
+
+ cam1_reset_pins_default: cam1-default-reset-pins {
+ pinctrl-single,pins = <
+ J722S_IOPAD(0x044, PIN_OUTPUT, 7) /* (R26) GPIO0_17 */
+ >;
+ };
+
+ cam2_reset_pins_default: cam2-default-reset-pins {
+ pinctrl-single,pins = <
+ J722S_IOPAD(0x04c, PIN_OUTPUT, 7) /* (T25) GPIO0_19 */
+ >;
+ };
+
+ cam3_reset_pins_default: cam3-default-reset-pins {
+ pinctrl-single,pins = <
+ J722S_IOPAD(0x054, PIN_OUTPUT, 7) /* (T21) GPIO0_21 */
+ >;
+ };
+};
+
+&{/} {
+ clk_imx219_fixed: clock-24000000 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ };
+
+ reg_2p8v: regulator-2p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "2P8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ vin-supply = <&vcc_3v3_exp>;
+ regulator-always-on;
+ };
+
+ reg_1p8v: regulator-1p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "1P8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&vcc_3v3_exp>;
+ regulator-always-on;
+ };
+
+ reg_1p2v: regulator-1p2v {
+ compatible = "regulator-fixed";
+ regulator-name = "1P2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ vin-supply = <&vcc_3v3_exp>;
+ regulator-always-on;
+ };
+};
+
+&csi01_mux {
+ idle-state = <1>;
+};
+
+&csi23_mux {
+ idle-state = <1>;
+};
+
+&pca9543_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* CAM0 I2C */
+ i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ imx219_0: sensor@10 {
+ compatible = "sony,imx219";
+ reg = <0x10>;
+
+ clocks = <&clk_imx219_fixed>;
+
+ VANA-supply = <®_2p8v>;
+ VDIG-supply = <®_1p8v>;
+ VDDL-supply = <®_1p2v>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam0_reset_pins_default>;
+
+ reset-gpios = <&main_gpio0 15 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam0: endpoint {
+ remote-endpoint = <&csi2rx0_in_sensor>;
+ link-frequencies = /bits/ 64 <456000000>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+ };
+
+ /* CAM1 I2C */
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ imx219_1: sensor@10 {
+ compatible = "sony,imx219";
+ reg = <0x10>;
+
+ clocks = <&clk_imx219_fixed>;
+
+ VANA-supply = <®_2p8v>;
+ VDIG-supply = <®_1p8v>;
+ VDDL-supply = <®_1p2v>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam1_reset_pins_default>;
+
+ reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam1: endpoint {
+ remote-endpoint = <&csi2rx1_in_sensor>;
+ link-frequencies = /bits/ 64 <456000000>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+ };
+};
+
+&pca9543_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* CAM0 I2C */
+ i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ imx219_2: sensor@10 {
+ compatible = "sony,imx219";
+ reg = <0x10>;
+
+ clocks = <&clk_imx219_fixed>;
+
+ VANA-supply = <®_2p8v>;
+ VDIG-supply = <®_1p8v>;
+ VDDL-supply = <®_1p2v>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam2_reset_pins_default>;
+
+ reset-gpios = <&main_gpio0 19 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam2: endpoint {
+ remote-endpoint = <&csi2rx2_in_sensor>;
+ link-frequencies = /bits/ 64 <456000000>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+ };
+
+ /* CAM1 I2C */
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ imx219_3: sensor@10 {
+ compatible = "sony,imx219";
+ reg = <0x10>;
+
+ clocks = <&clk_imx219_fixed>;
+
+ VANA-supply = <®_2p8v>;
+ VDIG-supply = <®_1p8v>;
+ VDDL-supply = <®_1p2v>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam3_reset_pins_default>;
+
+ reset-gpios = <&main_gpio0 21 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam3: endpoint {
+ remote-endpoint = <&csi2rx3_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>;
+ };
+ };
+ };
+};
+
+&cdns_csi2rx1 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi1_port0: port@0 {
+ reg = <0>;
+ status = "okay";
+
+ csi2rx1_in_sensor: endpoint {
+ remote-endpoint = <&csi2_cam1>;
+ bus-type = <4>; /* CSI2 DPHY */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&cdns_csi2rx2 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi2_port0: port@0 {
+ reg = <0>;
+ status = "okay";
+
+ csi2rx2_in_sensor: endpoint {
+ remote-endpoint = <&csi2_cam2>;
+ bus-type = <4>; /* CSI2 DPHY */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&cdns_csi2rx3 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi3_port0: port@0 {
+ reg = <0>;
+ status = "okay";
+
+ csi2rx3_in_sensor: endpoint {
+ remote-endpoint = <&csi2_cam3>;
+ bus-type = <4>; /* CSI2 DPHY */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&ti_csi2rx0 {
+ status = "okay";
+};
+
+&dphy0 {
+ status = "okay";
+};
+
+&ti_csi2rx1 {
+ status = "okay";
+};
+
+&dphy1 {
+ status = "okay";
+};
+
+&ti_csi2rx2 {
+ status = "okay";
+};
+
+&dphy2 {
+ status = "okay";
+};
+
+&ti_csi2rx3 {
+ status = "okay";
+};
+
+&dphy3 {
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH v2 3/4] arm64: dts: ti: k3-j722s-evm: Add overlay for quad IMX219
2025-05-08 15:51 ` [PATCH v2 3/4] arm64: dts: ti: k3-j722s-evm: Add overlay for quad IMX219 Yemike Abhilash Chandra
@ 2025-05-09 2:22 ` Nishanth Menon
2025-05-09 7:50 ` Kumar, Udit
1 sibling, 0 replies; 11+ messages in thread
From: Nishanth Menon @ 2025-05-09 2:22 UTC (permalink / raw)
To: Yemike Abhilash Chandra
Cc: vigneshr, kristo, robh, krzk+dt, conor+dt, vaishnav.a, u-kumar1,
r-donadkar, devicetree, linux-arm-kernel, jai.luthra,
linux-kernel
On 21:21-20250508, Yemike Abhilash Chandra wrote:
> From: Vaishnav Achath <vaishnav.a@ti.com>
>
> RPi v2 Camera (IMX219) is an 8MP camera that can be used with J722S EVM
> through the 22-pin CSI-RX connector. Add a reference overlay for quad
> IMX219 RPI camera v2 modules on J722S EVM
>
> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
> ---
> arch/arm64/boot/dts/ti/Makefile | 5 +
> ...k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso | 329 ++++++++++++++++++
> 2 files changed, 334 insertions(+)
> create mode 100644 arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso
>
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 3c3aa09a94b6..b317eaff64cc 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -132,6 +132,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-pcie1-ep.dtbo
> # Boards with J722s SoC
> dtb-$(CONFIG_ARCH_K3) += k3-am67a-beagley-ai.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb
> +dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
>
> # Boards with J784s4 SoC
> dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
> @@ -227,6 +228,8 @@ k3-j721s2-evm-pcie1-ep-dtbs := k3-j721s2-common-proc-board.dtb \
> k3-j721s2-evm-pcie1-ep.dtbo
> k3-j742s2-evm-usb0-type-a-dtbs := k3-j742s2-evm.dtb \
> k3-j784s4-j742s2-evm-usb0-type-a.dtbo
> +k3-j722s-evm-csi2-quad-rpi-cam-imx219-dtbs := k3-j722s-evm.dtb \
> + k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
I should have caught this earlier.. but anyway.. i missed.. but:
Here and..
> k3-j784s4-evm-pcie0-pcie1-ep-dtbs := k3-j784s4-evm.dtb \
> k3-j784s4-evm-pcie0-pcie1-ep.dtbo
> k3-j784s4-evm-quad-port-eth-exp1-dtbs := k3-j784s4-evm.dtb \
> @@ -264,6 +267,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
> k3-j721e-sk-csi2-dual-imx219.dtb \
> k3-j721s2-evm-pcie1-ep.dtb \
> k3-j742s2-evm-usb0-type-a.dtb \
> + k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtb \
Here..
We have kept this alpha sorted so far. Please stick with the
convention - keeps us all sane.
> k3-j784s4-evm-pcie0-pcie1-ep.dtb \
> k3-j784s4-evm-quad-port-eth-exp1.dtb \
> k3-j784s4-evm-usb0-type-a.dtb \
> @@ -288,5 +292,6 @@ DTC_FLAGS_k3-j721e-common-proc-board += -@
> DTC_FLAGS_k3-j721e-evm-pcie0-ep += -@
> DTC_FLAGS_k3-j721e-sk += -@
> DTC_FLAGS_k3-j721s2-common-proc-board += -@
> +DTC_FLAGS_k3-j722s-evm += -@
I think you got this one fine.
> DTC_FLAGS_k3-j784s4-evm += -@
> DTC_FLAGS_k3-j742s2-evm += -@
I know this is an aberration.. but anyways.. just one off..
> diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso
> new file mode 100644
> index 000000000000..5e5f08dd2ba9
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso
> @@ -0,0 +1,329 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +/*
> + * DT Overlay for RPi Camera V2.1 on J722S-EVM board.
> + *
> + * Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
> + *
> + * Schematics: https://datasheets.raspberrypi.com/camera/camera-v2-schematics.pdf
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include "k3-pinctrl.h"
> +
> +&main_pmx0 {
> + cam0_reset_pins_default: cam0-default-reset-pins {
> + pinctrl-single,pins = <
> + J722S_IOPAD(0x03c, PIN_OUTPUT, 7) /* (R22) GPIO0_15 */
> + >;
> + };
> +
> + cam1_reset_pins_default: cam1-default-reset-pins {
> + pinctrl-single,pins = <
> + J722S_IOPAD(0x044, PIN_OUTPUT, 7) /* (R26) GPIO0_17 */
> + >;
> + };
> +
> + cam2_reset_pins_default: cam2-default-reset-pins {
> + pinctrl-single,pins = <
> + J722S_IOPAD(0x04c, PIN_OUTPUT, 7) /* (T25) GPIO0_19 */
> + >;
> + };
> +
> + cam3_reset_pins_default: cam3-default-reset-pins {
> + pinctrl-single,pins = <
> + J722S_IOPAD(0x054, PIN_OUTPUT, 7) /* (T21) GPIO0_21 */
> + >;
> + };
> +};
> +
> +&{/} {
> + clk_imx219_fixed: clock-24000000 {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <24000000>;
> + };
> +
> + reg_2p8v: regulator-2p8v {
> + compatible = "regulator-fixed";
> + regulator-name = "2P8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + vin-supply = <&vcc_3v3_exp>;
> + regulator-always-on;
> + };
> +
> + reg_1p8v: regulator-1p8v {
> + compatible = "regulator-fixed";
> + regulator-name = "1P8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + vin-supply = <&vcc_3v3_exp>;
> + regulator-always-on;
> + };
> +
> + reg_1p2v: regulator-1p2v {
> + compatible = "regulator-fixed";
> + regulator-name = "1P2V";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + vin-supply = <&vcc_3v3_exp>;
> + regulator-always-on;
> + };
> +};
> +
> +&csi01_mux {
> + idle-state = <1>;
> +};
> +
> +&csi23_mux {
> + idle-state = <1>;
> +};
> +
> +&pca9543_0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* CAM0 I2C */
> + i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0>;
> +
> + imx219_0: sensor@10 {
> + compatible = "sony,imx219";
> + reg = <0x10>;
> +
> + clocks = <&clk_imx219_fixed>;
> +
> + VANA-supply = <®_2p8v>;
> + VDIG-supply = <®_1p8v>;
> + VDDL-supply = <®_1p2v>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&cam0_reset_pins_default>;
> +
> + reset-gpios = <&main_gpio0 15 GPIO_ACTIVE_HIGH>;
> +
> + port {
> + csi2_cam0: endpoint {
> + remote-endpoint = <&csi2rx0_in_sensor>;
> + link-frequencies = /bits/ 64 <456000000>;
> + clock-lanes = <0>;
> + data-lanes = <1 2>;
> + };
> + };
> + };
> + };
> +
> + /* CAM1 I2C */
> + i2c@1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <1>;
> +
> + imx219_1: sensor@10 {
> + compatible = "sony,imx219";
> + reg = <0x10>;
> +
> + clocks = <&clk_imx219_fixed>;
> +
> + VANA-supply = <®_2p8v>;
> + VDIG-supply = <®_1p8v>;
> + VDDL-supply = <®_1p2v>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&cam1_reset_pins_default>;
> +
> + reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_HIGH>;
> +
> + port {
> + csi2_cam1: endpoint {
> + remote-endpoint = <&csi2rx1_in_sensor>;
> + link-frequencies = /bits/ 64 <456000000>;
> + clock-lanes = <0>;
> + data-lanes = <1 2>;
> + };
> + };
> + };
> + };
> +};
> +
> +&pca9543_1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* CAM0 I2C */
> + i2c@0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0>;
> +
> + imx219_2: sensor@10 {
> + compatible = "sony,imx219";
> + reg = <0x10>;
> +
> + clocks = <&clk_imx219_fixed>;
> +
> + VANA-supply = <®_2p8v>;
> + VDIG-supply = <®_1p8v>;
> + VDDL-supply = <®_1p2v>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&cam2_reset_pins_default>;
> +
> + reset-gpios = <&main_gpio0 19 GPIO_ACTIVE_HIGH>;
> +
> + port {
> + csi2_cam2: endpoint {
> + remote-endpoint = <&csi2rx2_in_sensor>;
> + link-frequencies = /bits/ 64 <456000000>;
> + clock-lanes = <0>;
> + data-lanes = <1 2>;
> + };
> + };
> + };
> + };
> +
> + /* CAM1 I2C */
> + i2c@1 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <1>;
> +
> + imx219_3: sensor@10 {
> + compatible = "sony,imx219";
> + reg = <0x10>;
> +
> + clocks = <&clk_imx219_fixed>;
> +
> + VANA-supply = <®_2p8v>;
> + VDIG-supply = <®_1p8v>;
> + VDDL-supply = <®_1p2v>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&cam3_reset_pins_default>;
> +
> + reset-gpios = <&main_gpio0 21 GPIO_ACTIVE_HIGH>;
> +
> + port {
> + csi2_cam3: endpoint {
> + remote-endpoint = <&csi2rx3_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>;
> + };
> + };
> + };
> +};
> +
> +&cdns_csi2rx1 {
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + csi1_port0: port@0 {
> + reg = <0>;
> + status = "okay";
> +
> + csi2rx1_in_sensor: endpoint {
> + remote-endpoint = <&csi2_cam1>;
> + bus-type = <4>; /* CSI2 DPHY */
> + clock-lanes = <0>;
> + data-lanes = <1 2>;
> + };
> + };
> + };
> +};
> +
> +&cdns_csi2rx2 {
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + csi2_port0: port@0 {
> + reg = <0>;
> + status = "okay";
> +
> + csi2rx2_in_sensor: endpoint {
> + remote-endpoint = <&csi2_cam2>;
> + bus-type = <4>; /* CSI2 DPHY */
> + clock-lanes = <0>;
> + data-lanes = <1 2>;
> + };
> + };
> + };
> +};
> +
> +&cdns_csi2rx3 {
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + csi3_port0: port@0 {
> + reg = <0>;
> + status = "okay";
> +
> + csi2rx3_in_sensor: endpoint {
> + remote-endpoint = <&csi2_cam3>;
> + bus-type = <4>; /* CSI2 DPHY */
> + clock-lanes = <0>;
> + data-lanes = <1 2>;
> + };
> + };
> + };
> +};
> +
> +&ti_csi2rx0 {
> + status = "okay";
> +};
> +
> +&dphy0 {
> + status = "okay";
> +};
> +
> +&ti_csi2rx1 {
> + status = "okay";
> +};
> +
> +&dphy1 {
> + status = "okay";
> +};
> +
> +&ti_csi2rx2 {
> + status = "okay";
> +};
> +
> +&dphy2 {
> + status = "okay";
> +};
> +
> +&ti_csi2rx3 {
> + status = "okay";
> +};
> +
> +&dphy3 {
> + status = "okay";
> +};
> --
> 2.34.1
>
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [PATCH v2 3/4] arm64: dts: ti: k3-j722s-evm: Add overlay for quad IMX219
2025-05-08 15:51 ` [PATCH v2 3/4] arm64: dts: ti: k3-j722s-evm: Add overlay for quad IMX219 Yemike Abhilash Chandra
2025-05-09 2:22 ` Nishanth Menon
@ 2025-05-09 7:50 ` Kumar, Udit
1 sibling, 0 replies; 11+ messages in thread
From: Kumar, Udit @ 2025-05-09 7:50 UTC (permalink / raw)
To: Yemike Abhilash Chandra, nm, vigneshr, kristo, robh, krzk+dt,
conor+dt
Cc: vaishnav.a, r-donadkar, devicetree, linux-arm-kernel, jai.luthra,
linux-kernel, u-kumar1
On 5/8/2025 9:21 PM, Yemike Abhilash Chandra wrote:
> From: Vaishnav Achath <vaishnav.a@ti.com>
>
> RPi v2 Camera (IMX219) is an 8MP camera that can be used with J722S EVM
> through the 22-pin CSI-RX connector. Add a reference overlay for quad
> IMX219 RPI camera v2 modules on J722S EVM
>
> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
> ---
> arch/arm64/boot/dts/ti/Makefile | 5 +
> ...k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso | 329 ++++++++++++++++++
> 2 files changed, 334 insertions(+)
> create mode 100644 arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso
>
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index 3c3aa09a94b6..b317eaff64cc 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -132,6 +132,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-pcie1-ep.dtbo
> # Boards with J722s SoC
> dtb-$(CONFIG_ARCH_K3) += k3-am67a-beagley-ai.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb
> +dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
I think, you need to care of comments from Nishanth.
With that
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
>
> # Boards with J784s4 SoC
> dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
> @@ -227,6 +228,8 @@ k3-j721s2-evm-pcie1-ep-dtbs := k3-j721s2-common-proc-board.dtb \
> k3-j721s2-evm-pcie1-ep.dtbo
> k3-j742s2-evm-usb0-type-a-dtbs := k3-j742s2-evm.dtb \
> k3-j784s4-j742s2-evm-usb0-type-a.dtbo
> +k3-j722s-evm-csi2-quad-rpi-cam-imx219-dtbs := k3-j722s-evm.dtb \
> + k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
> k3-j784s4-evm-pcie0-pcie1-ep-dtbs := k3-j784s4-evm.dtb \
> k3-j784s4-evm-pcie0-pcie1-ep.dtbo
> k3-j784s4-evm-quad-port-eth-exp1-dtbs := k3-j784s4-evm.dtb \
> @@ -264,6 +267,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
> k3-j721e-sk-csi2-dual-imx219.dtb \
> k3-j721s2-evm-pcie1-ep.dtb \
> k3-j742s2-evm-usb0-type-a.dtb \
> + k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtb \
> k3-j784s4-evm-pcie0-pcie1-ep.dtb \
> k3-j784s4-evm-quad-port-eth-exp1.dtb \
> k3-j784s4-evm-usb0-type-a.dtb \
> @@ -288,5 +292,6 @@ DTC_FLAGS_k3-j721e-common-proc-board += -@
> DTC_FLAGS_k3-j721e-evm-pcie0-ep += -@
> DTC_FLAGS_k3-j721e-sk += -@
> DTC_FLAGS_k3-j721s2-common-proc-board += -@
> +DTC_FLAGS_k3-j722s-evm += -@
> DTC_FLAGS_k3-j784s4-evm += -@
> DTC_FLAGS_k3-j742s2-evm += -@
> diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtso
> new file mode 100644
> [..]
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 4/4] arm64: dts: ti: k3-j722s-evm: Add overlay for TEVI OV5640
2025-05-08 15:51 [PATCH v2 0/4] Add overlays for IMX219 and OV5640 on J722S Yemike Abhilash Chandra
` (2 preceding siblings ...)
2025-05-08 15:51 ` [PATCH v2 3/4] arm64: dts: ti: k3-j722s-evm: Add overlay for quad IMX219 Yemike Abhilash Chandra
@ 2025-05-08 15:51 ` Yemike Abhilash Chandra
2025-05-09 2:23 ` Nishanth Menon
2025-05-09 7:52 ` Kumar, Udit
3 siblings, 2 replies; 11+ messages in thread
From: Yemike Abhilash Chandra @ 2025-05-08 15:51 UTC (permalink / raw)
To: nm, vigneshr, kristo, robh, krzk+dt, conor+dt
Cc: vaishnav.a, u-kumar1, r-donadkar, devicetree, linux-arm-kernel,
jai.luthra, linux-kernel, y-abhilashchandra
From: Vaishnav Achath <vaishnav.a@ti.com>
TechNexion TEVI OV5640 camera is a 5MP camera that can be used with
J722S EVM through the 22-pin CSI-RX connector. Add a reference overlay
for quad TEVI OV5640 modules on J722S EVM.
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
---
arch/arm64/boot/dts/ti/Makefile | 4 +
.../k3-j722s-evm-csi2-quad-tevi-ov5640.dtso | 322 ++++++++++++++++++
2 files changed, 326 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtso
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index b317eaff64cc..b0ac5c05274f 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -133,6 +133,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-pcie1-ep.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am67a-beagley-ai.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-tevi-ov5640.dtbo
# Boards with J784s4 SoC
dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
@@ -230,6 +231,8 @@ k3-j742s2-evm-usb0-type-a-dtbs := k3-j742s2-evm.dtb \
k3-j784s4-j742s2-evm-usb0-type-a.dtbo
k3-j722s-evm-csi2-quad-rpi-cam-imx219-dtbs := k3-j722s-evm.dtb \
k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
+k3-j722s-evm-csi2-quad-tevi-ov5640-dtbs := k3-j722s-evm.dtb \
+ k3-j722s-evm-csi2-quad-tevi-ov5640.dtbo
k3-j784s4-evm-pcie0-pcie1-ep-dtbs := k3-j784s4-evm.dtb \
k3-j784s4-evm-pcie0-pcie1-ep.dtbo
k3-j784s4-evm-quad-port-eth-exp1-dtbs := k3-j784s4-evm.dtb \
@@ -268,6 +271,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-j721s2-evm-pcie1-ep.dtb \
k3-j742s2-evm-usb0-type-a.dtb \
k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtb \
+ k3-j722s-evm-csi2-quad-tevi-ov5640.dtb \
k3-j784s4-evm-pcie0-pcie1-ep.dtb \
k3-j784s4-evm-quad-port-eth-exp1.dtb \
k3-j784s4-evm-usb0-type-a.dtb \
diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtso b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtso
new file mode 100644
index 000000000000..55e767a020d9
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtso
@@ -0,0 +1,322 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * 4 x TEVI OV5640 MIPI Camera module on RPI camera connector.
+ *
+ * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include "k3-pinctrl.h"
+
+&{/} {
+ clk_ov5640_fixed: clock-24000000 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24000000>;
+ };
+
+ reg_2p8v: regulator-2p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "2P8V";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ vin-supply = <&vcc_3v3_exp>;
+ regulator-always-on;
+ };
+
+ reg_1p8v: regulator-1p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "1P8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ vin-supply = <&vcc_3v3_exp>;
+ regulator-always-on;
+ };
+
+ reg_3p3v: regulator-3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "3P3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc_3v3_exp>;
+ regulator-always-on;
+ };
+};
+
+
+&main_pmx0 {
+ cam0_reset_pins_default: cam0-default-reset-pins {
+ pinctrl-single,pins = <
+ J722S_IOPAD(0x03c, PIN_OUTPUT, 7) /* (R22) GPIO0_15 */
+ >;
+ };
+
+ cam1_reset_pins_default: cam1-default-reset-pins {
+ pinctrl-single,pins = <
+ J722S_IOPAD(0x044, PIN_OUTPUT, 7) /* (R26) GPIO0_17 */
+ >;
+ };
+
+ cam2_reset_pins_default: cam2-default-reset-pins {
+ pinctrl-single,pins = <
+ J722S_IOPAD(0x04c, PIN_OUTPUT, 7) /* (T25) GPIO0_19 */
+ >;
+ };
+
+ cam3_reset_pins_default: cam3-default-reset-pins {
+ pinctrl-single,pins = <
+ J722S_IOPAD(0x054, PIN_OUTPUT, 7) /* (T21) GPIO0_21 */
+ >;
+ };
+};
+
+&csi01_mux {
+ idle-state = <1>;
+};
+
+&csi23_mux {
+ idle-state = <1>;
+};
+
+&pca9543_0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ov5640_0: camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ clocks = <&clk_ov5640_fixed>;
+ clock-names = "xclk";
+
+ AVDD-supply = <®_2p8v>;
+ DOVDD-supply = <®_1p8v>;
+ DVDD-supply = <®_3p3v>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam0_reset_pins_default>;
+
+ reset-gpios = <&main_gpio0 15 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam0: endpoint {
+ remote-endpoint = <&csi2rx0_in_sensor>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+ };
+
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ ov5640_1: camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ clocks = <&clk_ov5640_fixed>;
+ clock-names = "xclk";
+
+ AVDD-supply = <®_2p8v>;
+ DOVDD-supply = <®_1p8v>;
+ DVDD-supply = <®_3p3v>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam1_reset_pins_default>;
+
+ reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam1: endpoint {
+ remote-endpoint = <&csi2rx1_in_sensor>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+ };
+};
+
+&pca9543_1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2c@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+
+ ov5640_2: camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ clocks = <&clk_ov5640_fixed>;
+ clock-names = "xclk";
+
+ AVDD-supply = <®_2p8v>;
+ DOVDD-supply = <®_1p8v>;
+ DVDD-supply = <®_3p3v>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam2_reset_pins_default>;
+
+ reset-gpios = <&main_gpio0 19 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam2: endpoint {
+ remote-endpoint = <&csi2rx2_in_sensor>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+ };
+
+ i2c@1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <1>;
+
+ ov5640_3: camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ clocks = <&clk_ov5640_fixed>;
+ clock-names = "xclk";
+
+ AVDD-supply = <®_2p8v>;
+ DOVDD-supply = <®_1p8v>;
+ DVDD-supply = <®_3p3v>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&cam3_reset_pins_default>;
+
+ reset-gpios = <&main_gpio0 21 GPIO_ACTIVE_HIGH>;
+
+ port {
+ csi2_cam3: endpoint {
+ remote-endpoint = <&csi2rx3_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>;
+ };
+ };
+ };
+};
+
+&cdns_csi2rx1 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi1_port0: port@0 {
+ reg = <0>;
+ status = "okay";
+
+ csi2rx1_in_sensor: endpoint {
+ remote-endpoint = <&csi2_cam1>;
+ bus-type = <4>; /* CSI2 DPHY */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&cdns_csi2rx2 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi2_port0: port@0 {
+ reg = <0>;
+ status = "okay";
+
+ csi2rx2_in_sensor: endpoint {
+ remote-endpoint = <&csi2_cam2>;
+ bus-type = <4>; /* CSI2 DPHY */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&cdns_csi2rx3 {
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ csi3_port0: port@0 {
+ reg = <0>;
+ status = "okay";
+
+ csi2rx3_in_sensor: endpoint {
+ remote-endpoint = <&csi2_cam3>;
+ bus-type = <4>; /* CSI2 DPHY */
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+};
+
+&ti_csi2rx0 {
+ status = "okay";
+};
+
+&dphy0 {
+ status = "okay";
+};
+
+&ti_csi2rx1 {
+ status = "okay";
+};
+
+&dphy1 {
+ status = "okay";
+};
+
+
+&ti_csi2rx2 {
+ status = "okay";
+};
+
+&dphy2 {
+ status = "okay";
+};
+
+
+&ti_csi2rx3 {
+ status = "okay";
+};
+
+&dphy3 {
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [PATCH v2 4/4] arm64: dts: ti: k3-j722s-evm: Add overlay for TEVI OV5640
2025-05-08 15:51 ` [PATCH v2 4/4] arm64: dts: ti: k3-j722s-evm: Add overlay for TEVI OV5640 Yemike Abhilash Chandra
@ 2025-05-09 2:23 ` Nishanth Menon
2025-05-09 7:52 ` Kumar, Udit
1 sibling, 0 replies; 11+ messages in thread
From: Nishanth Menon @ 2025-05-09 2:23 UTC (permalink / raw)
To: Yemike Abhilash Chandra
Cc: vigneshr, kristo, robh, krzk+dt, conor+dt, vaishnav.a, u-kumar1,
r-donadkar, devicetree, linux-arm-kernel, jai.luthra,
linux-kernel
On 21:21-20250508, Yemike Abhilash Chandra wrote:
> From: Vaishnav Achath <vaishnav.a@ti.com>
>
> TechNexion TEVI OV5640 camera is a 5MP camera that can be used with
> J722S EVM through the 22-pin CSI-RX connector. Add a reference overlay
> for quad TEVI OV5640 modules on J722S EVM.
>
> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
> ---
> arch/arm64/boot/dts/ti/Makefile | 4 +
> .../k3-j722s-evm-csi2-quad-tevi-ov5640.dtso | 322 ++++++++++++++++++
> 2 files changed, 326 insertions(+)
> create mode 100644 arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtso
>
> diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
> index b317eaff64cc..b0ac5c05274f 100644
> --- a/arch/arm64/boot/dts/ti/Makefile
> +++ b/arch/arm64/boot/dts/ti/Makefile
> @@ -133,6 +133,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-pcie1-ep.dtbo
> dtb-$(CONFIG_ARCH_K3) += k3-am67a-beagley-ai.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb
> dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
> +dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-tevi-ov5640.dtbo
>
> # Boards with J784s4 SoC
> dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
> @@ -230,6 +231,8 @@ k3-j742s2-evm-usb0-type-a-dtbs := k3-j742s2-evm.dtb \
> k3-j784s4-j742s2-evm-usb0-type-a.dtbo
> k3-j722s-evm-csi2-quad-rpi-cam-imx219-dtbs := k3-j722s-evm.dtb \
> k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
> +k3-j722s-evm-csi2-quad-tevi-ov5640-dtbs := k3-j722s-evm.dtb \
> + k3-j722s-evm-csi2-quad-tevi-ov5640.dtbo
Same comment as previous patch - keep this alpha sorted.
> k3-j784s4-evm-pcie0-pcie1-ep-dtbs := k3-j784s4-evm.dtb \
> k3-j784s4-evm-pcie0-pcie1-ep.dtbo
> k3-j784s4-evm-quad-port-eth-exp1-dtbs := k3-j784s4-evm.dtb \
> @@ -268,6 +271,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
> k3-j721s2-evm-pcie1-ep.dtb \
> k3-j742s2-evm-usb0-type-a.dtb \
> k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtb \
> + k3-j722s-evm-csi2-quad-tevi-ov5640.dtb \
Same comment..
> k3-j784s4-evm-pcie0-pcie1-ep.dtb \
> k3-j784s4-evm-quad-port-eth-exp1.dtb \
> k3-j784s4-evm-usb0-type-a.dtb \
---
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: ti: k3-j722s-evm: Add overlay for TEVI OV5640
2025-05-08 15:51 ` [PATCH v2 4/4] arm64: dts: ti: k3-j722s-evm: Add overlay for TEVI OV5640 Yemike Abhilash Chandra
2025-05-09 2:23 ` Nishanth Menon
@ 2025-05-09 7:52 ` Kumar, Udit
1 sibling, 0 replies; 11+ messages in thread
From: Kumar, Udit @ 2025-05-09 7:52 UTC (permalink / raw)
To: Yemike Abhilash Chandra, nm, vigneshr, kristo, robh, krzk+dt,
conor+dt
Cc: vaishnav.a, r-donadkar, devicetree, linux-arm-kernel, jai.luthra,
linux-kernel
On 5/8/2025 9:21 PM, Yemike Abhilash Chandra wrote:
> From: Vaishnav Achath <vaishnav.a@ti.com>
>
> TechNexion TEVI OV5640 camera is a 5MP camera that can be used with
> J722S EVM through the 22-pin CSI-RX connector. Add a reference overlay
> for quad TEVI OV5640 modules on J722S EVM.
>
> Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
> Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
> ---
> [..]
> diff --git a/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtso b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtso
> new file mode 100644
> index 000000000000..55e767a020d9
> --- /dev/null
> +++ b/arch/arm64/boot/dts/ti/k3-j722s-evm-csi2-quad-tevi-ov5640.dtso
> @@ -0,0 +1,322 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +/*
> + * 4 x TEVI OV5640 MIPI Camera module on RPI camera connector.
> + *
> + * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
Please check year.
With that
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include "k3-pinctrl.h"
> +
> +&{/} {
> + clk_ov5640_fixed: clock-24000000 {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <24000000>;
> + };
> +
> + reg_2p8v: regulator-2p8v {
> + compatible = "regulator-fixed";
> + regulator-name = "2P8V";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + vin-supply = <&vcc_3v3_exp>;
^^ with change in name of regulator (patch 1/4), you need to change here
too
Thanks
Udit
> [..]
^ permalink raw reply [flat|nested] 11+ messages in thread