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