"Devon push for Android 13"

* tag 'MMI-T2SN33.73-22-3' of https://github.com/MotorolaMobilityLLC/kernel-camera-devicetree:
  arm64/dts: rhode: fixed 3rd app capture failure
  devon: Fix flash request GPIO-85 failed
  arm64/dts: devon: macro ov02b10 eeprom bring up(1/2)
  arm64/dts: devon: Actuator noise reduction.
  devon4g: camera flash bringup
  devon4g: camera actuator bringup
  devon4g: camera eeprom bringup
  devon4g: camera sensor bringup
  arm64/dts: hawao: remove duplicate gpio group
  Revert "(CR): arm64/dts: Devon: s5kjn1 bring up"
  :Revert "(CR): arm64/dts: devon: hi1634q bring up"
  arm64/dts: devon: hi1634q bring up
  arm64/dts: Devon: s5kjn1 bring up
  arm64/dts: hawao: Actuator noise reduction.
  arm64/dts: hawao: Flash compatible
  arm64/dts: rhode: main camera probe failed
  arm64/dts: rhode: Actuator noise reduction.
  arm64/dts rhode: slove the problem that open camera reboot
  arm64/dts: hawao: Add flash led ocp81373 dtsi
  arm64/dts: hawao: Change macro avdd ldo
  arm64/dts: hawao: AF bringup for s5kjn1
  arm64/dts: hawao: Add front camera eeprom dtsi
  arm64/dts: hawao: Add macro camera eeprom dtsi
  arm64/dts: hawao: Add wide camera eeprom dtsi
  arm64/dts: hawao: Add main camera eeprom dtsi
  arm64/dts: hawao: Add macro camera dtsi
  arm64/dts: hawao: Add wide camera dtsi
  arm64/dts: hawao: Add front camera dtsi
  arm64/dts: hawao: Add main camera dtsi
  Rhode: wide & macro flash bring up (1/2)
  arm64/dts: add flash dtsi
  arm64/dts: rhode: Compatible with ldo fan53870
  arm64/dts: rhode: dvt camera compatible
  arm64/dts: Fork new dtbo for Rhode4G EVT hardware.
  arm64/dts rhode: solve the camera open failed
  arm64/dts Rhode4G: camera bringup
  arm64/dts Rhode4G: Add dtsi for macro eeprom
  arm64/dts: Rhode4G: wide eeprom bring up(2/2)
  fix input touch gpio
  arm64/dts: Rhode4G: main eeprom bring up(2/3)
  arm64/dts Rhode4G: main af bring up(2/2)
  arm64/dts Rhode4G: Add devicetree for Rhode front camera ov16a1q eeprom(2/2)
  arm64/dts: Add devicetree for Rhode front camera sensor ov16a1q.
  arm64/dts: Rhode4G: add macro camera dtsi
  arm64/dts: Rhode4G: add wide camera dtsi(2/2)
  arm64/dts: Rhode4G: add main camera dtsi(2/2)
  arm64/dts: Add AF power control into sensor power sequence.
  arm64/dts: Add multi user support flag.
  arm64/dtsi: chang GM1 CCI speed
  Caprip and carpi SAT function crash
  Caprip and carpi: marco camera and wide camera con control flash
  Caprip: modify caprip front camera dvdd
  arm64/dts: caprip bringup front/rear subdev
  arm64/dts: caprip bring up eeprom.
  arm64/dts: Caprip bring up sensors.
  arm64/dts: bring up 4h7 Flash.
  arm64/dts: bring up capri sensors.
  setup camera baseline for capri/capri+
  arm/dts: borneo: improve RF desense
  cebu: dtsi add camera basic config
  arm/dts: borneo: increase MCLK driver strength
  guamna: add front camera eeprom dts
  arm/dt: borneo: change macro sensor oriention from 270 to 90.
  arm/dt: borneo: modify camera pinctrl config.
  arm/dts: guamna: update flash node
  arm/dts: guamna: add camera dtsi file
  arm/dt: borneo: config camera dts
  arm/dt: guamp: modify ov02b10 sensor-position-roll
  arm/dt: guamp: modify camera dts
  arm/dt: guamp: add flash node for ov02b10
  arm/dt: guam: add ob02b1b otp dts
  guamp: arm64/dtsi add rear depth camera otp
  guamp: arm64/dtsi add rear macro camera eeprom
  guamp: arm64/dtsi add rear macro camera ov02b10
  guamp: arm64/dtsi add rear depth camera ov02b1b
  arm/dt: guam/guamp: add 4h7 eeprom dts
  arm/dt: guamp: add 4h7 dtsi
  arm/dt: guam/guam+: add eeprom dts
  guam: dtsi add ov02b1b sensor driver
  arm/dt: guam: add 4h7 dtsi
  arm/dt: guam: add camera dts
  arm/dt: guamp: modify main camera dts
  arm/dt: guamp: add camera dtsi

Change-Id: I7671f68143b6dd345213f200e9db150b5c3a8a85
This commit is contained in:
Michael Bestas committed 2024-01-03 01:06:05 +02:00
commit 923eae1bbf
12 files changed
+7493

No files matched your search

@@ -0,0 +1,695 @@
#include <dt-bindings/clock/qcom,gcc-bengal.h>
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* main mclk*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* main mclk*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
/* front mclk*/
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable;
drive-strength = <4>;
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
/* front mclk*/
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <4>;
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
/* macro mclk*/
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <4>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
/* macro mclk*/
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <4>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* depth mclk*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <4>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* depth mclk*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <4>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
/* main reset*/
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
/* main reset*/
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
/* front reset*/
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
/* front reset*/
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear2_reset_active: cam_sensor_rear2_reset_active {
/* depth reset*/
mux {
pins = "gpio65";
function = "gpio";
};
config {
pins = "gpio65";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear2_reset_suspend: cam_sensor_rear2_reset_suspend {
/* depth reset*/
mux {
pins = "gpio65";
function = "gpio";
};
config {
pins = "gpio65";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear3_reset_active: cam_sensor_rear3_reset_active {
/* macro reset*/
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear3_reset_suspend: cam_sensor_rear3_reset_suspend {
/* macro reset*/
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
camera_main_front_avdd_en_default: camera_main_front_avdd_en_default {
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
camera_main_dvdd_en_default: camera_main_dvdd_en_default {
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
camera_iovdd_en_default: camera_iovdd_en_default {
mux {
pins = "gpio96";
function = "gpio";
};
config {
pins = "gpio96";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
camera_main_macro_afvdd_en_default: camera_main_macro_afvdd_en_default {
mux {
pins = "gpio25";
function = "gpio";
};
config {
pins = "gpio25";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
camera_front_dvdd_en_default: camera_front_dvdd_en_default {
mux {
pins = "gpio36";
function = "gpio";
};
config {
pins = "gpio36";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
camera_depth_macro_avdd_en_default: camera_depth_macro_avdd_en_default {
mux {
pins = "gpio111";
function = "gpio";
};
config {
pins = "gpio111";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
};
&soc {
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
};
led_flash_main: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
led_flash_macro: qcom,camera-flash@1 {
cell-index = <1>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
camera_main_front_avdd: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_main_front_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 26 0>;
pinctrl-names = "default";
pinctrl-0 = <&camera_main_front_avdd_en_default>;
};
camera_main_dvdd: gpio-regulator@1 {
compatible = "regulator-fixed";
reg = <0x01 0x00>;
regulator-name = "camera_main_dvdd";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 93 0>;
pinctrl-names = "default";
pinctrl-0 = <&camera_main_dvdd_en_default>;
vin-supply = <&S6A>;
};
camera_iovdd: gpio-regulator@2 {
compatible = "regulator-fixed";
reg = <0x02 0x00>;
regulator-name = "camera_iovdd";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 96 0>;
pinctrl-names = "default";
pinctrl-0 = <&camera_iovdd_en_default>;
};
camera_main_macro_afvdd: gpio-regulator@3 {
compatible = "regulator-fixed";
reg = <0x03 0x00>;
regulator-name = "camera_main_macro_afvdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 25 0>;
pinctrl-names = "default";
pinctrl-0 = <&camera_main_macro_afvdd_en_default>;
};
camera_front_dvdd: gpio-regulator@4 {
compatible = "regulator-fixed";
reg = <0x04 0x00>;
regulator-name = "camera_front_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 36 0>;
pinctrl-names = "default";
pinctrl-0 = <&camera_front_dvdd_en_default>;
vin-supply = <&S6A>;
};
camera_depth_macro_avdd: gpio-regulator@5 {
compatible = "regulator-fixed";
reg = <0x05 0x00>;
regulator-name = "camera_depth_macro_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 111 0>;
pinctrl-names = "default";
pinctrl-0 = <&camera_depth_macro_avdd_en_default>;
};
};
&cam_cci0 {
actuator_main: qcom,actuator@0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&camera_main_macro_afvdd>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
};
actuator_macro: qcom,actuator@1 {
cell-index = <1>;
compatible = "qcom,actuator";
cci-master = <1>;
cam_vaf-supply = <&camera_main_macro_afvdd>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
};
eeprom_main: qcom,eeprom@0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,eeprom";
cci-master = <0>;
cam_vaf-supply = <&camera_main_macro_afvdd>;
cam_vio-supply = <&camera_iovdd>;
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <100000 120000>;
status = "ok"
};
eeprom_front: qcom,eeprom@1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_main_front_avdd>;
cam_vdig-supply = <&camera_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_depth: qcom,eeprom@2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cci-master = <1>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 65 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_macro: qcom,eeprom@3 {
cell-index = <3>;
reg = <0x3>;
compatible = "qcom,eeprom";
cci-master = <1>;
cam_vio-supply = <&camera_iovdd>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
status = "ok"
};
qcom,cam-sensor@0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_main>;
led-flash-src = <&led_flash_main>;
eeprom-src = <&eeprom_main>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_main_front_avdd>;
cam_vdig-supply = <&camera_main_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1050000 0>;
rgltr-max-voltage = <1800000 2800000 1050000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
qcom,cam-sensor@1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_main_front_avdd>;
cam_vdig-supply = <&camera_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_depth>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 65 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_macro>;
led-flash-src = <&led_flash_macro>;
eeprom-src = <&eeprom_macro>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_rear3_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_rear3_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_PWDN2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,753 @@
#include <dt-bindings/clock/qcom,gcc-bengal.h>
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24", "gpio69", "gpio106";
function = "gpio";
};
config {
pins = "gpio24", "gpio69", "gpio106";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24", "gpio69", "gpio106";
function = "gpio";
};
config {
pins = "gpio24", "gpio69", "gpio106";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear2_reset_active: cam_sensor_rear2_reset_active {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear2_reset_suspend: cam_sensor_rear2_reset_suspend {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear_macro_reset_active: cam_sensor_rear_macro_reset_active {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_macro_reset_suspend: cam_sensor_rear_macro_reset_suspend {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_wide_reset_active: cam_sensor_rear_wide_reset_active {
mux {
pins = "gpio102", "gpio69", "gpio106";
function = "gpio";
};
config {
pins = "gpio102", "gpio69", "gpio106";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_wide_reset_suspend: cam_sensor_rear_wide_reset_suspend {
mux {
pins = "gpio102", "gpio69", "gpio106";
function = "gpio";
};
config {
pins = "gpio102", "gpio69", "gpio106";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_depth_macro_avdd_active: cam_sensor_rear_depth_macro_avdd_active {
mux {
pins = "gpio3";
function = "gpio";
};
config {
pins = "gpio3";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_depth_macro_avdd_suspend: cam_sensor_rear_depth_macro_avdd_suspend {
mux {
pins = "gpio3";
function = "gpio";
};
config {
pins = "gpio3";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_wide_dvdd_active: cam_sensor_rear_wide_dvdd_active {
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_wide_dvdd_suspend: cam_sensor_rear_wide_dvdd_suspend {
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&soc {
led_flash_main: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
wide_flash_main: qcom,camera-flash@1 {
cell-index = <1>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
camera_rear_wide_dvdd: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_rear_wide_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 103 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_sensor_rear_wide_dvdd_active>;
vin-supply = <&S6A>;
};
camera_rear_depth_macro_avdd: gpio-regulator@1 {
compatible = "regulator-fixed";
reg = <0x01 0x00>;
regulator-name = "camera_rear_depth_macro_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 3 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_sensor_rear_depth_macro_avdd_active>;
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
};
};
&cam_cci0 {
i2c_freq_custom_cci0: qcom,i2c_custom_mode {
hw-thigh = <16>;
hw-tlow = <22>;
hw-tsu-sto = <17>;
hw-tsu-sta = <18>;
hw-thd-dat = <16>;
hw-thd-sta = <15>;
hw-tbuf = <24>;
hw-scl-stretch-en = <1>;
hw-trdhld = <3>;
hw-tsp = <3>;
cci-clk-src = <37500000>;
status = "ok"
};
actuator_main: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&L5P>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
};
/*main : GM1*/
eeprom_main: qcom,eeprom0 {
cell-index = <0>;
compatible = "qcom,eeprom";
cci-master = <0>;
cam_vaf-supply = <&L5P>;
cam_vio-supply = <&L7P>;
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <100000 120000>;
status = "ok"
};
/*front : 4h7*/
eeprom_front: qcom,eeprom1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L6P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*depth : ov02b1b*/
eeprom_depth: qcom,eeprom2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&camera_rear_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*wide : 4h7*/
eeprom_wide: qcom,eeprom3 {
cell-index = <3>;
reg = <0x3>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_vdig-supply = <&camera_rear_wide_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_rear_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_rear_wide_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 102 0>,
<&tlmm 69 0>,
<&tlmm 106 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-custom2 = <3>;//sel:low for front high for wide
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2",
"CAM_MIPI_OE",
"CAM_MIPI_SEL";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* macro : ov02b10 */
eeprom_macro: qcom,eeprom4 {
cell-index = <4>;
reg = <0x4>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&camera_rear_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_PWDN";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* main : GM1*/
qcom,cam-sensor0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_main>;
led-flash-src = <&led_flash_main>;
eeprom-src = <&eeprom_main>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L4P>;
cam_vdig-supply = <&L2P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1050000 0>;
rgltr-max-voltage = <1800000 2800000 1050000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* front : 4h7*/
qcom,cam-sensor1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L6P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>,
<&tlmm 69 0>,
<&tlmm 106 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-custom2 = <3>;/*sel:low for front high for wide */
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2",
"CAM_MIPI_OE",
"CAM_MIPI_SEL";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* depth : ov02b1b */
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_depth>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&camera_rear_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* wide : 4h7 */
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_wide>;
led-flash-src = <&wide_flash_main>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_vdig-supply = <&camera_rear_wide_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_rear_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_rear_wide_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 102 0>,
<&tlmm 69 0>,
<&tlmm 106 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-custom2 = <3>;//sel:low for front high for wide
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2",
"CAM_MIPI_OE",
"CAM_MIPI_SEL";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* macro : ov02b10 */
qcom,cam-sensor@4 {
cell-index = <4>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
//eeprom-src = <&eeprom_macro>;
led-flash-src = <&led_flash_main>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&camera_rear_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_PWDN";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,692 @@
#include <dt-bindings/clock/qcom,gcc-bengal.h>
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear2_reset_active: cam_sensor_rear2_reset_active {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear2_reset_suspend: cam_sensor_rear2_reset_suspend {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
/* MCLK 1*/
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
/* MCLK 1*/
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear1_reset_active: cam_sensor_rear1_reset_active {
/* RESET1 */
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear1_reset_suspend: cam_sensor_rear1_reset_suspend {
/* RESET1 */
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_depth_macro_avdd_active: cam_sensor_rear_depth_macro_avdd_active {
mux {
pins = "gpio3";
function = "gpio";
};
config {
pins = "gpio3";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_wide_dvdd_active: cam_sensor_rear_wide_dvdd_active {
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_wide_reset_active: cam_sensor_rear_wide_reset_active {
mux {
pins = "gpio102", "gpio69", "gpio106";
function = "gpio";
};
config {
pins = "gpio102", "gpio69", "gpio106";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_wide_reset_suspend: cam_sensor_rear_wide_reset_suspend {
mux {
pins = "gpio102", "gpio69", "gpio106";
function = "gpio";
};
config {
pins = "gpio102", "gpio69", "gpio106";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&L2P {
regulator-max-microvolt = <1356000>;
qcom,min-dropout-voltage = <100000>;
};
&soc {
led_flash_main: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
wide_flash_main: qcom,camera-flash@1 {
cell-index = <1>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
};
camera_rear_wide_dvdd: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_rear_wide_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 103 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_sensor_rear_wide_dvdd_active>;
vin-supply = <&S6A>;
};
camera_rear_depth_macro_avdd: gpio-regulator@1 {
compatible = "regulator-fixed";
reg = <0x01 0x00>;
regulator-name = "camera_rear_depth_macro_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 3 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_sensor_rear_depth_macro_avdd_active>;
};
};
&cam_cci0 {
actuator_main: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&L5P>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
multi-user-support;
};
eeprom_main: qcom,eeprom0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,eeprom";
cam_vaf-supply = <&L5P>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L4P>;
cam_vdig-supply = <&L2P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vaf","cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000 2800000 1100000 0>;
rgltr-max-voltage = <2800000 1800000 2800000 1100000 0>;
rgltr-load-current = <100000 120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_front: qcom,eeprom1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
cci-master = <1>;
status = "ok"
};
eeprom_depth: qcom,eeprom2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&camera_rear_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*wide : 4h7*/
eeprom_wide: qcom,eeprom3 {
cell-index = <3>;
reg = <0x3>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_vdig-supply = <&camera_rear_wide_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_rear_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_rear_wide_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 102 0>,
<&tlmm 69 0>,
<&tlmm 106 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-custom2 = <3>;//sel:low for front high for wide
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2",
"CAM_MIPI_OE",
"CAM_MIPI_SEL";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* main */
qcom,cam-sensor0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_main>;
led-flash-src = <&led_flash_main>;
eeprom-src = <&eeprom_main>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L4P>;
cam_vdig-supply = <&L2P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
cam_vaf-supply = <&L5P>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk", "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1100000 0 2800000>;
rgltr-max-voltage = <1800000 2800000 1100000 0 2800000>;
rgltr-load-current = <120000 80000 1200000 0 100000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* front */
qcom,cam-sensor1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L6P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1050000 0>;
rgltr-max-voltage = <1800000 2800000 1050000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>,
<&tlmm 69 0>,
<&tlmm 106 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-custom2 = <3>;
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1",
"CAM_MIPI_OE1",
"CAM_MIPI_SEL1";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b1b */
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_depth>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&camera_rear_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* wide : 4h7 */
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_wide>;
led-flash-src = <&wide_flash_main>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_vdig-supply = <&camera_rear_wide_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_rear_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_rear_wide_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 102 0>,
<&tlmm 69 0>,
<&tlmm 106 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-custom2 = <3>;//sel:low for front high for wide
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2",
"CAM_MIPI_OE",
"CAM_MIPI_SEL";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* macro gc02m1 ov02b10*/
qcom,cam-sensor4 {
cell-index = <4>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_main>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&camera_rear_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
cam_vaf-supply = <&L5P>;
regulator-names = "cam_vio", "cam_vana",
"cam_clk", "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0 2800000>;
rgltr-max-voltage = <1800000 2800000 0 2800000>;
rgltr-load-current = <120000 80000 0 100000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear1_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear1_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK4",
"CAM_RESET4";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,775 @@
#include <dt-bindings/clock/qcom,gcc-bengal.h>
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_main_reset_active: cam_sensor_rear_main_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_main_reset_suspend: cam_sensor_rear_main_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_depth_reset_active: cam_sensor_rear_depth_reset_active {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_depth_reset_suspend: cam_sensor_rear_depth_reset_suspend {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_macro_reset_active: cam_sensor_rear_macro_reset_active {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_macro_reset_suspend: cam_sensor_rear_macro_reset_suspend {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_main_macro_afvdd_active: cam_sensor_rear_main_macro_afvdd_active {
mux {
pins = "gpio25";
function = "gpio";
};
config {
pins = "gpio25";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_main_macro_afvdd_suspend: cam_sensor_rear_main_macro_afvdd_suspend {
mux {
pins = "gpio25";
function = "gpio";
};
config {
pins = "gpio25";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_iovdd_active: cam_iovdd_active {
mux {
pins = "gpio108";
function = "gpio";
};
config {
pins = "gpio108";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_iovdd_suspend: cam_iovdd_suspend {
mux {
pins = "gpio108";
function = "gpio";
};
config {
pins = "gpio108";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_depth_macro_avdd_active: cam_depth_macro_avdd_active {
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_depth_macro_avdd_suspend: cam_depth_macro_avdd_suspend {
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_rear_main_front_avdd_active: cam_rear_main_front_avdd_active {
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_rear_main_front_avdd_suspend: cam_rear_main_front_avdd_suspend {
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_rear_main_dvdd_active: cam_rear_main_dvdd_active {
mux {
pins = "gpio107";
function = "gpio";
};
config {
pins = "gpio107";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_rear_main_dvdd_suspend: cam_rear_main_dvdd_suspend {
mux {
pins = "gpio107";
function = "gpio";
};
config {
pins = "gpio107";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&soc {
led_flash_main: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
led_flash_macro: qcom,camera-flash@1 {
cell-index = <1>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
camera_rear_main_macro_afvdd: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_rear_main_macro_afvdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 25 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_sensor_rear_main_macro_afvdd_active>;
//pinctrl-1 = <&cam_sensor_rear_main_macro_afvdd_suspend>;
};
camera_iovdd: gpio-regulator@1 {
compatible = "regulator-fixed";
reg = <0x01 0x00>;
regulator-name = "camera_iovdd";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <233>;
//enable-active-high;//fff
gpio = <&tlmm 108 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_iovdd_active>;
//pinctrl-1 = <&cam_iovdd_suspend>;
vin-supply = <&L9A>;
};
camera_depth_macro_avdd: gpio-regulator@2 {
compatible = "regulator-fixed";
reg = <0x02 0x00>;
regulator-name = "camera_depth_macro_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 26 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_depth_macro_avdd_active>;
//pinctrl-1 = <&cam_depth_macro_avdd_suspend>;
};
camera_rear_main_front_avdd: gpio-regulator@3 {
compatible = "regulator-fixed";
reg = <0x03 0x00>;
regulator-name = "camera_rear_main_front_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 103 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_rear_main_front_avdd_active>;
pinctrl-1 = <&cam_rear_main_front_avdd_suspend>;
};
/****************************************
* GPIO_80 low for rear main dvdd *
* GPIO_80 high for front dvdd *
*****************************************/
camera_rear_main_front_dvdd: gpio-regulator@4 {
compatible = "regulator-fixed";
reg = <0x04 0x00>;
regulator-name = "camera_rear_main_front_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 107 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_rear_main_dvdd_active>;
pinctrl-1 = <&cam_rear_main_dvdd_suspend>;
vin-supply = <&S6A>;
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
};
};
&cam_cci0 {
actuator_rear_main: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&camera_rear_main_macro_afvdd>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
};
actuator_rear_macro: qcom,actuator1 {
cell-index = <1>;
compatible = "qcom,actuator";
cci-master = <1>;
cam_vaf-supply = <&camera_rear_main_macro_afvdd>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
};
/* ov64b rear main*/
eeprom_main: qcom,eeprom0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,eeprom";
cam_vaf-supply = <&camera_rear_main_macro_afvdd>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_rear_main_front_avdd>;
cam_vdig-supply = <&camera_rear_main_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vaf", "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000 2800000 1200000 0>;
rgltr-max-voltage = <2800000 1800000 2800000 1200000 0>;
rgltr-load-current = <100000 120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear_main_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear_main_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>,
<&tlmm 80 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;//vdig active-low
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0",
"CAM_DVDD_SEL0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov16a1q front*/
eeprom_front: qcom,eeprom1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_rear_main_front_avdd>;
cam_vdig-supply = <&camera_rear_main_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>,
<&tlmm 80 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;/*vdig active-high */
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET1",
"CAM_DVDD_SEL1";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b1b rear depth*/
eeprom_depth: qcom,eeprom2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear_depth_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear_depth_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b10 rear macro*/
eeprom_macro: qcom,eeprom3 {
cell-index = <3>;
reg = <0x3>;
compatible = "qcom,eeprom";
cci-master = <1>;
cam_vio-supply = <&camera_iovdd>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
status = "ok"
};
/* ov64b rear main */
qcom,cam-sensor0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_rear_main>;
led-flash-src = <&led_flash_main>;
eeprom-src = <&eeprom_main>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_rear_main_front_avdd>;
cam_vdig-supply = <&camera_rear_main_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear_main_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear_main_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>,
<&tlmm 80 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;//vdig active-low
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0",
"CAM_DVDD_SEL0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov16a1q & s5k4h7 front */
qcom,cam-sensor1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_rear_main_front_avdd>;
cam_vdig-supply = <&camera_rear_main_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>,
<&tlmm 80 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;/*vdig active-high */
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET1",
"CAM_DVDD_SEL1";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b1b depth*/
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_depth>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear_depth_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear_depth_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b10 macro*/
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_rear_macro>;
led-flash-src = <&led_flash_macro>;
eeprom-src = <&eeprom_macro>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_depth_macro_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,400 @@
#include <dt-bindings/clock/qcom,gcc-bengal.h>
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear2_reset_active: cam_sensor_rear2_reset_active {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear2_reset_suspend: cam_sensor_rear2_reset_suspend {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
};
&soc {
led_flash_main: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
};
};
&cam_cci0 {
actuator_main: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&L5P>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
};
eeprom_main: qcom,eeprom0 {
cell-index = <0>;
compatible = "qcom,eeprom";
cci-master = <0>;
cam_vaf-supply = <&L5P>;
cam_vio-supply = <&L7P>;
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <100000 120000>;
status = "ok"
};
eeprom_front: qcom,eeprom1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L6P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_depth: qcom,eeprom2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* main */
qcom,cam-sensor0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_main>;
led-flash-src = <&led_flash_main>;
eeprom-src = <&eeprom_main>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L4P>;
cam_vdig-supply = <&L2P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1050000 0>;
rgltr-max-voltage = <1800000 2800000 1050000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* front */
qcom,cam-sensor1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L6P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b1b */
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_depth>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,690 @@
#include <dt-bindings/clock/qcom,gcc-bengal.h>
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* main mclk*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* main mclk*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
/* depth mclk*/
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
/* depth mclk*/
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
/* front mclk*/
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
/* front mclk*/
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* macro mclk*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* macro mclk*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
/* main reset*/
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
/* main reset*/
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
/* front reset*/
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
/* front reset*/
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear2_reset_active: cam_sensor_rear2_reset_active {
/* depth reset*/
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear2_reset_suspend: cam_sensor_rear2_reset_suspend {
/* depth reset*/
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_main_front_avdd_active: cam_main_front_avdd_active {
/* MAIN FRONT AVDD EN */
mux {
pins = "gpio40";
function = "gpio";
};
config {
pins = "gpio40";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_main_front_avdd_suspend: cam_main_front_avdd_suspend {
mux {
pins = "gpio40";
function = "gpio";
};
config {
pins = "gpio40";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_main_dvdd_active: cam_main_dvdd_active {
/* MAIN DVDD EN */
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_main_dvdd_suspend: cam_main_dvdd_suspend {
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_iovdd_active: cam_iovdd_active {
/* IOVDD EN */
mux {
pins = "gpio106";
function = "gpio";
};
config {
pins = "gpio106";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_iovdd_suspend: cam_iovdd_suspend {
mux {
pins = "gpio106";
function = "gpio";
};
config {
pins = "gpio106";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_main_afvdd_active: cam_main_afvdd_active {
/* MAIN DVDD EN */
mux {
pins = "gpio52";
function = "gpio";
};
config {
pins = "gpio52";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_main_afvdd_suspend: cam_main_afvdd_suspend {
mux {
pins = "gpio52";
function = "gpio";
};
config {
pins = "gpio52";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_front_dvdd_active: cam_front_dvdd_active {
/* FRONT DVDD EN */
mux {
pins = "gpio107";
function = "gpio";
};
config {
pins = "gpio107";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_front_dvdd_suspend: cam_front_dvdd_suspend {
mux {
pins = "gpio107";
function = "gpio";
};
config {
pins = "gpio107";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_depth_avdd_active: cam_depth_avdd_active {
/* DEPTH AVDD EN */
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_depth_avdd_suspend: cam_depth_avdd_suspend {
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&soc {
led_flash_main: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0 &pmi632_flash1>;
torch-source = <&pmi632_torch0 &pmi632_torch1>;
switch-source = <&pmi632_switch0 &pmi632_switch0>;
status = "ok"
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
};
camera_main_front_avdd: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_main_front_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 40 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_main_front_avdd_active>;
pinctrl-1 = <&cam_main_front_avdd_suspend>;
};
camera_main_dvdd: gpio-regulator@1 {
compatible = "regulator-fixed";
reg = <0x01 0x00>;
regulator-name = "camera_main_dvdd";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 26 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_main_dvdd_active>;
pinctrl-1 = <&cam_main_dvdd_suspend>;
vin-supply = <&S6A>;
};
camera_iovdd: gpio-regulator@2 {
compatible = "regulator-fixed";
reg = <0x02 0x00>;
regulator-name = "camera_iovdd";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 106 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_iovdd_active>;
pinctrl-1 = <&cam_iovdd_suspend>;
};
camera_main_afvdd: gpio-regulator@3 {
compatible = "regulator-fixed";
reg = <0x03 0x00>;
regulator-name = "camera_main_afvdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 52 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_main_afvdd_active>;
pinctrl-1 = <&cam_main_afvdd_suspend>;
};
camera_front_dvdd: gpio-regulator@4 {
compatible = "regulator-fixed";
reg = <0x04 0x00>;
regulator-name = "camera_front_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 107 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_front_dvdd_active>;
pinctrl-1 = <&cam_front_dvdd_suspend>;
vin-supply = <&S6A>;
};
camera_depth_avdd: gpio-regulator@5 {
compatible = "regulator-fixed";
reg = <0x05 0x00>;
regulator-name = "camera_depth_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 93 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_depth_avdd_active>;
pinctrl-1 = <&cam_depth_avdd_suspend>;
};
};
&cam_cci0 {
actuator_main: qcom,actuator@0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&camera_main_afvdd>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
};
eeprom_main: qcom,eeprom@0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,eeprom";
cci-master = <0>;
cam_vaf-supply = <&camera_main_afvdd>;
cam_vio-supply = <&camera_iovdd>;
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <100000 120000>;
status = "ok"
};
eeprom_front: qcom,eeprom@1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_main_front_avdd>;
cam_vdig-supply = <&camera_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_depth: qcom,eeprom@2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_depth_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* main */
qcom,cam-sensor@0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_main>;
led-flash-src = <&led_flash_main>;
eeprom-src = <&eeprom_main>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_main_front_avdd>;
cam_vdig-supply = <&camera_main_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1050000 0>;
rgltr-max-voltage = <1800000 2800000 1050000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* front */
qcom,cam-sensor@1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_main_front_avdd>;
cam_vdig-supply = <&camera_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b1b */
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_depth>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_depth_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,578 @@
#include <dt-bindings/clock/qcom,gcc-bengal.h>
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
/* MCLK 1*/
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
/* MCLK 1*/
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear2_reset_active: cam_sensor_rear2_reset_active {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear2_reset_suspend: cam_sensor_rear2_reset_suspend {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear3_reset_active: cam_sensor_rear3_reset_active {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear3_reset_suspend: cam_sensor_rear3_reset_suspend {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear_macro_afvdd_active: cam_sensor_rear_macro_afvdd_active {
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear_macro_afvdd_suspend: cam_sensor_rear_macro_afvdd_suspend {
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
};
&soc {
led_flash_main: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
led_flash_macro: qcom,camera-flash@1 {
cell-index = <1>;
compatible = "qcom,camera-flash";
flash-source = <&pmi632_flash0>;
torch-source = <&pmi632_torch0>;
switch-source = <&pmi632_switch0>;
status = "ok"
};
macro_actuator_vdd_ldo: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "macro_actuator_vdd_ldo";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <135>;
enable-active-high;
gpio = <&tlmm 103 0>;
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
};
};
&cam_cci0 {
actuator_main: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&L5P>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
status = "ok"
};
actuator_macro: qcom,actuator1 {
cell-index = <1>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&macro_actuator_vdd_ldo>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <100000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_rear_macro_afvdd_active>;
pinctrl-1 = <&cam_sensor_rear_macro_afvdd_suspend>;
gpios = <&tlmm 103 0>;
gpio-vaf = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CAM_AFVDD_EN";
status = "ok"
};
eeprom_main: qcom,eeprom0 {
cell-index = <0>;
compatible = "qcom,eeprom";
cci-master = <0>;
cam_vaf-supply = <&L5P>;
cam_vio-supply = <&L7P>;
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <100000 120000>;
status = "ok"
};
eeprom_macro: qcom,eeprom3 {
cell-index = <3>;
reg = <0x3>;
compatible = "qcom,eeprom";
cci-master = <0>;
cam_vio-supply = <&L7P>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
status = "ok"
};
eeprom_depth: qcom,eeprom2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cci-master = <1>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_front: qcom,eeprom1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L6P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* main */
qcom,cam-sensor0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_main>;
led-flash-src = <&led_flash_main>;
eeprom-src = <&eeprom_main>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L4P>;
cam_vdig-supply = <&L2P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1050000 0>;
rgltr-max-voltage = <1800000 2800000 1050000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* front */
qcom,cam-sensor1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L6P>;
cam_vdig-supply = <&L1P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b1b */
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_depth>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear2_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear2_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 68 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* ov02b10 */
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_macro>;
led-flash-src = <&led_flash_macro>;
eeprom-src = <&eeprom_macro>;
cam_vio-supply = <&L7P>;
cam_vana-supply = <&L3P>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear3_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear3_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_PWDN";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,22 @@
&pm6125_gpios {
camera_flash_pwm {
camera_flash_pwm_default: camera_flash_pwm_default {
pins = "gpio8";
function = "func1";
input-disable; /* No PULL */
output-low;
bias-disable;
power-source = <0>;
drive-strength = <3>;
};
};
};
&soc {
pm6125_flash_gpio:pm6125_flash_gpio {
compatible = "qualcomm,pm6125_flash_gpio";
pinctrl-names = "camera_flash_pwm_default";
pinctrl-0 = <&camera_flash_pwm_default>;
pwms = <&pm6125_pwm 0 0>;
};
};
@@ -0,0 +1,940 @@
#include <dt-bindings/clock/qcom,gcc-khaje.h>
#include <dt-bindings/msm/msm-camera.h>
#include "khaje-camera-flash-pwm.dtsi"
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_marco_reset_active: cam_sensor_marco_reset_active {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_marco_reset_suspend: cam_sensor_marco_reset_suspend {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_wide_reset_active: cam_sensor_wide_reset_active {
mux {
pins = "gpio65";
function = "gpio";
};
config {
pins = "gpio65";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_wide_reset_suspend: cam_sensor_wide_reset_suspend {
mux {
pins = "gpio65";
function = "gpio";
};
config {
pins = "gpio65";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_main_avdd_active: cam_main_avdd_active {
/* MAIN AVDD EN */
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_main_avdd_suspend: cam_main_avdd_suspend {
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_main_dvdd_active: cam_main_dvdd_active {
/* MAIN DVDD EN */
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_main_dvdd_suspend: cam_main_dvdd_suspend {
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_main_afvdd_active: cam_main_afvdd_active {
/* MAIN AFVDD EN */
mux {
pins = "gpio112";
function = "gpio";
};
config {
pins = "gpio112";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_main_afvdd_suspend: cam_main_afvdd_suspend {
mux {
pins = "gpio112";
function = "gpio";
};
config {
pins = "gpio112";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_front_avdd_active: cam_front_avdd_active {
/* FRONT AVDD EN */
mux {
pins = "gpio60";
function = "gpio";
};
config {
pins = "gpio60";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_front_avdd_suspend: cam_front_avdd_suspend {
mux {
pins = "gpio60";
function = "gpio";
};
config {
pins = "gpio60";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_front_dvdd_active: cam_front_dvdd_active {
/* FRONT DVDD EN */
mux {
pins = "gpio59";
function = "gpio";
};
config {
pins = "gpio59";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_front_dvdd_suspend: cam_front_dvdd_suspend {
mux {
pins = "gpio59";
function = "gpio";
};
config {
pins = "gpio59";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_iovdd_active: cam_iovdd_active {
/* IOVDD EN */
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_iovdd_suspend: cam_iovdd_suspend {
mux {
pins = "gpio103";
function = "gpio";
};
config {
pins = "gpio103";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_wide_dvdd_active: cam_wide_dvdd_active {
/* WIDE DVDD EN */
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_wide_dvdd_suspend: cam_wide_dvdd_suspend {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
flash_active: flash_active {
/* FLASH */
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
flash_suspend: cam_flash_suspend {
/* FLASH */
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_res_mgr_default: cam_res_mgr_default {
/* FLASH */
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_res_mgr_suspend: cam_res_mgr_suspend {
/* FLASH */
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&pm6125_pwm {
status = "ok"
};
&soc {
camera_main_avdd: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_main_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 54 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_main_avdd_active>;
pinctrl-1 = <&cam_main_avdd_suspend>;
//vin-supply = <&VPH_PWR>;
};
camera_main_dvdd: gpio-regulator@1 {
compatible = "regulator-fixed";
reg = <0x01 0x00>;
regulator-name = "camera_main_dvdd";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 26 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_main_dvdd_active>;
pinctrl-1 = <&cam_main_dvdd_suspend>;
vin-supply = <&S7A>;
};
camera_main_afvdd: gpio-regulator@2 {
compatible = "regulator-fixed";
reg = <0x02 0x00>;
regulator-name = "camera_main_afvdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 112 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_main_afvdd_active>;
pinctrl-1 = <&cam_main_afvdd_suspend>;
//vin-supply = <&VPH_PWR>;
};
camera_front_avdd: gpio-regulator@3 {
compatible = "regulator-fixed";
reg = <0x03 0x00>;
regulator-name = "camera_front_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 60 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_front_avdd_active>;
pinctrl-1 = <&cam_front_avdd_suspend>;
//vin-supply = <&VPH_PWR>;
};
camera_front_dvdd: gpio-regulator@4 {
compatible = "regulator-fixed";
reg = <0x04 0x00>;
regulator-name = "camera_front_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 59 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_front_dvdd_active>;
pinctrl-1 = <&cam_front_dvdd_suspend>;
vin-supply = <&S7A>;
};
camera_iovdd: gpio-regulator@5 {
compatible = "regulator-fixed";
reg = <0x05 0x00>;
regulator-name = "camera_iovdd";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 103 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_iovdd_active>;
pinctrl-1 = <&cam_iovdd_suspend>;
//vin-supply = <&VPH_PWR>;
};
camera_wide_dvdd: gpio-regulator@6 {
compatible = "regulator-fixed";
reg = <0x06 0x00>;
regulator-name = "camera_wide_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 68 0>;
pinctrl-names = "default";
pinctrl-0 = <&cam_wide_dvdd_active>;
pinctrl-1 = <&cam_wide_dvdd_suspend>;
vin-supply = <&S7A>;
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
gpios = <&tlmm 85 0>;
pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend";
pinctrl-0 = <&cam_res_mgr_default>;
pinctrl-1 = <&cam_res_mgr_suspend>;
};
};
&cam_cci0 {
actuator_rear: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&camera_main_afvdd>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <2800000>;
status = "ok"
multi-user-support;
};
led_flash_rear_devon: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
led_flash_marco_devon: qcom,camera-flash@1 {
cell-index = <1>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
led_flash_wide_devon: qcom,camera-flash@2 {
cell-index = <2>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
eeprom_main: qcom,eeprom@0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,eeprom";
cam_vio-supply = <&camera_iovdd>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
cci-master = <0>;
status = "ok"
};
eeprom_front: qcom,eeprom@1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&camera_iovdd>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
cci-master = <1>;
status = "ok"
};
eeprom_macro: qcom,eeprom@2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&camera_iovdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 0>;
rgltr-max-voltage = <1800000 0>;
rgltr-load-current = <120000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_marco_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_marco_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 19 0>,
<&pm6125_gpios 9 0>,
<&pm6125_gpios 1 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-custom2 = <3>;
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET3",
"CAM_VANA3",
"CAM_MIPI_SEL";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_wide:qcom,eeprom@3 {
cell-index = <3>;
compatible = "qcom,eeprom";
csiphy-sd-index = <1>;
cam_vio-supply = <&camera_iovdd>;
cam_vdig-supply = <&camera_wide_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 1200000 0>;
rgltr-max-voltage = <1800000 1200000 0>;
rgltr-load-current = <120000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_wide_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 65 0>,
<&pm6125_gpios 2 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2",
"CAM_VANA2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* main : JN1*/
qcom,cam-sensor@0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_rear_devon>;
eeprom-src = <&eeprom_main>;
actuator-src = <&actuator_rear>;
cam_vaf-supply = <&camera_main_afvdd>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_main_avdd>;
cam_vdig-supply = <&camera_main_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names ="cam_vio", "cam_vana", "cam_vdig",
"cam_clk", "cam_vaf";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1050000 0 2800000>;
rgltr-max-voltage = <1800000 2800000 1050000 0 2800000>;
rgltr-load-current = <120000 80000 1200000 0 100000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*front*/
qcom,cam-sensor@1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&camera_iovdd>;
cam_vana-supply = <&camera_front_avdd>;
cam_vdig-supply = <&camera_front_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 24 0>,
<&pm6125_gpios 1 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1",
"CAM_MIPI_SEL";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*marco*/
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_marco_devon>;
eeprom-src = <&eeprom_macro>;
cam_vio-supply = <&camera_iovdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 0>;
rgltr-max-voltage = <1800000 0>;
rgltr-load-current = <120000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_marco_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_marco_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 19 0>,
<&pm6125_gpios 9 0>,
<&pm6125_gpios 1 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-custom2 = <3>;
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET3",
"CAM_VANA3",
"CAM_MIPI_SEL";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*Wide*/
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_wide_devon>;
eeprom-src = <&eeprom_wide>;
cam_vio-supply = <&camera_iovdd>;
cam_vdig-supply = <&camera_wide_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 1200000 0>;
rgltr-max-voltage = <1800000 1200000 0>;
rgltr-load-current = <120000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_wide_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 65 0>,
<&pm6125_gpios 2 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2",
"CAM_VANA2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,696 @@
#include <dt-bindings/clock/qcom,gcc-khaje.h>
#include <dt-bindings/msm/msm-camera.h>
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear_macro_reset_active: cam_sensor_rear_macro_reset_active {
mux {
pins = "gpio65" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio65" ,"gpio67";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_macro_reset_suspend: cam_sensor_rear_macro_reset_suspend {
mux {
pins = "gpio65" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio65" ,"gpio67";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_wide_reset_active: cam_sensor_rear_wide_reset_active {
mux {
pins = "gpio19" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio19" ,"gpio67";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_wide_reset_suspend: cam_sensor_rear_wide_reset_suspend {
mux {
pins = "gpio19" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio19" ,"gpio67";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
camera_dvdd_en_active: camera_dvdd_en_active {
/* VDIG */
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
camera_dvdd_en_suspend: camera_dvdd_en_suspend {
/* VDIG */
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_flash_en_active: cam_flash_en_active {
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_flash_en_suspend: cam_flash_en_suspend {
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_flash_torch_active: cam_flash_torch_active {
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_flash_torch_suspend: cam_flash_torch_suspend {
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&soc {
camera_dvdd_en: gpio-regulator@0 {
compatible = "regulator-fixed";
reg = <0x00 0x00>;
regulator-name = "camera_dvdd_en";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
gpio = <&tlmm 68 0>;
pinctrl-names = "default";
pinctrl-0 = <&camera_dvdd_en_active>;
vin-supply = <&S6A>;
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
};
};
&cam_cci0 {
led_flash_rear: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
cci-master = <1>;
flash-type = <CAM_FLASH_TYPE_I2C>;
cam_vio-supply = <&cam_ldo7>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <3000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default","cam_suspend";
pinctrl-0 = <&cam_flash_en_active &cam_flash_torch_active>;
pinctrl-1 = <&cam_flash_en_suspend &cam_flash_torch_suspend>;
gpios = <&tlmm 85 0>,
<&tlmm 93 0>;
gpio-custom1 = <0>;
gpio-custom2 = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <0 0>;
gpio-req-tbl-label = "SENSOR_CUSTOM_GPIO1",
"SENSOR_CUSTOM_GPIO2";
distinguish-flash-supplier = <0xc6 0x0c 0x0a>;
status = "ok"
};
led_flash_macro: qcom,camera-flash@2 {
cell-index = <2>;
compatible = "qcom,camera-flash";
cci-master = <1>;
flash-type = <CAM_FLASH_TYPE_I2C>;
cam_vio-supply = <&cam_ldo7>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <3000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default","cam_suspend";
pinctrl-0 = <&cam_flash_en_active &cam_flash_torch_active>;
pinctrl-1 = <&cam_flash_en_suspend &cam_flash_torch_suspend>;
gpios = <&tlmm 85 0>,
<&tlmm 93 0>;
gpio-custom1 = <0>;
gpio-custom2 = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <0 0>;
gpio-req-tbl-label = "SENSOR_CUSTOM_GPIO1",
"SENSOR_CUSTOM_GPIO2";
distinguish-flash-supplier = <0xc6 0x0c 0x0a>;
status = "ok"
};
led_flash_wide: qcom,camera-flash@3 {
cell-index = <3>;
compatible = "qcom,camera-flash";
cci-master = <1>;
flash-type = <CAM_FLASH_TYPE_I2C>;
cam_vio-supply = <&cam_ldo7>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <3000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default","cam_suspend";
pinctrl-0 = <&cam_flash_en_active &cam_flash_torch_active>;
pinctrl-1 = <&cam_flash_en_suspend &cam_flash_torch_suspend>;
gpios = <&tlmm 85 0>,
<&tlmm 93 0>;
gpio-custom1 = <0>;
gpio-custom2 = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <0 0>;
gpio-req-tbl-label = "SENSOR_CUSTOM_GPIO1",
"SENSOR_CUSTOM_GPIO2";
distinguish-flash-supplier = <0xc6 0x0c 0x0a>;
status = "ok"
};
actuator_rear: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&cam_ldo5>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2800000>;
rgltr-load-current = <2800000>;
multi-user-support;
status = "ok"
};
eeprom_main: qcom,eeprom@0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo7>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <3000>;
cci-master = <0>;
status = "ok"
};
eeprom_front: qcom,eeprom@1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo7>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <3000>;
cci-master = <1>;
status = "ok"
};
eeprom_macro: qcom,eeprom@2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo7>;
cam_vana-supply = <&cam_ldo3>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 65 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;//sel low for macro,high for wide
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET3",
"CAM_MIPI_SEL";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_wide:qcom,eeprom@3 {
cell-index = <3>;
compatible = "qcom,eeprom";
csiphy-sd-index = <1>;
cam_vio-supply = <&cam_ldo7>;
cam_vana-supply = <&cam_ldo6>;
cam_vdig-supply = <&camera_dvdd_en>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_wide_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1",
"CAM_SWICH_SEL";
sensor-mode = <0>;
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* main : JN1*/
qcom,cam-sensor@0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_main>;
led-flash-src = <&led_flash_rear>;
actuator-src = <&actuator_rear>;
cam_vio-supply = <&cam_ldo7>;
cam_vana-supply = <&cam_ldo4>;
cam_vdig-supply = <&cam_ldo2>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names ="cam_vio", "cam_vana", "cam_vdig",
"cam_clk","cam_vaf";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1050000 0 2800000>;
rgltr-max-voltage = <1800000 2800000 1050000 0 2800000>;
rgltr-load-current = <1800000 2800000 1050000 0 100000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*front*/
qcom,cam-sensor@1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&cam_ldo7>;
cam_vana-supply = <&cam_ldo3>;
cam_vdig-supply = <&cam_ldo1>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1100000 0>;
rgltr-max-voltage = <1800000 2800000 1100000 0>;
rgltr-load-current = <120000 80000 1100000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1 >;
gpio-req-tbl-flags = <1 0 >;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/* macro : gc02m1 */
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_macro>;
led-flash-src = <&led_flash_macro>;
cam_vio-supply = <&cam_ldo7>;
cam_vana-supply = <&cam_ldo3>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1800000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 65 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;//sel low for macro,high for wide
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET3",
"CAM_MIPI_SEL";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*Rear Aux*/
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_wide>;
led-flash-src = <&led_flash_wide>;
cam_vio-supply = <&cam_ldo7>;
cam_vana-supply = <&cam_ldo6>;
cam_vdig-supply = <&camera_dvdd_en>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1800000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_wide_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1",
"CAM_SWICH_SEL";
sensor-mode = <0>;
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,654 @@
#include <dt-bindings/clock/qcom,gcc-khaje.h>
#include <dt-bindings/msm/msm-camera.h>
#include "khaje-camera-flash-pwm.dtsi"
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear_macro_reset_active: cam_sensor_rear_macro_reset_active {
mux {
pins = "gpio65" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio65" ,"gpio67";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_macro_reset_suspend: cam_sensor_rear_macro_reset_suspend {
mux {
pins = "gpio65" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio65" ,"gpio67";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_wide_reset_active: cam_sensor_rear_wide_reset_active {
mux {
pins = "gpio19" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio19" ,"gpio67";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_wide_reset_suspend: cam_sensor_rear_wide_reset_suspend {
mux {
pins = "gpio19" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio19" ,"gpio67";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
flash_active: flash_active {
/* FLASH */
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
flash_suspend: cam_flash_suspend {
/* FLASH */
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_res_mgr_default: cam_res_mgr_default {
/* FLASH */
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_res_mgr_suspend: cam_res_mgr_suspend {
/* FLASH */
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&pm6125_pwm {
status = "ok"
};
&soc {
dummy_cam_vreg_avdd: dummy_cam_vreg_avdd {
compatible = "regulator-fixed";
status = "ok"
regulator-name = "dummy_cam_vreg_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
dummy_cam_vreg_dvdd: dummy_cam_vreg_dvdd {
compatible = "regulator-fixed";
status = "ok"
regulator-name = "dummy_cam_vreg_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok"
gpios = <&tlmm 85 0>;
pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend";
pinctrl-0 = <&cam_res_mgr_default>;
pinctrl-1 = <&cam_res_mgr_suspend>;
};
};
&cam_cci0 {
actuator_rear: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&cam_ldo3>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2805000>;
rgltr-load-current = <2800000>;
status = "ok"
multi-user-support;
};
eeprom_main: qcom,eeprom@0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo4>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1805000>;
rgltr-load-current = <3000>;
cci-master = <0>;
status = "ok"
};
eeprom_wide:qcom,eeprom@3 {
cell-index = <3>;
compatible = "qcom,eeprom";
csiphy-sd-index = <1>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&cam_pmic2_ldo3>;
cam_vdig-supply = <&cam_pmic2_ldo1>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1805000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_wide_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1",
"CAM_SWICH_SEL";
sensor-mode = <0>;
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_front: qcom,eeprom@1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo4>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1805000>;
rgltr-load-current = <3000>;
cci-master = <1>;
status = "ok"
};
/* macro : gc02m1 */
eeprom_macro: qcom,eeprom@2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&cam_pmic2_ldo3>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1805000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 65 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;//sel low for macro,high for wide
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_REST3",
"CAM_MIPI_SEL";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
led_flash_rear_rhode: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
/* main : JN1*/
qcom,cam-sensor@0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_rear_rhode>;
eeprom-src = <&eeprom_main>;
actuator-src = <&actuator_rear>;
cam_vaf-supply = <&cam_ldo3>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&cam_ldo7>;
cam_vdig-supply = <&cam_ldo1>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names ="cam_vio", "cam_vana", "cam_vdig",
"cam_clk","cam_vaf";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1056000 0 2800000>;
rgltr-max-voltage = <1805000 2805000 1101000 0 2805000>;
rgltr-load-current = <1800000 2800000 1056000 0 100000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*front*/
qcom,cam-sensor@1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&cam_ldo5>;
cam_vdig-supply = <&cam_pmic2_ldo2>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1805000 2805000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1 >;
gpio-req-tbl-flags = <1 0 >;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
led_flash_macro_rhode: qcom,camera-flash@2 {
cell-index = <2>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
/* macro : gc02m1 */
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_macro>;
led-flash-src = <&led_flash_macro_rhode>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&cam_pmic2_ldo3>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1805000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 65 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;//sel low for macro,high for wide
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET3",
"CAM_MIPI_SEL";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
led_flash_wide_rhode: qcom,camera-flash@3{
cell-index = <3>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
/*Rear Aux*/
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_wide_rhode>;
eeprom-src = <&eeprom_wide>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&cam_pmic2_ldo3>;
cam_vdig-supply = <&cam_pmic2_ldo1>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1805000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_wide_reset_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_wide_reset_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1",
"CAM_SWICH_SEL";
sensor-mode = <0>;
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};
@@ -0,0 +1,598 @@
#include <dt-bindings/clock/qcom,gcc-khaje.h>
#include <dt-bindings/msm/msm-camera.h>
/delete-node/ &cam_sensor_mclk0_active;
/delete-node/ &cam_sensor_mclk1_active;
/delete-node/ &cam_sensor_mclk2_active;
/delete-node/ &cam_sensor_mclk3_active;
/delete-node/ &cam_sensor_rear0_reset_active;
/delete-node/ &cam_sensor_front_reset_active;
/delete-node/ &cam_sensor_rear_macro_reset_active;
/delete-node/ &cam_sensor_rear_wide_reset_active;
/delete-node/ &cam_sensor_mclk0_suspend;
/delete-node/ &cam_sensor_mclk1_suspend;
/delete-node/ &cam_sensor_mclk2_suspend;
/delete-node/ &cam_sensor_mclk3_suspend;
/delete-node/ &cam_sensor_rear0_reset_suspend;
/delete-node/ &cam_sensor_front_reset_suspend;
/delete-node/ &cam_sensor_rear_macro_reset_suspend;
/delete-node/ &cam_sensor_rear_wide_reset_suspend;
/delete-node/ &led_flash_rear_rhode;
/delete-node/ &led_flash_macro_rhode;
/delete-node/ &led_flash_wide_rhode;
&tlmm {
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK 0*/
mux {
pins = "gpio20";
function = "cam_mclk";
};
config {
pins = "gpio20";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
mux {
pins = "gpio21";
function = "cam_mclk";
};
config {
pins = "gpio21";
bias-pull-down;
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
mux {
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-disable;
drive-strength = <2>;
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* MCLK 3*/
mux {
pins = "gpio28";
function = "cam_mclk";
};
config {
pins = "gpio28";
bias-pull-down;
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_active: cam_sensor_rear0_reset_active {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_rear0_reset_suspend: cam_sensor_rear0_reset_suspend {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_front_reset_active: cam_sensor_front_reset_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-disable; /* No PULL */
drive-strength = <2>;
};
};
cam_sensor_front_reset_suspend: cam_sensor_front_reset_suspend {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>;
output-low;
};
};
cam_sensor_rear_macro_reset_active: cam_sensor_rear_macro_reset_active {
mux {
pins = "gpio65" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio65" ,"gpio67";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_macro_reset_suspend: cam_sensor_rear_macro_reset_suspend {
mux {
pins = "gpio65" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio65" ,"gpio67";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear_wide_reset_active: cam_sensor_rear_wide_reset_active {
mux {
pins = "gpio19" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio19" ,"gpio67";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_wide_reset_suspend: cam_sensor_rear_wide_reset_suspend {
mux {
pins = "gpio19" ,"gpio67";
function = "gpio";
};
config {
pins = "gpio19" ,"gpio67";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
/delete-node/ &actuator_rear;
/delete-node/ &eeprom_main;
/delete-node/ &eeprom_wide;
/delete-node/ &eeprom_front;
/delete-node/ &eeprom_macro;
&cam_cci0 {
/delete-node/ qcom,cam-sensor@0;
/delete-node/ qcom,cam-sensor@1;
/delete-node/ qcom,cam-sensor@2;
/delete-node/ qcom,cam-sensor@3;
actuator_rear: qcom,actuator0 {
cell-index = <0>;
compatible = "qcom,actuator";
cci-master = <0>;
cam_vaf-supply = <&cam_ldo3>;
regulator-names = "cam_vaf";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000>;
rgltr-max-voltage = <2805000>;
rgltr-load-current = <2800000>;
status = "ok"
};
eeprom_main: qcom,eeprom@0 {
cell-index = <0>;
reg = <0x0>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo4>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1805000>;
rgltr-load-current = <3000>;
cci-master = <0>;
status = "ok"
};
eeprom_wide:qcom,eeprom@3 {
cell-index = <3>;
compatible = "qcom,eeprom";
csiphy-sd-index = <1>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&dummy_cam_vreg_avdd>;
cam_vdig-supply = <&dummy_cam_vreg_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1805000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_wide_reset_active
&cam_sensor_csi_mux_sel_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_wide_reset_suspend
&cam_sensor_csi_mux_sel_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1",
"CAM_SWICH_SEL";
sensor-mode = <0>;
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
eeprom_front: qcom,eeprom@1 {
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo4>;
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1805000>;
rgltr-load-current = <3000>;
cci-master = <1>;
status = "ok"
};
/* macro : gc02m1 */
eeprom_macro: qcom,eeprom@2 {
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&dummy_cam_vreg_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1805000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 65 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;//sel low for macro,high for wide
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_REST3",
"CAM_MIPI_SEL";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
led_flash_rear_rhode: qcom,camera-flash@0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
/* main : JN1*/
qcom,cam-sensor@0 {
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_rear_rhode>;
eeprom-src = <&eeprom_main>;
actuator-src = <&actuator_rear>;
//cam_vaf-supply = <&cam_ldo3>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&cam_ldo7>;
cam_vdig-supply = <&cam_ldo1>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names ="cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1056000 0>;
rgltr-max-voltage = <1805000 2805000 1101000 0>;
rgltr-load-current = <1800000 2800000 1056000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active
&cam_sensor_rear0_reset_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend
&cam_sensor_rear0_reset_suspend>;
gpios = <&tlmm 20 0>,
<&tlmm 18 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK0",
"CAM_RESET0";
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
/*front*/
qcom,cam-sensor@1 {
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <2>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_front>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&cam_ldo5>;
cam_vdig-supply = <&dummy_cam_vreg_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1805000 2805000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active
&cam_sensor_front_reset_active>;
pinctrl-1 = <&cam_sensor_mclk2_suspend
&cam_sensor_front_reset_suspend>;
gpios = <&tlmm 27 0>,
<&tlmm 24 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1 >;
gpio-req-tbl-flags = <1 0 >;
gpio-req-tbl-label = "CAMIF_MCLK2",
"CAM_RESET2";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
led_flash_macro_rhode: qcom,camera-flash@2 {
cell-index = <2>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
/* macro : gc02m1 */
qcom,cam-sensor@2 {
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
eeprom-src = <&eeprom_macro>;
led-flash-src = <&led_flash_macro_rhode>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&dummy_cam_vreg_avdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 2800000 0>;
rgltr-max-voltage = <1805000 2800000 0>;
rgltr-load-current = <120000 80000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active
&cam_sensor_rear_macro_reset_active>;
pinctrl-1 = <&cam_sensor_mclk3_suspend
&cam_sensor_rear_macro_reset_suspend>;
gpios = <&tlmm 28 0>,
<&tlmm 65 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;//sel low for macro,high for wide
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK3",
"CAM_RESET3",
"CAM_MIPI_SEL";
cci-master = <1>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK3_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
led_flash_wide_rhode: qcom,camera-flash@3{
cell-index = <3>;
compatible = "qcom,camera-flash";
flash-type = <CAM_FLASH_TYPE_GPIO>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_active>;
pinctrl-1 = <&flash_suspend>;
gpios = <&tlmm 85 0>;
gpio-custom1 = <0>;
gpio-req-tbl-num = <0>;
gpio-req-tbl-flags = <0>;
gpio-req-tbl-label = "CUSTOM_GPIO1";
status = "ok"
};
/*Rear Aux*/
qcom,cam-sensor@3 {
cell-index = <3>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <1>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
led-flash-src = <&led_flash_wide_rhode>;
eeprom-src = <&eeprom_wide>;
cam_vio-supply = <&cam_ldo4>;
cam_vana-supply = <&dummy_cam_vreg_avdd>;
cam_vdig-supply = <&dummy_cam_vreg_dvdd>;
cam_clk-supply = <&gcc_camss_top_gdsc>;
regulator-names = "cam_vio", "cam_vana", "cam_vdig",
"cam_clk";
rgltr-cntrl-support;
pwm-switch;
rgltr-min-voltage = <1800000 2800000 1200000 0>;
rgltr-max-voltage = <1805000 2800000 1200000 0>;
rgltr-load-current = <120000 80000 1200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk1_active
&cam_sensor_rear_wide_reset_active
&cam_sensor_csi_mux_sel_active>;
pinctrl-1 = <&cam_sensor_mclk1_suspend
&cam_sensor_rear_wide_reset_suspend
&cam_sensor_csi_mux_sel_suspend>;
gpios = <&tlmm 21 0>,
<&tlmm 19 0>,
<&tlmm 67 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 0>;
gpio-req-tbl-label = "CAMIF_MCLK1",
"CAM_RESET1",
"CAM_SWICH_SEL";
sensor-mode = <0>;
cci-master = <0>;
status = "ok"
clocks = <&gcc GCC_CAMSS_MCLK1_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <24000000>;
};
};