blob: 8d047caccc39e622c9c9a2890e7e70357a29ca72 [file] [log] [blame]
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <dt-bindings/clock/msm-clocks-8952.h>
&cam_sensor_rear_standby {
/* STANDBY */
mux {
/delete-property/ pins;
pins = "gpio92";
function = "gpio";
};
config {
/delete-property/ pins;
pins = "gpio92";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
&cam_sensor_rear_standby_sleep {
/* STANDBY */
mux {
/delete-property/ pins;
pins = "gpio92";
function = "gpio";
};
config {
/delete-property/ pins;
pins = "gpio92";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
&cam_sensor_rear_vana {
/* VANA */
mux {
/delete-property/ pins;
pins = "gpio58";
function = "gpio";
};
config {
/delete-property/ pins;
pins = "gpio58";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
&cam_sensor_rear_vana_sleep {
/* VANA */
mux {
/delete-property/ pins;
pins = "gpio58";
function = "gpio";
};
config {
/delete-property/ pins;
pins = "gpio58";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
&soc {
/delete-node/ qcom,cci@1b0c000;
cci: qcom,cci@1b0c000 {
status = "ok";
cell-index = <0>;
compatible = "qcom,cci";
reg = <0x1b0c000 0x4000>;
#address-cells = <1>;
#size-cells = <0>;
reg-names = "cci";
interrupts = <0 50 0>;
interrupt-names = "cci";
clocks = <&clock_gcc clk_gcc_camss_ispif_ahb_clk>,
<&clock_gcc clk_cci_clk_src>,
<&clock_gcc clk_gcc_camss_cci_ahb_clk>,
<&clock_gcc clk_gcc_camss_cci_clk>,
<&clock_gcc clk_gcc_camss_ahb_clk>,
<&clock_gcc clk_gcc_camss_top_ahb_clk>;
clock-names = "ispif_ahb_clk", "cci_src_clk",
"cci_ahb_clk", "camss_cci_clk",
"camss_ahb_clk", "camss_top_ahb_clk";
qcom,clock-rates = <61540000 19200000 0 0 0 0>,
<61540000 37500000 0 0 0 0>;
pinctrl-names = "cci_default", "cci_suspend";
pinctrl-0 = <&cci0_active &cci1_active>;
pinctrl-1 = <&cci0_suspend &cci1_suspend>;
gpios = <&tlmm 29 0>,
<&tlmm 30 0>,
<&tlmm 31 0>,
<&tlmm 32 0>;
qcom,gpio-tbl-num = <0 1 2 3>;
qcom,gpio-tbl-flags = <1 1 1 1>;
qcom,gpio-tbl-label = "CCI_I2C_DATA0",
"CCI_I2C_CLK0",
"CCI_I2C_DATA1",
"CCI_I2C_CLK1";
i2c_freq_100Khz: qcom,i2c_standard_mode {
status = "disabled";
};
i2c_freq_400Khz: qcom,i2c_fast_mode {
status = "disabled";
};
i2c_freq_custom: qcom,i2c_custom_mode {
status = "disabled";
};
i2c_freq_1Mhz: qcom,i2c_fast_plus_mode {
status = "disabled";
};
};
};
&cci {
#address-cells = <1>;
#size-cells = <0>;
actuator_spyro0: qcom,actuator@0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,actuator";
qcom,cci-master = <0>;
cam_vaf-supply = <&pm660_l19>;
qcom,cam-vreg-name = "cam_vaf";
qcom,cam-vreg-min-voltage = <2850000>;
qcom,cam-vreg-max-voltage = <3200000>;
qcom,cam-vreg-op-mode = <80000>;
};
actuator_spyro1: qcom,actuator@1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,actuator";
qcom,cci-master = <0>;
cam_vaf-supply = <&pm660_l19>;
qcom,cam-vreg-name = "cam_vaf";
qcom,cam-vreg-min-voltage = <2850000>;
qcom,cam-vreg-max-voltage = <3200000>;
qcom,cam-vreg-op-mode = <80000>;
};
eeprom_spyro0: qcom,eeprom@0 {
cell-index = <0>;
compatible = "qcom,eeprom";
qcom,cci-master = <0>;
reg = <0x0>;
cam_vana-supply = <&pm660_l6>;
cam_vio-supply = <&pm660_l14>;
cam_vaf-supply = <&pm660_l19>;
cam_vdig-supply = <&pm660_l2>;
qcom,cam-vreg-name = "cam_vana", "cam_vio",
"cam_vdig", "cam_vaf";
qcom,cam-vreg-min-voltage = <2800000 1800000 1050000 2850000>;
qcom,cam-vreg-max-voltage = <2800000 1800000 1050000 3200000>;
qcom,cam-vreg-op-mode = <80000 0 200000 100000>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_default
&cam_sensor_rear_reset
&cam_sensor_rear_vana
&cam_sensor_rear_standby>;
pinctrl-1 = <&cam_sensor_mclk0_sleep
&cam_sensor_rear_reset_sleep
&cam_sensor_rear_vana_sleep
&cam_sensor_rear_standby_sleep>;
gpios = <&tlmm 26 0>,
<&tlmm 36 0>,
<&tlmm 58 0>,
<&tlmm 92 0>;
qcom,gpio-reset = <1>;
qcom,gpio-vana = <2>;
qcom,gpio-standby = <3>;
qcom,gpio-req-tbl-num = <0 1 2 3>;
qcom,gpio-req-tbl-flags = <1 0 0 0>;
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0",
"CAM_VANA",
"CAM_STANDBY";
status = "ok";
clocks = <&clock_gcc clk_mclk0_clk_src>,
<&clock_gcc clk_gcc_camss_mclk0_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <19200000 0>;
};
eeprom_spyro1: qcom,eeprom@1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
qcom,cci-master = <1>;
cam_vdig-supply = <&pm660_l3>;
cam_vio-supply = <&pm660_l14>;
cam_vana-supply = <&pm660_s5>;
cam_vaf-supply = <&pm660_l17>;
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
qcom,cam-vreg-min-voltage = <1200000 1800000 1420000>;
qcom,cam-vreg-max-voltage = <1200000 1800000 1420000>;
qcom,cam-vreg-op-mode = <200000 80000 80000>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_default
&cam_sensor_front_default>;
pinctrl-1 = <&cam_sensor_mclk1_sleep
&cam_sensor_front_sleep>;
gpios = <&tlmm 27 0>,
<&tlmm 33 0>,
<&tlmm 66 0>,
<&tlmm 38 0>;
qcom,gpio-vana= <1>;
qcom,gpio-vdig= <2>;
qcom,gpio-reset = <3>;
qcom,gpio-req-tbl-num = <0 1 2 3>;
qcom,gpio-req-tbl-flags = <1 0 0 0>;
qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_AVDD1",
"CAM_DVDD1",
"CAM_RESET1";
status = "ok";
clocks = <&clock_gcc clk_mclk1_clk_src>,
<&clock_gcc clk_gcc_camss_mclk1_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
qcom,camera@0 {
cell-index = <0>;
compatible = "qcom,camera";
reg = <0x0>;
qcom,csiphy-sd-index = <0>;
qcom,csid-sd-index = <0>;
qcom,mount-angle = <90>;
qcom,eeprom-src = <&eeprom_spyro0>;
qcom,actuator-src = <&actuator_spyro0>;
cam_vio-supply = <&pm660_l14>;
cam_vaf-supply = <&L19A>;
cam_vdig-supply = <&pm660_l2>;
qcom,cam-vreg-name = "cam_vana", "cam_vio",
"cam_vdig", "cam_vaf";
qcom,cam-vreg-min-voltage = <2800000 1800000 1050000 2850000>;
qcom,cam-vreg-max-voltage = <2800000 1800000 1050000 3200000>;
qcom,cam-vreg-op-mode = <80000 0 200000 100000>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_default
&cam_sensor_rear_reset
&cam_sensor_rear_vana
&cam_sensor_rear_standby>;
pinctrl-1 = <&cam_sensor_mclk0_sleep
&cam_sensor_rear_reset_sleep
&cam_sensor_rear_vana_sleep
&cam_sensor_rear_standby_sleep>;
gpios = <&tlmm 26 0>,
<&tlmm 36 0>,
<&tlmm 58 0>,
<&tlmm 92 0>;
qcom,gpio-reset = <1>;
qcom,gpio-vana = <2>;
qcom,gpio-standby = <3>;
qcom,gpio-req-tbl-num = <0 1 2 3>;
qcom,gpio-req-tbl-flags = <1 0 0 0>;
qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0",
"CAM_VANA",
"CAM_STANDBY";
qcom,sensor-position = <0>;
qcom,sensor-mode = <0>;
qcom,cci-master = <0>;
status = "ok";
clocks = <&clock_gcc clk_mclk0_clk_src>,
<&clock_gcc clk_gcc_camss_mclk0_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
qcom,camera@1 {
cell-index = <1>;
compatible = "qcom,camera";
reg = <0x1>;
qcom,csiphy-sd-index = <1>;
qcom,csid-sd-index = <1>;
qcom,mount-angle = <270>;
qcom,eeprom-src = <&eeprom_spyro1>;
cam_vdig-supply = <&pm660_l3>;
cam_vio-supply = <&pm660_l14>;
cam_vana-supply = <&pm660_s5>;
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
qcom,cam-vreg-min-voltage = <1200000 1800000 1420000>;
qcom,cam-vreg-max-voltage = <1200000 1800000 1420000>;
qcom,cam-vreg-op-mode = <200000 80000 80000>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_default
&cam_sensor_front_default>;
pinctrl-1 = <&cam_sensor_mclk1_sleep
&cam_sensor_front_sleep>;
gpios = <&tlmm 27 0>,
<&tlmm 33 0>,
<&tlmm 66 0>,
<&tlmm 38 0>;
qcom,gpio-vana= <1>;
qcom,gpio-vdig= <2>;
qcom,gpio-reset = <3>;
qcom,gpio-req-tbl-num = <0 1 2 3>;
qcom,gpio-req-tbl-flags = <1 0 0 0>;
qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_AVDD1",
"CAM_DVDD1",
"CAM_RESET1";
qcom,sensor-position = <0x1>;
qcom,sensor-mode = <0>;
qcom,cci-master = <1>;
clocks = <&clock_gcc clk_mclk1_clk_src>,
<&clock_gcc clk_gcc_camss_mclk1_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
qcom,camera@2 {
cell-index = <2>;
compatible = "qcom,camera";
reg = <0x02>;
qcom,csiphy-sd-index = <1>;
qcom,csid-sd-index = <1>;
qcom,mount-angle = <270>;
qcom,actuator-src = <&actuator_spyro1>;
cam_vdig-supply = <&pm660_l3>;
cam_vana-supply = <&pm660_l7>;
cam_vio-supply = <&pm660_l6>;
cam_vaf-supply = <&pm660_l19>;
qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana",
"cam_vaf";
qcom,cam-vreg-min-voltage = <1200000 0 2800000 2850000>;
qcom,cam-vreg-max-voltage = <1200000 0 2800000 3200000>;
qcom,cam-vreg-op-mode = <105000 0 80000 100000>;
qcom,gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_default
&cam_sensor_front1_default>;
pinctrl-1 = <&cam_sensor_mclk2_sleep
&cam_sensor_front1_sleep>;
gpios = <&tlmm 27 0>,
<&tlmm 38 0>,
<&tlmm 39 0>;
qcom,gpio-reset = <1>;
qcom,gpio-standby = <2>;
qcom,gpio-req-tbl-num = <0 1 2>;
qcom,gpio-req-tbl-flags = <1 0 0>;
qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2",
"CAM_STANDBY2";
qcom,sensor-position = <1>;
qcom,sensor-mode = <0>;
qcom,cci-master = <0>;
status = "disabled";
clocks = <&clock_gcc clk_mclk2_clk_src>,
<&clock_gcc clk_gcc_camss_mclk2_clk>;
clock-names = "cam_src_clk", "cam_clk";
qcom,clock-rates = <24000000 0>;
};
};