summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mp-ras314-imx219.dtso
blob: e5a2b3780215dfd5fbf4a26ce8dcd0ee72807008 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2022-2025 TQ-Systems GmbH <linux@ew.tq-group.com>,
 * D-82229 Seefeld, Germany.
 * Author: Alexander Stein
 */
/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/media/video-interfaces.h>

#include "imx8mp-pinfunc.h"

&{/} {
	/*
	 * The three camera regulators are controlled by a single GPIO. Declare
	 * a single regulator for the three supplies.
	 */
	reg_cam: regulator-cam {
		compatible = "regulator-fixed";
		regulator-name = "reg_cam";
		/* pad muxing already done in gpio2grp */
		gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		vin-supply = <&reg_vcc_3v3>;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	cam24m: clock-cam24m {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24000000>;
		clock-output-names = "cam24m";
	};
};

&i2c2 {
	#address-cells = <1>;
	#size-cells = <0>;

	camera@10 {
		compatible = "sony,imx219";
		reg = <0x10>;
		clocks = <&cam24m>;
		VANA-supply = <&reg_cam>;
		VDIG-supply = <&reg_cam>;
		VDDL-supply = <&reg_cam>;
		orientation = <2>;
		rotation = <0>;

		port {
			sony_imx219: endpoint {
				remote-endpoint = <&imx8mp_mipi_csi_in>;
				clock-lanes = <0>;
				clock-noncontinuous;
				data-lanes = <1 2>;
				link-frequencies = /bits/ 64 <456000000>;
			};
		};
	};
};

&isi_0 {
	status = "disabled";

	ports {
		port@0 {
			/delete-node/ endpoint;
		};
	};
};

&isp_0 {
	status = "okay";

	ports {
		port@1 {
			isp0_in: endpoint {
				bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
				remote-endpoint = <&mipi_csi_0_out>;
			};
		};
	};
};

&mipi_csi_0 {
	status = "okay";

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			imx8mp_mipi_csi_in: endpoint {
				remote-endpoint = <&sony_imx219>;
				clock-lanes = <0>;
				data-lanes = <1 2>;
			};
		};
	};
};

&mipi_csi_0_out {
	remote-endpoint = <&isp0_in>;
};