xref: /linux/arch/arm64/boot/dts/ti/k3-am625-beagleplay-csi2-ov5640.dtso (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
1380f1ffdSNishanth Menon// SPDX-License-Identifier: GPL-2.0-only OR MIT
2defa1438SJai Luthra/*
3defa1438SJai Luthra * ALINX AN5641 & Digilent PCam 5C - OV5640 camera module
4380f1ffdSNishanth Menon * Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
5defa1438SJai Luthra */
6defa1438SJai Luthra
7defa1438SJai Luthra/dts-v1/;
8defa1438SJai Luthra/plugin/;
9defa1438SJai Luthra
10defa1438SJai Luthra#include <dt-bindings/gpio/gpio.h>
11defa1438SJai Luthra
12defa1438SJai Luthra&{/} {
13defa1438SJai Luthra	clk_ov5640_fixed: ov5640-xclk {
14defa1438SJai Luthra		compatible = "fixed-clock";
15defa1438SJai Luthra		#clock-cells = <0>;
16defa1438SJai Luthra		clock-frequency = <12000000>;
17defa1438SJai Luthra	};
18*a5da12f3SRishikesh Donadkar
19*a5da12f3SRishikesh Donadkar	reg_2p8v: regulator-2p8v {
20*a5da12f3SRishikesh Donadkar		compatible = "regulator-fixed";
21*a5da12f3SRishikesh Donadkar		regulator-name = "2P8V";
22*a5da12f3SRishikesh Donadkar		regulator-min-microvolt = <2800000>;
23*a5da12f3SRishikesh Donadkar		regulator-max-microvolt = <2800000>;
24*a5da12f3SRishikesh Donadkar		vin-supply = <&vdd_3v3>;
25*a5da12f3SRishikesh Donadkar		regulator-always-on;
26*a5da12f3SRishikesh Donadkar	};
27*a5da12f3SRishikesh Donadkar
28*a5da12f3SRishikesh Donadkar	reg_1p8v: regulator-1p8v {
29*a5da12f3SRishikesh Donadkar		compatible = "regulator-fixed";
30*a5da12f3SRishikesh Donadkar		regulator-name = "1P8V";
31*a5da12f3SRishikesh Donadkar		regulator-min-microvolt = <1800000>;
32*a5da12f3SRishikesh Donadkar		regulator-max-microvolt = <1800000>;
33*a5da12f3SRishikesh Donadkar		vin-supply = <&vdd_3v3>;
34*a5da12f3SRishikesh Donadkar		regulator-always-on;
35*a5da12f3SRishikesh Donadkar	};
36*a5da12f3SRishikesh Donadkar
37*a5da12f3SRishikesh Donadkar	reg_1p5v: regulator-1p5v {
38*a5da12f3SRishikesh Donadkar		compatible = "regulator-fixed";
39*a5da12f3SRishikesh Donadkar		regulator-name = "1P5V";
40*a5da12f3SRishikesh Donadkar		regulator-min-microvolt = <1500000>;
41*a5da12f3SRishikesh Donadkar		regulator-max-microvolt = <1500000>;
42*a5da12f3SRishikesh Donadkar		vin-supply = <&vdd_3v3>;
43*a5da12f3SRishikesh Donadkar		regulator-always-on;
44*a5da12f3SRishikesh Donadkar	};
45defa1438SJai Luthra};
46defa1438SJai Luthra
47defa1438SJai Luthra&main_gpio0 {
48defa1438SJai Luthra	p11-hog {
49defa1438SJai Luthra		/* P11 - CSI2_CAMERA_GPIO1 */
50defa1438SJai Luthra		gpio-hog;
51defa1438SJai Luthra		gpios = <11 GPIO_ACTIVE_HIGH>;
52defa1438SJai Luthra		output-high;
53defa1438SJai Luthra		line-name = "CSI2_CAMERA_GPIO1";
54defa1438SJai Luthra	};
55defa1438SJai Luthra};
56defa1438SJai Luthra
57defa1438SJai Luthra&wkup_i2c0 {
58defa1438SJai Luthra	#address-cells = <1>;
59defa1438SJai Luthra	#size-cells = <0>;
60defa1438SJai Luthra	status = "okay";
61defa1438SJai Luthra
62defa1438SJai Luthra	ov5640: camera@3c {
63defa1438SJai Luthra		compatible = "ovti,ov5640";
64defa1438SJai Luthra		reg = <0x3c>;
65defa1438SJai Luthra
66defa1438SJai Luthra		clocks = <&clk_ov5640_fixed>;
67defa1438SJai Luthra		clock-names = "xclk";
68defa1438SJai Luthra
69*a5da12f3SRishikesh Donadkar		AVDD-supply = <&reg_2p8v>;
70*a5da12f3SRishikesh Donadkar		DOVDD-supply = <&reg_1p8v>;
71*a5da12f3SRishikesh Donadkar		DVDD-supply = <&reg_1p5v>;
72*a5da12f3SRishikesh Donadkar
73defa1438SJai Luthra		port {
74defa1438SJai Luthra			csi2_cam0: endpoint {
75defa1438SJai Luthra				remote-endpoint = <&csi2rx0_in_sensor>;
76defa1438SJai Luthra				clock-lanes = <0>;
77defa1438SJai Luthra				data-lanes = <1 2>;
78defa1438SJai Luthra			};
79defa1438SJai Luthra		};
80defa1438SJai Luthra	};
81defa1438SJai Luthra};
82defa1438SJai Luthra
83defa1438SJai Luthra&cdns_csi2rx0 {
84defa1438SJai Luthra	ports {
85defa1438SJai Luthra		#address-cells = <1>;
86defa1438SJai Luthra		#size-cells = <0>;
87defa1438SJai Luthra
88defa1438SJai Luthra		csi0_port0: port@0 {
89defa1438SJai Luthra			reg = <0>;
90defa1438SJai Luthra			status = "okay";
91defa1438SJai Luthra
92defa1438SJai Luthra			csi2rx0_in_sensor: endpoint {
93defa1438SJai Luthra				remote-endpoint = <&csi2_cam0>;
94defa1438SJai Luthra				bus-type = <4>; /* CSI2 DPHY. */
95defa1438SJai Luthra				clock-lanes = <0>;
96defa1438SJai Luthra				data-lanes = <1 2>;
97defa1438SJai Luthra			};
98defa1438SJai Luthra		};
99defa1438SJai Luthra	};
100defa1438SJai Luthra};
101defa1438SJai Luthra
102defa1438SJai Luthra&dphy0 {
103defa1438SJai Luthra	status = "okay";
104defa1438SJai Luthra};
105defa1438SJai Luthra
106defa1438SJai Luthra&ti_csi2rx0 {
107defa1438SJai Luthra	status = "okay";
108defa1438SJai Luthra};
109