blob: 47bb5480b5b0064de76c06152e9687c10d1f626a [file] [log] [blame]
Tom Rini6bb92fc2024-05-20 09:54:58 -06001// 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};