162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (c) 2022, Linaro Ltd.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/dts-v1/;
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include "sdm845-db845c.dts"
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci&camss {
1162306a36Sopenharmony_ci	vdda-phy-supply = <&vreg_l1a_0p875>;
1262306a36Sopenharmony_ci	vdda-pll-supply = <&vreg_l26a_1p2>;
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	status = "okay";
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	ports {
1762306a36Sopenharmony_ci		port@0 {
1862306a36Sopenharmony_ci			csiphy0_ep: endpoint {
1962306a36Sopenharmony_ci				data-lanes = <0 1 2 3>;
2062306a36Sopenharmony_ci				remote-endpoint = <&ov8856_ep>;
2162306a36Sopenharmony_ci			};
2262306a36Sopenharmony_ci		};
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci};
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci&cci {
2762306a36Sopenharmony_ci	status = "okay";
2862306a36Sopenharmony_ci};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci&cci_i2c0 {
3162306a36Sopenharmony_ci	camera@10 {
3262306a36Sopenharmony_ci		compatible = "ovti,ov8856";
3362306a36Sopenharmony_ci		reg = <0x10>;
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		/* CAM0_RST_N */
3662306a36Sopenharmony_ci		reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
3762306a36Sopenharmony_ci		pinctrl-names = "default";
3862306a36Sopenharmony_ci		pinctrl-0 = <&cam0_default>;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
4162306a36Sopenharmony_ci		clock-names = "xvclk";
4262306a36Sopenharmony_ci		clock-frequency = <19200000>;
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci		/*
4562306a36Sopenharmony_ci		 * The &vreg_s4a_1p8 trace is powered on as a,
4662306a36Sopenharmony_ci		 * so it is represented by a fixed regulator.
4762306a36Sopenharmony_ci		 *
4862306a36Sopenharmony_ci		 * The 2.8V vdda-supply and 1.2V vddd-supply regulators
4962306a36Sopenharmony_ci		 * both have to be enabled through the power management
5062306a36Sopenharmony_ci		 * gpios.
5162306a36Sopenharmony_ci		 */
5262306a36Sopenharmony_ci		dovdd-supply = <&vreg_lvs1a_1p8>;
5362306a36Sopenharmony_ci		avdd-supply = <&cam0_avdd_2v8>;
5462306a36Sopenharmony_ci		dvdd-supply = <&cam0_dvdd_1v2>;
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci		port {
5762306a36Sopenharmony_ci			ov8856_ep: endpoint {
5862306a36Sopenharmony_ci				link-frequencies = /bits/ 64
5962306a36Sopenharmony_ci					<360000000 180000000>;
6062306a36Sopenharmony_ci				data-lanes = <1 2 3 4>;
6162306a36Sopenharmony_ci				remote-endpoint = <&csiphy0_ep>;
6262306a36Sopenharmony_ci			};
6362306a36Sopenharmony_ci		};
6462306a36Sopenharmony_ci	};
6562306a36Sopenharmony_ci};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci&cci_i2c1 {
6862306a36Sopenharmony_ci	camera@60 {
6962306a36Sopenharmony_ci		compatible = "ovti,ov7251";
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci		/* I2C address as per ov7251.txt linux documentation */
7262306a36Sopenharmony_ci		reg = <0x60>;
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci		/* CAM3_RST_N */
7562306a36Sopenharmony_ci		enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
7662306a36Sopenharmony_ci		pinctrl-names = "default";
7762306a36Sopenharmony_ci		pinctrl-0 = <&cam3_default>;
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
8062306a36Sopenharmony_ci		clock-names = "xclk";
8162306a36Sopenharmony_ci		clock-frequency = <24000000>;
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci		/*
8462306a36Sopenharmony_ci		 * The &vreg_s4a_1p8 trace always powered on.
8562306a36Sopenharmony_ci		 *
8662306a36Sopenharmony_ci		 * The 2.8V vdda-supply regulator is enabled when the
8762306a36Sopenharmony_ci		 * vreg_s4a_1p8 trace is pulled high.
8862306a36Sopenharmony_ci		 * It too is represented by a fixed regulator.
8962306a36Sopenharmony_ci		 *
9062306a36Sopenharmony_ci		 * No 1.2V vddd-supply regulator is used.
9162306a36Sopenharmony_ci		 */
9262306a36Sopenharmony_ci		vdddo-supply = <&vreg_lvs1a_1p8>;
9362306a36Sopenharmony_ci		vdda-supply = <&cam3_avdd_2v8>;
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci		status = "disabled";
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci		port {
9862306a36Sopenharmony_ci			ov7251_ep: endpoint {
9962306a36Sopenharmony_ci				data-lanes = <0 1>;
10062306a36Sopenharmony_ci/*				remote-endpoint = <&csiphy3_ep>; */
10162306a36Sopenharmony_ci			};
10262306a36Sopenharmony_ci		};
10362306a36Sopenharmony_ci	};
10462306a36Sopenharmony_ci};
105