Skip to content

Commit f767eb9

Browse files
vaishnavachathr-vignesh
authored andcommitted
arm64: dts: ti: k3-j721e-sk: Add overlay for IMX219
RPi v2 Camera (IMX219) is an 8MP camera that can be used with SK-AM69, J721E SK, and AM68 SK through the 22-pin CSI-RX connector. Add a reference overlay for dual IMX219 RPI camera v2 modules which can be used across AM68 SK, AM69 SK, TDA4VM SK boards that have a 15/22-pin FFC connector. Also enable build testing and symbols for all the three platforms. Signed-off-by: Vaishnav Achath <[email protected]> Reviewed-by: Jai Luthra <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vignesh Raghavendra <[email protected]>
1 parent 2ba8f21 commit f767eb9

File tree

2 files changed

+178
-0
lines changed

2 files changed

+178
-0
lines changed

arch/arm64/boot/dts/ti/Makefile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm.dtb
7676
dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm-gesi-exp-board.dtbo
7777
dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm-pcie0-ep.dtbo
7878
dtb-$(CONFIG_ARCH_K3) += k3-j721e-sk.dtb
79+
dtb-$(CONFIG_ARCH_K3) += k3-j721e-sk-csi2-dual-imx219.dtbo
7980

8081
# Boards with J721s2 SoC
8182
dtb-$(CONFIG_ARCH_K3) += k3-am68-sk-base-board.dtb
@@ -118,8 +119,14 @@ k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
118119
k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
119120
k3-am642-tqma64xxl-mbax4xxl-wlan-dtbs := \
120121
k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-wlan.dtbo
122+
k3-am68-sk-base-board-csi2-dual-imx219-dtbs := k3-am68-sk-base-board.dtb \
123+
k3-j721e-sk-csi2-dual-imx219.dtbo
124+
k3-am69-sk-csi2-dual-imx219-dtbs := k3-am69-sk.dtb \
125+
k3-j721e-sk-csi2-dual-imx219.dtbo
121126
k3-j721e-evm-pcie0-ep-dtbs := k3-j721e-common-proc-board.dtb \
122127
k3-j721e-evm-pcie0-ep.dtbo
128+
k3-j721e-sk-csi2-dual-imx219-dtbs := k3-j721e-sk.dtb \
129+
k3-j721e-sk-csi2-dual-imx219.dtbo
123130
k3-j721s2-evm-pcie1-ep-dtbs := k3-j721s2-common-proc-board.dtb \
124131
k3-j721s2-evm-pcie1-ep.dtbo
125132
dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
@@ -134,7 +141,10 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
134141
k3-am62a7-sk-hdmi-audio.dtb \
135142
k3-am642-tqma64xxl-mbax4xxl-sdcard.dtb \
136143
k3-am642-tqma64xxl-mbax4xxl-wlan.dtb \
144+
k3-am68-sk-base-board-csi2-dual-imx219-dtbs \
145+
k3-am69-sk-csi2-dual-imx219-dtbs \
137146
k3-j721e-evm-pcie0-ep.dtb \
147+
k3-j721e-sk-csi2-dual-imx219-dtbs \
138148
k3-j721s2-evm-pcie1-ep.dtb
139149

140150
# Enable support for device-tree overlays
@@ -144,5 +154,8 @@ DTC_FLAGS_k3-am62-lp-sk += -@
144154
DTC_FLAGS_k3-am62a7-sk += -@
145155
DTC_FLAGS_k3-am642-tqma64xxl-mbax4xxl += -@
146156
DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@
157+
DTC_FLAGS_k3-am68-sk-base-board += -@
158+
DTC_FLAGS_k3-am69-sk += -@
147159
DTC_FLAGS_k3-j721e-common-proc-board += -@
160+
DTC_FLAGS_k3-j721e-sk += -@
148161
DTC_FLAGS_k3-j721s2-common-proc-board += -@
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
// SPDX-License-Identifier: GPL-2.0-only OR MIT
2+
/**
3+
* DT Overlay for dual RPi Camera V2.1 (Sony IMX219) interfaced with CSI2
4+
* on J721E SK, AM68 SK or AM69-SK board.
5+
* https://datasheets.raspberrypi.org/camera/camera-v2-schematic.pdf
6+
*
7+
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
8+
*/
9+
10+
/dts-v1/;
11+
/plugin/;
12+
13+
#include <dt-bindings/gpio/gpio.h>
14+
#include "k3-pinctrl.h"
15+
16+
&{/} {
17+
clk_imx219_fixed: imx219-xclk {
18+
compatible = "fixed-clock";
19+
#clock-cells = <0>;
20+
clock-frequency = <24000000>;
21+
};
22+
};
23+
24+
&csi_mux {
25+
idle-state = <1>;
26+
};
27+
28+
/* CAM0 I2C */
29+
&cam0_i2c {
30+
#address-cells = <1>;
31+
#size-cells = <0>;
32+
imx219_0: imx219-0@10 {
33+
compatible = "sony,imx219";
34+
reg = <0x10>;
35+
36+
clocks = <&clk_imx219_fixed>;
37+
clock-names = "xclk";
38+
39+
port {
40+
csi2_cam0: endpoint {
41+
remote-endpoint = <&csi2rx0_in_sensor>;
42+
link-frequencies = /bits/ 64 <456000000>;
43+
clock-lanes = <0>;
44+
data-lanes = <1 2>;
45+
};
46+
};
47+
};
48+
};
49+
50+
/* CAM1 I2C */
51+
&cam1_i2c {
52+
#address-cells = <1>;
53+
#size-cells = <0>;
54+
imx219_1: imx219-1@10 {
55+
compatible = "sony,imx219";
56+
reg = <0x10>;
57+
58+
clocks = <&clk_imx219_fixed>;
59+
clock-names = "xclk";
60+
61+
port {
62+
csi2_cam1: endpoint {
63+
remote-endpoint = <&csi2rx1_in_sensor>;
64+
link-frequencies = /bits/ 64 <456000000>;
65+
clock-lanes = <0>;
66+
data-lanes = <1 2>;
67+
};
68+
};
69+
};
70+
};
71+
72+
73+
&cdns_csi2rx0 {
74+
ports {
75+
#address-cells = <1>;
76+
#size-cells = <0>;
77+
78+
csi0_port0: port@0 {
79+
reg = <0>;
80+
status = "okay";
81+
82+
csi2rx0_in_sensor: endpoint {
83+
remote-endpoint = <&csi2_cam0>;
84+
bus-type = <4>; /* CSI2 DPHY. */
85+
clock-lanes = <0>;
86+
data-lanes = <1 2>;
87+
};
88+
};
89+
90+
csi0_port1: port@1 {
91+
reg = <1>;
92+
status = "disabled";
93+
};
94+
95+
csi0_port2: port@2 {
96+
reg = <2>;
97+
status = "disabled";
98+
};
99+
100+
csi0_port3: port@3 {
101+
reg = <3>;
102+
status = "disabled";
103+
};
104+
105+
csi0_port4: port@4 {
106+
reg = <4>;
107+
status = "disabled";
108+
};
109+
};
110+
};
111+
112+
&dphy0 {
113+
status = "okay";
114+
};
115+
116+
&ti_csi2rx0 {
117+
status = "okay";
118+
};
119+
120+
&cdns_csi2rx1 {
121+
ports {
122+
#address-cells = <1>;
123+
#size-cells = <0>;
124+
125+
csi1_port0: port@0 {
126+
reg = <0>;
127+
status = "okay";
128+
129+
csi2rx1_in_sensor: endpoint {
130+
remote-endpoint = <&csi2_cam1>;
131+
bus-type = <4>; /* CSI2 DPHY. */
132+
clock-lanes = <0>;
133+
data-lanes = <1 2>;
134+
};
135+
};
136+
137+
csi1_port1: port@1 {
138+
reg = <1>;
139+
status = "disabled";
140+
};
141+
142+
csi1_port2: port@2 {
143+
reg = <2>;
144+
status = "disabled";
145+
};
146+
147+
csi1_port3: port@3 {
148+
reg = <3>;
149+
status = "disabled";
150+
};
151+
152+
csi1_port4: port@4 {
153+
reg = <4>;
154+
status = "disabled";
155+
};
156+
};
157+
};
158+
159+
&dphy1 {
160+
status = "okay";
161+
};
162+
163+
&ti_csi2rx1 {
164+
status = "okay";
165+
};

0 commit comments

Comments
 (0)