xref: /linux/scripts/dtc/include-prefixes/arm64/ti/k3-am69-aquila-csi2-ov5640.dtsi (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2/*
3 * Copyright (c) Toradex
4 *
5 * Common device tree include for Toradex OV5640 CSI Camera on Aquila CSI_2.
6 * Used on Development Board (J71).
7 */
8
9#include <dt-bindings/gpio/gpio.h>
10
11&{/} {
12	clock_camera_csi_2: clock-camera-csi-2 {
13		compatible = "fixed-clock";
14		#clock-cells = <0>;
15	};
16
17	regulator_camera_csi_2: regulator-camera-csi-2 {
18		compatible = "regulator-fixed";
19		pinctrl-names = "default";
20		pinctrl-0 = <&pinctrl_gpio_16_csi_2>;
21		/* Aquila GPIO_16_CSI_2 - Camera Connector 24 */
22		gpio = <&wkup_gpio0 39 GPIO_ACTIVE_HIGH>;
23		enable-active-high;
24		regulator-name = "V_CSI_2";
25		startup-delay-us = <5000>;
26	};
27};
28
29&csi1_port0 {
30	status = "okay";
31
32	csi1_port0_in: endpoint {
33		remote-endpoint = <&csi1_port0_cam_out>;
34		bus-type = <4>; /* CSI2 DPHY. */
35		clock-lanes = <0>;
36		data-lanes = <1 2>;
37	};
38};
39
40&dphy1 {
41	status = "okay";
42};
43
44/* Aquila I2C_5_CSI2 */
45&main_i2c2 {
46	#address-cells = <1>;
47	#size-cells = <0>;
48
49	camera@3c {
50		compatible = "ovti,ov5640";
51		reg = <0x3c>;
52		pinctrl-names = "default";
53		pinctrl-0 = <&pinctrl_gpio_13_csi_2>, <&pinctrl_gpio_14_csi_2>;
54		clocks = <&clock_camera_csi_2>;
55		clock-names = "xclk";
56		AVDD-supply = <&regulator_camera_csi_2>;
57		DOVDD-supply = <&regulator_camera_csi_2>;
58		DVDD-supply = <&regulator_camera_csi_2>;
59		/* Aquila GPIO_14_CSI_2 - Camera Connector 22 */
60		powerdown-gpios = <&wkup_gpio0 33 GPIO_ACTIVE_HIGH>;
61		/* Aquila GPIO_13_CSI_2 - Camera Connector 11 */
62		reset-gpios = <&wkup_gpio0 32 GPIO_ACTIVE_LOW>;
63
64		port {
65			csi1_port0_cam_out: endpoint {
66				remote-endpoint = <&csi1_port0_in>;
67				clock-lanes = <0>;
68				data-lanes = <1 2>;
69			};
70		};
71	};
72};
73
74&ti_csi2rx1 {
75	status = "okay";
76};
77