// SPDX-License-Identifier: BSD-3-Clause /* * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. */ #include &soc { led_flash_triple_rear_wide: qcom,camera-flash1 { cell-index = <1>; compatible = "qcom,camera-flash"; flash-source = <&pmxr2230_flash0 &pmxr2230_flash1>; torch-source = <&pmxr2230_torch0 &pmxr2230_torch1>; switch-source = <&pmxr2230_switch2>; status = "ok"; }; led_flash_triple_rear_tele: qcom,camera-flash2 { cell-index = <2>; compatible = "qcom,camera-flash"; flash-source = <&pmxr2230_flash0 &pmxr2230_flash1>; torch-source = <&pmxr2230_torch0 &pmxr2230_torch1>; switch-source = <&pmxr2230_switch2>; status = "ok"; }; led_flash_triple_rear_ultrawide: qcom,camera-flash3 { cell-index = <3>; compatible = "qcom,camera-flash"; flash-source = <&pmxr2230_flash0 &pmxr2230_flash1>; torch-source = <&pmxr2230_torch0 &pmxr2230_torch1>; switch-source = <&pmxr2230_switch2>; status = "ok"; }; qcom,cam-res-mgr { compatible = "qcom,cam-res-mgr"; status = "ok"; }; }; &cam_cci0 { actuator_triple_wide: qcom,actuator2 { cell-index = <2>; compatible = "qcom,actuator"; cci-master = ; cam_vaf-supply = <&L7M>; regulator-names = "cam_vaf"; rgltr-cntrl-support; rgltr-min-voltage = <2800000>; rgltr-max-voltage = <3000000>; rgltr-load-current = <118930>; status = "ok"; }; /* Actuator (UW) */ actuator_triple_uw: qcom,actuator1 { cell-index = <1>; compatible = "qcom,actuator"; cci-master = ; cam_vaf-supply = <&L7M>; regulator-names = "cam_vaf"; rgltr-cntrl-support; rgltr-min-voltage = <2800000>; rgltr-max-voltage = <3000000>; rgltr-load-current = <103360>; status = "ok"; }; /* OIS (W) */ ois_wide: qcom,ois0 { cell-index = <2>; compatible = "qcom,ois"; cci-master = ; cam_vio-supply = <&L5N>; cam_vaf-supply = <&L7M>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; regulator-names = "cam_vio","cam_vaf", "cam_clk"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 2800000 0>; rgltr-max-voltage = <1980000 3000000 0>; rgltr-load-current = <3500 220000 0>; status = "ok"; }; /* EEPROM (W) */ eeprom_wide: qcom,eeprom2 { cell-index = <2>; compatible = "qcom,eeprom"; cam_vio-supply = <&L5N>; cam_vdig-supply = <&L1N>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; cam_vana-supply = <&L6M>; cam_vaf-supply = <&L7M>; cam_v_custom1-supply = <&L3N>; regulator-names = "cam_vio", "cam_vdig", "cam_clk", "cam_vana", "cam_vaf", "cam_v_custom1"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 1104000 0 2800000 2800000 1800000>; rgltr-max-voltage = <1980000 1200000 0 2900000 3000000 1900000>; rgltr-load-current = <3500 913200 0 91430 118930 63100>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk1_active &cam_sensor_active_rst1>; pinctrl-1 = <&cam_sensor_mclk1_suspend &cam_sensor_suspend_rst1>; gpios = <&tlmm 66 0>, <&tlmm 124 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 = ; clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK1_CLK>; clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; status = "ok"; }; /* EEPROM (UW) */ eeprom_uw: qcom,eeprom1 { cell-index = <1>; compatible = "qcom,eeprom"; cam_vio-supply = <&L5N>; cam_vdig-supply = <&L1M>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; cam_vana-supply = <&L3M>; cam_vaf-supply = <&L7M>; regulator-names = "cam_vio", "cam_vdig", "cam_clk", "cam_vana", "cam_vaf"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 1100000 0 2800000 2800000>; rgltr-max-voltage = <1980000 1200000 0 2900000 3000000>; rgltr-load-current = <4060 523640 0 107500 103360>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_active_rst0>; pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_suspend_rst0>; gpios = <&tlmm 65 0>, <&tlmm 123 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 = ; clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK0_CLK>; clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; status = "ok"; }; /* IMX858 (UWide) */ qcom,cam-sensor1 { cell-index = <1>; compatible = "qcom,cam-sensor"; csiphy-sd-index = <0>; sensor-position-roll = <90>; sensor-position-pitch = <0>; sensor-position-yaw = <180>; eeprom-src = <&eeprom_uw>; actuator-src = <&actuator_triple_uw>; led-flash-src = <&led_flash_triple_rear_ultrawide>; cam_vio-supply = <&L5N>; cam_vdig-supply = <&L1M>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; cam_vana-supply = <&L3M>; cam_vaf-supply = <&L7M>; regulator-names = "cam_vio", "cam_vdig", "cam_clk", "cam_vana", "cam_vaf"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 1100000 0 2800000 2800000>; rgltr-max-voltage = <1980000 1200000 0 2900000 3000000>; rgltr-load-current = <4060 523640 0 107500 103360>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_active_rst0>; pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_suspend_rst0>; gpios = <&tlmm 65 0>, <&tlmm 123 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 = ; clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK0_CLK>; clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; status = "ok"; }; /* IMX766 + OIS (Wide) */ qcom,cam-sensor2 { 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_wide>; ois-src = <&ois_wide>; actuator-src = <&actuator_triple_wide>; led-flash-src = <&led_flash_triple_rear_wide>; cam_vio-supply = <&L5N>; cam_vdig-supply = <&L1N>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; cam_vana-supply = <&L6M>; cam_vaf-supply = <&L7M>; cam_v_custom1-supply = <&L3N>; regulator-names = "cam_vio", "cam_vdig", "cam_clk", "cam_vana", "cam_vaf", "cam_v_custom1"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 1104000 0 2800000 2800000 1800000>; rgltr-max-voltage = <1980000 1200000 0 2900000 3000000 1900000>; rgltr-load-current = <3500 913200 0 91430 118930 63100>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk1_active &cam_sensor_active_rst1>; pinctrl-1 = <&cam_sensor_mclk1_suspend &cam_sensor_suspend_rst1>; gpios = <&tlmm 66 0>, <&tlmm 124 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 = ; clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK1_CLK>; clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; status = "ok"; }; }; &cam_cci1 { /* Actuator (Tele) */ actuator_triple_tele: qcom,actuator3 { cell-index = <3>; compatible = "qcom,actuator"; cci-master = ; cam_vaf-supply = <&L7M>; regulator-names = "cam_vaf"; rgltr-cntrl-support; rgltr-min-voltage = <2800000>; rgltr-max-voltage = <3000000>; rgltr-load-current = <130040>; status = "ok"; }; /* EEPROM (Tele) */ eeprom_tele: qcom,eeprom3 { cell-index = <3>; compatible = "qcom,eeprom"; cam_vio-supply = <&L5N>; cam_vdig-supply = <&L2M>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; cam_vana-supply = <&L4M>; cam_vaf-supply = <&L7M>; regulator-names = "cam_vio", "cam_vdig", "cam_clk", "cam_vana", "cam_vaf"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 1056000 0 2800000 2800000>; rgltr-max-voltage = <1980000 1150000 0 2900000 3000000>; rgltr-load-current = <4500 266330 0 69000 130040>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_active_rst2>; pinctrl-1 = <&cam_sensor_mclk2_suspend &cam_sensor_suspend_rst2>; gpios = <&tlmm 67 0>, <&tlmm 125 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 = ; clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK2_CLK>; clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; status = "ok"; }; /* EEPROM (Front) */ eeprom_front: qcom,eeprom4 { cell-index = <4>; compatible = "qcom,eeprom"; cam_vio-supply = <&L5N>; cam_vdig-supply = <&L2N>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; cam_vana-supply = <&L6N>; cam_v_custom1-supply = <&L4N>; regulator-names = "cam_vio", "cam_vdig","cam_clk", "cam_vana", "cam_v_custom1"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 1056000 0 2800000 1800000>; rgltr-max-voltage = <1980000 1150000 0 2900000 1900000>; rgltr-load-current = <5560 454290 0 77860 29440>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk3_active &cam_sensor_active_rst3>; pinctrl-1 = <&cam_sensor_mclk3_suspend &cam_sensor_suspend_rst3>; gpios = <&tlmm 68 0>, <&tlmm 126 0>; gpio-reset = <1>; gpio-req-tbl-num = <0 1>; gpio-req-tbl-flags = <1 0>; gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3"; cci-master = ; clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK3_CLK>; clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; status = "ok"; }; /* IMX688 (Front) */ qcom,cam-sensor4 { cell-index = <4>; compatible = "qcom,cam-sensor"; csiphy-sd-index = <3>; sensor-position-roll = <90>; sensor-position-pitch = <0>; sensor-position-yaw = <0>; eeprom-src = <&eeprom_front>; cam_vio-supply = <&L5N>; cam_vdig-supply = <&L2N>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; cam_vana-supply = <&L6N>; cam_v_custom1-supply = <&L4N>; regulator-names = "cam_vio", "cam_vdig","cam_clk", "cam_vana", "cam_v_custom1"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 1056000 0 2800000 1800000>; rgltr-max-voltage = <1980000 1150000 0 2900000 1900000>; rgltr-load-current = <5560 454290 0 77860 29440>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk3_active &cam_sensor_active_rst3>; pinctrl-1 = <&cam_sensor_mclk3_suspend &cam_sensor_suspend_rst3>; gpios = <&tlmm 68 0>, <&tlmm 126 0>; gpio-reset = <1>; gpio-req-tbl-num = <0 1>; gpio-req-tbl-flags = <1 0>; gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET3"; cci-master = ; clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK3_CLK>; clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; status = "ok"; }; /* JN1 (Tele) */ qcom,cam-sensor3 { 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_tele>; actuator-src = <&actuator_triple_tele>; led-flash-src = <&led_flash_triple_rear_tele>; cam_vio-supply = <&L5N>; cam_vdig-supply = <&L2M>; cam_clk-supply = <&cam_cc_titan_top_gdsc>; cam_vana-supply = <&L4M>; cam_vaf-supply = <&L7M>; regulator-names = "cam_vio", "cam_vdig", "cam_clk", "cam_vana", "cam_vaf"; rgltr-cntrl-support; rgltr-min-voltage = <1800000 1056000 0 2800000 2800000>; rgltr-max-voltage = <1980000 1150000 0 2900000 3000000>; rgltr-load-current = <4500 266330 0 69000 130040>; gpio-no-mux = <0>; pinctrl-names = "cam_default", "cam_suspend"; pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_active_rst2>; pinctrl-1 = <&cam_sensor_mclk2_suspend &cam_sensor_suspend_rst2>; gpios = <&tlmm 67 0>, <&tlmm 125 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 = ; clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK2_CLK>; clock-names = "cam_clk"; clock-cntl-level = "nominal"; clock-rates = <24000000>; status = "ok"; }; };