xref: /freebsd/sys/contrib/device-tree/src/arm64/qcom/apq8016-sbc-d3-camera-mezzanine.dtso (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1*833e5d42SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2*833e5d42SEmmanuel Vadot/*
3*833e5d42SEmmanuel Vadot * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4*833e5d42SEmmanuel Vadot * Copyright (c) 2023, Linaro Ltd.
5*833e5d42SEmmanuel Vadot */
6*833e5d42SEmmanuel Vadot
7*833e5d42SEmmanuel Vadot/dts-v1/;
8*833e5d42SEmmanuel Vadot/plugin/;
9*833e5d42SEmmanuel Vadot
10*833e5d42SEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-msm8916.h>
11*833e5d42SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12*833e5d42SEmmanuel Vadot
13*833e5d42SEmmanuel Vadot&{/} {
14*833e5d42SEmmanuel Vadot	camera_vdddo_1v8: regulator-camera-vdddo {
15*833e5d42SEmmanuel Vadot		compatible = "regulator-fixed";
16*833e5d42SEmmanuel Vadot		regulator-name = "camera_vdddo";
17*833e5d42SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
18*833e5d42SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
19*833e5d42SEmmanuel Vadot		regulator-always-on;
20*833e5d42SEmmanuel Vadot	};
21*833e5d42SEmmanuel Vadot
22*833e5d42SEmmanuel Vadot	camera_vdda_2v8: regulator-camera-vdda {
23*833e5d42SEmmanuel Vadot		compatible = "regulator-fixed";
24*833e5d42SEmmanuel Vadot		regulator-name = "camera_vdda";
25*833e5d42SEmmanuel Vadot		regulator-min-microvolt = <2800000>;
26*833e5d42SEmmanuel Vadot		regulator-max-microvolt = <2800000>;
27*833e5d42SEmmanuel Vadot		regulator-always-on;
28*833e5d42SEmmanuel Vadot	};
29*833e5d42SEmmanuel Vadot
30*833e5d42SEmmanuel Vadot	camera_vddd_1v5: regulator-camera-vddd {
31*833e5d42SEmmanuel Vadot		compatible = "regulator-fixed";
32*833e5d42SEmmanuel Vadot		regulator-name = "camera_vddd";
33*833e5d42SEmmanuel Vadot		regulator-min-microvolt = <1500000>;
34*833e5d42SEmmanuel Vadot		regulator-max-microvolt = <1500000>;
35*833e5d42SEmmanuel Vadot		regulator-always-on;
36*833e5d42SEmmanuel Vadot	};
37*833e5d42SEmmanuel Vadot};
38*833e5d42SEmmanuel Vadot
39*833e5d42SEmmanuel Vadot&camss {
40*833e5d42SEmmanuel Vadot	status = "okay";
41*833e5d42SEmmanuel Vadot
42*833e5d42SEmmanuel Vadot	ports {
43*833e5d42SEmmanuel Vadot		#address-cells = <1>;
44*833e5d42SEmmanuel Vadot		#size-cells = <0>;
45*833e5d42SEmmanuel Vadot
46*833e5d42SEmmanuel Vadot		port@0 {
47*833e5d42SEmmanuel Vadot			reg = <0>;
48*833e5d42SEmmanuel Vadot			csiphy0_ep: endpoint {
49*833e5d42SEmmanuel Vadot				data-lanes = <0 2>;
50*833e5d42SEmmanuel Vadot				remote-endpoint = <&ov5640_ep>;
51*833e5d42SEmmanuel Vadot			};
52*833e5d42SEmmanuel Vadot		};
53*833e5d42SEmmanuel Vadot	};
54*833e5d42SEmmanuel Vadot};
55*833e5d42SEmmanuel Vadot
56*833e5d42SEmmanuel Vadot&cci {
57*833e5d42SEmmanuel Vadot	status = "okay";
58*833e5d42SEmmanuel Vadot};
59*833e5d42SEmmanuel Vadot
60*833e5d42SEmmanuel Vadot&cci_i2c0 {
61*833e5d42SEmmanuel Vadot	#address-cells = <1>;
62*833e5d42SEmmanuel Vadot	#size-cells = <0>;
63*833e5d42SEmmanuel Vadot
64*833e5d42SEmmanuel Vadot	camera@3b {
65*833e5d42SEmmanuel Vadot		compatible = "ovti,ov5640";
66*833e5d42SEmmanuel Vadot		reg = <0x3b>;
67*833e5d42SEmmanuel Vadot
68*833e5d42SEmmanuel Vadot		powerdown-gpios = <&tlmm 34 GPIO_ACTIVE_HIGH>;
69*833e5d42SEmmanuel Vadot		reset-gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
70*833e5d42SEmmanuel Vadot		pinctrl-names = "default";
71*833e5d42SEmmanuel Vadot		pinctrl-0 = <&camera_rear_default>;
72*833e5d42SEmmanuel Vadot
73*833e5d42SEmmanuel Vadot		clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
74*833e5d42SEmmanuel Vadot		clock-names = "xclk";
75*833e5d42SEmmanuel Vadot		assigned-clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
76*833e5d42SEmmanuel Vadot		assigned-clock-rates = <23880000>;
77*833e5d42SEmmanuel Vadot
78*833e5d42SEmmanuel Vadot		DOVDD-supply = <&camera_vdddo_1v8>;
79*833e5d42SEmmanuel Vadot		AVDD-supply = <&camera_vdda_2v8>;
80*833e5d42SEmmanuel Vadot		DVDD-supply = <&camera_vddd_1v5>;
81*833e5d42SEmmanuel Vadot
82*833e5d42SEmmanuel Vadot		port {
83*833e5d42SEmmanuel Vadot			ov5640_ep: endpoint {
84*833e5d42SEmmanuel Vadot				data-lanes = <1 2>;
85*833e5d42SEmmanuel Vadot				remote-endpoint = <&csiphy0_ep>;
86*833e5d42SEmmanuel Vadot			};
87*833e5d42SEmmanuel Vadot		};
88*833e5d42SEmmanuel Vadot	};
89*833e5d42SEmmanuel Vadot};
90