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