replace common qcom sources with samsung ones

This commit is contained in:
SaschaNes
2025-08-12 22:13:00 +02:00
parent ba24dcded9
commit 6f7753de11
5682 changed files with 2450203 additions and 103634 deletions

View File

@@ -0,0 +1,811 @@
#include <dt-bindings/msm-camera.h>
//PB02
&s2mpb02_l1 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
&s2mpb02_l3 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
};
&s2mpb02_l4 {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
};
&s2mpb02_l5 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
};
&s2mpb02_l6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
&s2mpb02_l7 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
&s2mpb02_l9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
&s2mpb02_l10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
&s2mpb02_l11 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
&s2mpb02_l12 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
&s2mpb02_l13 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
&s2mpb02_l14 {
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
};
&s2mpb02_l15 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
&s2mpb02_l17 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
&s2mpb02_l18 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
&s2mpb02_b1 {
regulator-min-microvolt = <925000>;
regulator-max-microvolt = <925000>;
};
&s2mpb02_b2 {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
};
&BOB1 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
qcom,init-voltage = <3300000>;
};
//PM8550
&pm_humu_l2 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
qcom,init-voltage = <2800000>;
};
&pm_humu_l9 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
qcom,init-voltage = <2800000>;
};
&pm8550_torch0 {
qcom,ires-ua = <5000>;
};
&pm8550_torch1 {
qcom,ires-ua = <5000>;
};
&pm8550_torch2 {
qcom,ires-ua = <5000>;
};
&pm8550_torch3 {
qcom,ires-ua = <5000>;
};
&pm8550_switch0 {
qcom,led-mask = <9>; /* Channels 1 & 4 */
qcom,symmetry-en;
};
&pm8550_switch1 {
qcom,led-mask = <6>; /* Channels 2 & 3 */
qcom,symmetry-en;
};
&pm8550_switch2 {
qcom,led-mask = <15>; /* All Channels */
qcom,symmetry-en;
};
&soc {
led_flash_rear_wide: qcom,camera-flash0 {
cell-index = <0>;
compatible = "qcom,camera-flash";
flash-source = <&pm8550_flash0 &pm8550_flash1>;
torch-source = <&pm8550_torch0 &pm8550_torch1>;
switch-source = <&pm8550_switch2>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&flash_led_active>;
pinctrl-1 = <&flash_led_suspend>;
status = "ok";
};
led_flash_rear_uw: qcom,camera-flash2 {
cell-index = <2>;
compatible = "qcom,camera-flash";
flash-source = <&pm8550_flash0 &pm8550_flash1>;
torch-source = <&pm8550_torch0 &pm8550_torch1>;
switch-source = <&pm8550_switch2>;
status = "ok";
};
led_flash_rear_tele: qcom,camera-flash3 {
cell-index = <3>;
compatible = "qcom,camera-flash";
flash-source = <&pm8550_flash0 &pm8550_flash1>;
torch-source = <&pm8550_torch0 &pm8550_torch1>;
switch-source = <&pm8550_switch2>;
status = "ok";
};
cam_res_mgr: qcom,cam-res-mgr {
compatible = "qcom,cam-res-mgr";
status = "ok";
gpios-shared = <606>; /* gpio_94 (base 512) */
gpios-shared-pinctrl = <606>;
shared-pctrl-gpio-names = "flicker_mclk5";
pinctrl-names = "flicker_mclk5_active", "flicker_mclk5_suspend";
pinctrl-0 = <&cam_sensor_mclk5_active>;
pinctrl-1 = <&cam_sensor_mclk5_suspend>;
};
};
&cam_cci0 {
sensor_front_top: qcom,cam-sensor11 {
status = "ok";
cell-index = <11>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front_top>;
cam_vdig-supply = <&s2mpb03_1_l1>; /* VDD_COVER_1P1 */
cam_vio-supply = <&s2mpb03_1_l6>; /* VDD_COVER_IO_1P8 */
cam_vana-supply = <&s2mpb03_1_l7>; /* VDD_COVER_A2P8 */
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
regulator-names = "cam_vdig", "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1100000 1800000 2800000 0>;
rgltr-max-voltage = <1100000 1800000 2800000 0>;
rgltr-load-current = <200000 200000 200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_active_rst0>;
pinctrl-1 = <&cam_sensor_mclk2_suspend &cam_sensor_suspend_rst0>;
gpios = <&tlmm 91 0>, <&tlmm 60 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2", "CAM_RESET0";
sensor-mode = <0>;
cci-master = <CCI_MASTER_0>;
clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <19200000>;
cam,isp = <0>; // 0 : INT , 1 : EXT , 2 : SOC
cam,cal_memory = <2>; // 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP
cam,read_version = <0>; // 0 : SYSFS , 1 : CAMON
cam,core_voltage = <0>; // 0 : N , 1 : Y
cam,upgrade = <0>; // 0 : N , 1 : SYSFS , 2 : CAMON
cam,fw_write = <0>; // 0 : N , 1 : OS , 2 : SD , 3 : ALL
cam,fw_dump = <0>; // 0 : N , 1 : Y
cam,companion_chip = <0>; // 0 : N , 1 : Y
cam,ois = <0>; // 0 : N , 1 : Y
cam,dual_open = <0>; // 0 : N , 1 : Y
cam,valid = <1>; // 0 : N , 1 : Y
};
sensor_front_top_full: qcom,cam-sensor13 {
status = "ok";
cell-index = <13>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <0>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
eeprom-src = <&eeprom_front_top>;
cam_vdig-supply = <&s2mpb03_1_l1>; /* VDD_COVER_1P1 */
cam_vio-supply = <&s2mpb03_1_l6>; /* VDD_COVER_IO_1P8 */
cam_vana-supply = <&s2mpb03_1_l7>; /* VDD_COVER_A2P8 */
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
regulator-names = "cam_vdig", "cam_vio", "cam_vana", "cam_clk";
rgltr-cntrl-support;
rgltr-min-voltage = <1100000 1800000 2800000 0>;
rgltr-max-voltage = <1100000 1800000 2800000 0>;
rgltr-load-current = <200000 200000 200000 0>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_active_rst0>;
pinctrl-1 = <&cam_sensor_mclk2_suspend &cam_sensor_suspend_rst0>;
gpios = <&tlmm 91 0>, <&tlmm 60 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2", "CAM_RESET0";
sensor-mode = <0>;
cci-master = <CCI_MASTER_0>;
clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK2_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <19200000>;
cam,isp = <0>; // 0 : INT , 1 : EXT , 2 : SOC
cam,cal_memory = <2>; // 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP
cam,read_version = <0>; // 0 : SYSFS , 1 : CAMON
cam,core_voltage = <0>; // 0 : N , 1 : Y
cam,upgrade = <0>; // 0 : N , 1 : SYSFS , 2 : CAMON
cam,fw_write = <0>; // 0 : N , 1 : OS , 2 : SD , 3 : ALL
cam,fw_dump = <0>; // 0 : N , 1 : Y
cam,companion_chip = <0>; // 0 : N , 1 : Y
cam,ois = <0>; // 0 : N , 1 : Y
cam,dual_open = <0>; // 0 : N , 1 : Y
cam,valid = <1>; // 0 : N , 1 : Y
};
eeprom_front_top: qcom,eeprom11 {
cell-index = <11>;
reg = <0x3>;
compatible = "qcom,eeprom";
i2c-freq-mode = <1>;
cam_vio-supply = <&s2mpb03_1_l6>; /* VDD_UDC_IO_1P8 */
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <120000>;
gpio-no-mux = <0>;
cci-master = <CCI_MASTER_0>;
};
sensor_rear_uw: qcom,cam-sensor2 {
status = "ok";
cell-index = <2>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <5>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_rear_uw>;
eeprom-src = <&eeprom_rear_uw>;
led-flash-src = <&led_flash_rear_uw>;
cam_vdig-supply = <&s2mpb02_l3>; /* VDD_UWCAM_1P1 */
cam_vio-supply = <&s2mpb02_l6>; /* VDD_TELE_UW_IO_1P8 */
cam_vana-supply = <&s2mpb02_l12>; /* VDD_UWCAM_A2P8 */
cam_v_custom1-supply = <&s2mpb02_l10>;
cam_v_custom2-supply = <&s2mpb02_b2>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
regulator-names = "cam_vdig", "cam_vio", "cam_vana", "cam_v_custom1", "cam_clk", "cam_v_custom2";
rgltr-cntrl-support;
rgltr-min-voltage = <1100000 1800000 2800000 1800000 0 1300000>;
rgltr-max-voltage = <1100000 1800000 2800000 1800000 0 1300000>;
rgltr-load-current = <200000 200000 5000 5000 0 200000>;
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 90 0>, <&tlmm 107 0>, <&tlmm 94 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 1>;
gpio-req-tbl-label = "CAMIF_MCLK1", "CAM_RESET1", "CAMIF_MCLK5";
cci-master = <CCI_MASTER_1>;
clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK1_CLK>, <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK5_CLK>;
clock-names = "cam_clk", "flicker_mclk5";
clock-cntl-level = "turbo";
clock-rates = <19200000 19200000>;
cam,isp = <0>; // 0 : INT , 1 : EXT , 2 : SOC
cam,cal_memory = <2>; // 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP
cam,read_version = <0>; // 0 : SYSFS , 1 : CAMON
cam,core_voltage = <0>; // 0 : N , 1 : Y
cam,upgrade = <0>; // 0 : N , 1 : SYSFS , 2 : CAMON
cam,fw_write = <0>; // 0 : N , 1 : OS , 2 : SD , 3 : ALL
cam,fw_dump = <0>; // 0 : N , 1 : Y
cam,companion_chip = <0>; // 0 : N , 1 : Y
cam,ois = <0>; // 0 : N , 1 : Y
cam,dual_open = <0>; // 0 : N , 1 : Y
cam,valid = <1>; // 0 : N , 1 : Y
};
eeprom_rear_uw: qcom,eeprom2 {
status = "ok";
cell-index = <2>;
reg = <0x2>;
compatible = "qcom,eeprom";
i2c-freq-mode = <1>;
cam_vio-supply = <&s2mpb02_l6>; /* VDD_TELE_UW_IO_1P8 */
cam_v_custom1-supply = <&s2mpb02_b2>;
regulator-names = "cam_vio", "cam_v_custom1";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1300000>;
rgltr-max-voltage = <1800000 1300000>;
rgltr-load-current = <5000 5000>;
gpio-no-mux = <0>;
cci-master = <CCI_MASTER_1>;
};
};
&cam_cci1 {
sensor_rear_wide: qcom,cam-sensor0 {
status = "ok";
cell-index = <0>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <3>;
sensor-position-roll = <90>;
sensor-position-pitch = <0>;
sensor-position-yaw = <180>;
actuator-src = <&actuator_rear_wide>;
eeprom-src = <&eeprom_rear_wide>;
//ois-src = <&ois_rear_wide>;
led-flash-src = <&led_flash_rear_wide>;
cam_vdig-supply = <&s2mpb02_b1>; /* VDD_WIDECAM_0P92 */
cam_vana-supply = <&s2mpb02_b2>; /* VDD_EXT_1P3_PB02 */
cam_vio-supply = <&s2mpb02_l7>; /* VDD_WIDECAM_IO_1P8 */
cam_v_custom1-supply = <&s2mpb02_l1>; /* VDD_WIDECAM_PHY_1P0 */
cam_v_custom2-supply = <&BOB2>; /* VREG_BOB2_2P7 */
pwm-property;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
regulator-names = "cam_vdig", "cam_vana", "cam_vio", "cam_clk", "cam_v_custom1", "cam_v_custom2";
rgltr-cntrl-support;
rgltr-min-voltage = <925000 1300000 1800000 0 1000000 2704000>;
rgltr-max-voltage = <925000 1300000 1800000 0 1000000 2704000>;
rgltr-load-current = <200000 200000 200000 0 200000 700000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_active_rst3 &wide_a_ldo_en_active>;
pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_suspend_rst3 &wide_a_ldo_en_suspend>;
gpios = <&tlmm 89 0>, <&tlmm 109 0>, <&pm8550ve_g_gpios 6 0>, <&tlmm 94 0>;
gpio-reset = <1>;
gpio-custom1 = <2>;
gpio-req-tbl-num = <0 1 2 3>;
gpio-req-tbl-flags = <1 0 0 1>;
gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET3", "WIDE_A_LDO_EN", "CAMIF_MCLK5";
cci-master = <CCI_MASTER_0>;
clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK0_CLK>, <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK5_CLK>;
clock-names = "cam_clk", "flicker_mclk5";
clock-cntl-level = "turbo";
clock-rates = <19200000 19200000>;
cam,isp = <0>; // 0 : INT , 1 : EXT , 2 : SOC
cam,cal_memory = <2>; // 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP
cam,read_version = <1>; // 0 : SYSFS , 1 : CAMON
cam,core_voltage = <1>; // 0 : N , 1 : Y
cam,upgrade = <2>; // 0 : N , 1 : SYSFS , 2 : CAMON
cam,fw_write = <3>; // 0 : N , 1 : OS , 2 : SD , 3 : ALL
cam,fw_dump = <1>; // 0 : N , 1 : Y
cam,companion_chip = <0>; // 0 : N , 1 : Y
cam,ois = <1>; // 0 : N , 1 : Y
cam,dual_open = <0>; // 0 : N , 1 : Y
cam,valid = <1>; // 0 : N , 1 : Y
};
eeprom_rear_wide: qcom,eeprom0 {
status = "ok";
cell-index = <0>;
reg = <0x50>;
compatible = "qcom,eeprom";
i2c-freq-mode = <1>;
cam_vio-supply = <&s2mpb02_l7>; /* VDD_WIDECAM_IO_1P8 */
regulator-names = "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000>;
rgltr-max-voltage = <1800000>;
rgltr-load-current = <5000>;
gpio-no-mux = <0>;
cci-master = <CCI_MASTER_0>;
};
sensor_front: qcom,cam-sensor1 {
status = "ok";
cell-index = <1>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <4>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
//actuator-src = <&actuator_front>;
eeprom-src = <&eeprom_front>;
cam_vdig-supply = <&s2mpb02_l5>; /* VDD_UDC_1P1 */
cam_vio-supply = <&s2mpb02_l9>; /* VDD_UDC_IO_1P8 */
cam_vana-supply = <&s2mpb02_l13>; /* VDD_UDC_A2P9 */
cam_v_custom1-supply = <&s2mpb02_b2>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
regulator-names = "cam_vdig", "cam_vio", "cam_vana", "cam_clk", "cam_v_custom1";
rgltr-cntrl-support;
rgltr-min-voltage = <1100000 1800000 2800000 0 1300000>;
rgltr-max-voltage = <1100000 1800000 2800000 0 1300000>;
rgltr-load-current = <200000 200000 200000 0 200000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk4_active &udc_rst_n_active>;
pinctrl-1 = <&cam_sensor_mclk4_suspend &udc_rst_n_suspend>;
gpios = <&tlmm 93 0>, <&pm8550ve_g_gpios 5 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK4", "CAM_RESET0";
sensor-mode = <0>;
cci-master = <CCI_MASTER_1>;
clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK4_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <19200000>;
cam,isp = <0>; // 0 : INT , 1 : EXT , 2 : SOC
cam,cal_memory = <2>; // 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP
cam,read_version = <0>; // 0 : SYSFS , 1 : CAMON
cam,core_voltage = <0>; // 0 : N , 1 : Y
cam,upgrade = <0>; // 0 : N , 1 : SYSFS , 2 : CAMON
cam,fw_write = <0>; // 0 : N , 1 : OS , 2 : SD , 3 : ALL
cam,fw_dump = <0>; // 0 : N , 1 : Y
cam,companion_chip = <0>; // 0 : N , 1 : Y
cam,ois = <0>; // 0 : N , 1 : Y
cam,dual_open = <0>; // 0 : N , 1 : Y
cam,valid = <1>; // 0 : N , 1 : Y
};
sensor_front_full: qcom,cam-sensor12 {
status = "ok";
cell-index = <12>;
compatible = "qcom,cam-sensor";
csiphy-sd-index = <4>;
sensor-position-roll = <270>;
sensor-position-pitch = <0>;
sensor-position-yaw = <0>;
//actuator-src = <&actuator_front>;
eeprom-src = <&eeprom_front>;
cam_vdig-supply = <&s2mpb02_l5>; /* VDD_UDC_1P1 */
cam_vio-supply = <&s2mpb02_l9>; /* VDD_UDC_IO_1P8 */
cam_vana-supply = <&s2mpb02_l13>; /* VDD_UDC_A2P9 */
cam_v_custom1-supply = <&s2mpb02_b2>;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
regulator-names = "cam_vdig", "cam_vio", "cam_vana", "cam_clk", "cam_v_custom1";
rgltr-cntrl-support;
rgltr-min-voltage = <1100000 1800000 2800000 0 1300000>;
rgltr-max-voltage = <1100000 1800000 2800000 0 1300000>;
rgltr-load-current = <200000 200000 200000 0 200000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk4_active &udc_rst_n_active>;
pinctrl-1 = <&cam_sensor_mclk4_suspend &udc_rst_n_suspend>;
gpios = <&tlmm 93 0>, <&pm8550ve_g_gpios 5 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1>;
gpio-req-tbl-flags = <1 0>;
gpio-req-tbl-label = "CAMIF_MCLK2", "CAM_RESET0";
sensor-mode = <0>;
cci-master = <CCI_MASTER_1>;
clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK4_CLK>;
clock-names = "cam_clk";
clock-cntl-level = "turbo";
clock-rates = <19200000>;
cam,isp = <0>; // 0 : INT , 1 : EXT , 2 : SOC
cam,cal_memory = <2>; // 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP
cam,read_version = <0>; // 0 : SYSFS , 1 : CAMON
cam,core_voltage = <0>; // 0 : N , 1 : Y
cam,upgrade = <0>; // 0 : N , 1 : SYSFS , 2 : CAMON
cam,fw_write = <0>; // 0 : N , 1 : OS , 2 : SD , 3 : ALL
cam,fw_dump = <0>; // 0 : N , 1 : Y
cam,companion_chip = <0>; // 0 : N , 1 : Y
cam,ois = <0>; // 0 : N , 1 : Y
cam,dual_open = <0>; // 0 : N , 1 : Y
cam,valid = <1>; // 0 : N , 1 : Y
};
eeprom_front: qcom,eeprom1 {
status = "ok";
cell-index = <1>;
reg = <0x1>;
compatible = "qcom,eeprom";
i2c-freq-mode = <1>;
cam_vio-supply = <&s2mpb02_l9>; /* VDD_UDC_IO_1P8 */
cam_v_custom1-supply = <&s2mpb02_b2>;
regulator-names = "cam_vio", "cam_v_custom1";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1300000>;
rgltr-max-voltage = <1800000 1300000>;
rgltr-load-current = <120000 120000>;
gpio-no-mux = <0>;
cci-master = <CCI_MASTER_1>;
};
};
&cam_cci2 {
actuator_rear_tele: qcom,actuator3 {
status = "ok";
cell-index = <3>;
compatible = "qcom,actuator";
reg = <0xF>;
slave-addr = <0x1E>;
cam_vaf-supply = <&pm_humu_l2>; /* VDD_TELECAM_AF_2P8 */
cam_vio-supply = <&s2mpb02_l6>; /* VDD_TELE_UW_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <10000 10000>;
qcom,cam-power-seq-type = "cam_vio", "cam_vaf";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 12>;
cci-master = <CCI_MASTER_0>;
};
sensor_rear_tele: qcom,cam-sensor3 {
status = "ok";
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_rear_tele>;
//ois-src = <&ois_rear_tele>;
actuator-src = <&actuator_rear_tele>;
led-flash-src = <&led_flash_rear_tele>;
cam_vdig-supply = <&s2mpb02_l4>; /* VDD_TELECAM_1P05 */
cam_vio-supply = <&s2mpb02_l6>; /* VDD_TELE_UW_IO_1P8 */
cam_vana-supply = <&s2mpb02_l11>; /* VDD_TELECAM_A2P8 */
cam_v_custom1-supply = <&s2mpb02_b2>;
cam_v_custom2-supply = <&BOB1>; /* VREG_BOB1_3P3 */
pwm-property;
cam_clk-supply = <&cam_cc_titan_top_gdsc>;
regulator-names = "cam_vdig", "cam_vio", "cam_vana", "cam_clk", "cam_v_custom1", "cam_v_custom2";
rgltr-cntrl-support;
rgltr-min-voltage = <1050000 1800000 2800000 0 1300000 3300000>;
rgltr-max-voltage = <1050000 1800000 2800000 0 1300000 3300000>;
rgltr-load-current = <200000 200000 5000 0 200000 700000>;
gpio-no-mux = <0>;
pinctrl-names = "cam_default", "cam_suspend";
pinctrl-0 = <&cam_sensor_mclk3_active &cam_sensor_active_rst2>;
pinctrl-1 = <&cam_sensor_mclk3_suspend &cam_sensor_suspend_rst2>;
gpios = <&tlmm 92 0>, <&tlmm 213 0>, <&tlmm 94 0>;
gpio-reset = <1>;
gpio-req-tbl-num = <0 1 2>;
gpio-req-tbl-flags = <1 0 1>;
gpio-req-tbl-label = "CAMIF_MCLK3", "CAM_RESET2", "CAMIF_MCLK5";
cci-master = <CCI_MASTER_1>;
clocks = <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK3_CLK>, <&cambistmclkcc CAM_BIST_MCLK_CC_MCLK5_CLK>;
clock-names = "cam_clk", "flicker_mclk5";
clock-cntl-level = "turbo";
clock-rates = <19200000 19200000>;
cam,isp = <0>; // 0 : INT , 1 : EXT , 2 : SOC
cam,cal_memory = <2>; // 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP
cam,read_version = <0>; // 0 : SYSFS , 1 : CAMON
cam,core_voltage = <0>; // 0 : N , 1 : Y
cam,upgrade = <0>; // 0 : N , 1 : SYSFS , 2 : CAMON
cam,fw_write = <0>; // 0 : N , 1 : OS , 2 : SD , 3 : ALL
cam,fw_dump = <0>; // 0 : N , 1 : Y
cam,companion_chip = <0>; // 0 : N , 1 : Y
cam,ois = <1>; // 0 : N , 1 : Y
cam,dual_open = <0>; // 0 : N , 1 : Y
cam,valid = <1>; // 0 : N , 1 : Y
};
eeprom_rear_tele: qcom,eeprom3 {
status = "ok";
cell-index = <3>;
compatible = "qcom,eeprom";
reg = <0x3>;
i2c-freq-mode = <1>;
cam_vio-supply = <&s2mpb02_l6>; /* VDD_TELE_UW_IO_1P8 */
cam_v_custom1-supply = <&s2mpb02_b2>;
regulator-names = "cam_vio", "cam_v_custom1";
rgltr-cntrl-support;
rgltr-min-voltage = <1800000 1300000>;
rgltr-max-voltage = <1800000 1300000>;
rgltr-load-current = <5000 5000>;
gpio-no-mux = <0>;
cci-master = <CCI_MASTER_1>;
};
};
&qupv3_hub_i2c1 {
status = "ok";
actuator_rear_wide: qcom,actuator0 {
status = "ok";
cell-index = <0>;
compatible = "qcom,cam-i2c-actuator";
reg = <0x18>;
slave-addr = <0x18>;
cam_vaf-supply = <&s2mpb02_l15>; /* VDD_WIDECAM_AF_3P3 */
cam_vio-supply = <&s2mpb02_l7>; /* VDD_WIDECAM_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <3300000 1800000>;
rgltr-max-voltage = <3300000 1800000>;
rgltr-load-current = <10000 10000>;
qcom,cam-power-seq-type = "cam_vio", "cam_vaf";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 12>;
};
};
&qupv3_se15_i2c {
status = "ok";
qcom,clk-freq-out = <1000000>; /* 1MHz */
qcom,pm-ctrl-client;
actuator_rear_uw: qcom,actuator2 {
status = "ok";
cell-index = <2>;
compatible = "qcom,cam-i2c-actuator";
slave-addr = <0x6A>;
reg = <0x6A>;
cam_vaf-supply = <&s2mpb02_l17>; /* VDD_UW_AF_3P3 */
cam_vio-supply = <&s2mpb02_l6>; /* VDD_TELE_UW_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <3300000 1800000>;
rgltr-max-voltage = <3300000 1800000>;
rgltr-load-current = <10000 10000>;
qcom,cam-power-seq-type = "cam_vaf", "cam_vio";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 12>;
};
};
&qupv3_hub_i2c2 {
status = "ok";
qcom,clk-freq-out = <1000000>; /* 1MHz */
qcom,pm-ctrl-client;
ois_rear_wide: qcom,ois@0E {
status = "ok";
compatible = "qcom,cam-i2c-ois";
cell-index = <0>;
reg = <0x0E>;
cam_vaf-supply = <&s2mpb02_l18>; /* VDD_WIDECAM_OIS_3P3 */
cam_vio-supply = <&s2mpb02_l7>; /* VDD_WIDECAM_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <3300000 1800000>;
rgltr-max-voltage = <3300000 1800000>;
rgltr-load-current = <5000 5000>;
qcom,cam-power-seq-type = "cam_vaf", "cam_vio";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 14>;
gpio-no-mux = <0>;
};
ois_rear_tele: qcom,ois@74 {
status = "ok";
compatible = "qcom,cam-i2c-ois";
cell-index = <3>;
reg = <0x74>;
cam_vaf-supply = <&pm_humu_l9>; /* VDD_TELECAM_OIS_2P8 */
cam_vio-supply = <&s2mpb02_l7>; /* VDD_WIDECAM_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <5000 5000>;
qcom,cam-power-seq-type = "cam_vaf", "cam_vio";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 14>;
gpio-no-mux = <0>;
};
};

View File

@@ -0,0 +1,209 @@
&pm8550ve_g_gpios {
udc_rst_n_active: udc_rst_n_active {
/* GPIO_CONFIG_PUD_DRV(PM,pm8550ve_g_gpios,5, FUNC_OUTPUT_LOW, PULL_NONE, DRV_LV1); */
pins = "gpio5";
function = "normal";
qcom,drive-strength = <0>;
output-low;
bias-disable;
power-source = <1>;
};
udc_rst_n_suspend: udc_rst_n_suspend {
/* GPIO_CONFIG_PUD_DRV(PM,pm8550ve_g_gpios,5, FUNC_OUTPUT_LOW, PULL_DOWN, DRV_LV1); */
pins = "gpio5";
function = "normal";
qcom,drive-strength = <0>;
output-low;
bias-pull-down;
power-source = <1>;
};
wide_a_ldo_en_active: wide_a_ldo_en_active {
/* GPIO_CONFIG_PUD_DRV(PM,pm8550ve_g_gpios,6, FUNC_OUTPUT_LOW, PULL_NONE, DRV_LV1); */
pins = "gpio6";
function = "normal";
qcom,drive-strength = <0>;
output-low;
bias-disable;
power-source = <1>;
};
wide_a_ldo_en_suspend: wide_a_ldo_en_suspend {
/* GPIO_CONFIG_PUD_DRV(PM,pm8550ve_g_gpios,6, FUNC_OUTPUT_LOW, PULL_DOWN, DRV_LV1); */
pins = "gpio6";
function = "normal";
qcom,drive-strength = <0>;
output-low;
bias-pull-down;
power-source = <1>;
};
};
&tlmm {
flash_led_active: flash_led_active {
mux {
pins = "gpio168";
function = "gpio";
};
config {
pins = "gpio168";
bias-disable;
drive-strength = <2>;
};
};
flash_led_suspend: flash_led_suspend {
mux {
pins = "gpio168";
function = "gpio";
};
config {
pins = "gpio168";
bias-disable;
drive-strength = <2>;
output-low;
};
};
};
&cam_sensor_active_rst2 {
mux {
pins = "gpio213";
};
config {
pins = "gpio213";
};
};
&cam_sensor_suspend_rst2 {
mux {
pins = "gpio213";
};
config {
pins = "gpio213";
};
};
&cam_sensor_active_rst0 {
mux {
pins = "gpio60";
};
config {
pins = "gpio60";
};
};
&cam_sensor_suspend_rst0 {
mux {
pins = "gpio60";
};
config {
pins = "gpio60";
};
};
&cam_sensor_active_rst1 {
mux {
pins = "gpio107";
};
config {
pins = "gpio107";
};
};
&cam_sensor_suspend_rst1 {
mux {
pins = "gpio107";
};
config {
pins = "gpio107";
};
};
&cam_sensor_mclk5_active {
config {
drive-strength = <2>;
};
};
&cam_sensor_mclk5_suspend {
config {
drive-strength = <2>;
output-low;
};
};
&qupv3_hub_i2c2_sda_active {
config {
drive-strength = <6>;
bias-disable;
};
};
&qupv3_hub_i2c2_scl_active {
config {
drive-strength = <6>;
bias-disable;
};
};
&qupv3_hub_i2c2_sleep {
config {
drive-strength = <6>;
};
};
&qupv3_se8_i2c_sda_active {
config {
drive-strength = <6>;
bias-disable;
qcom,apps;
};
};
&qupv3_se8_i2c_scl_active {
config {
drive-strength = <6>;
bias-disable;
qcom,apps;
};
};
&qupv3_se8_i2c_sleep {
config {
drive-strength = <6>;
qcom,remote;
};
};
&qupv3_se9_i2c_sda_active {
config {
drive-strength = <6>;
bias-disable;
};
};
&qupv3_se9_i2c_scl_active {
config {
drive-strength = <6>;
bias-disable;
};
};
&qupv3_se9_i2c_sleep {
config {
drive-strength = <6>;
bias-disable;
input-enable;
};
};

View File

@@ -0,0 +1,22 @@
#include "sun-camera-sensor-q7q-pinctrl-common.dtsi"
&flash_led_active {
mux {
pins = "gpio170";
};
config {
pins = "gpio170";
};
};
&flash_led_suspend {
mux {
pins = "gpio170";
};
config {
pins = "gpio170";
};
};

View File

@@ -0,0 +1,18 @@
/dts-v1/;
/plugin/;
#include <dt-bindings/clock/qcom,gcc-sun.h>
#include <dt-bindings/clock/qcom,camcc-sun.h>
#include <dt-bindings/clock/qcom,cambistmclkcc-sun.h>
#include <dt-bindings/interconnect/qcom,sun.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
#include "../sun-camera.dts"
#include "sun-camera-sensor-q7q-common.dtsi"
#include "sun-camera-sensor-q7q-pinctrl-common.dtsi"
/ {
model = "Samsung Q7Q PROJECT (board-id,00,c)";
qcom,board-id = <8 0>;
};

View File

@@ -0,0 +1,18 @@
/dts-v1/;
/plugin/;
#include <dt-bindings/clock/qcom,gcc-sun.h>
#include <dt-bindings/clock/qcom,camcc-sun.h>
#include <dt-bindings/clock/qcom,cambistmclkcc-sun.h>
#include <dt-bindings/interconnect/qcom,sun.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
#include "../sun-camera.dts"
#include "sun-camera-sensor-q7q-r01.dtsi"
#include "sun-camera-sensor-q7q-pinctrl-r01.dtsi"
/ {
model = "Samsung Q7Q PROJECT (board-id,01,c)";
qcom,board-id = <8 1>;
};

View File

@@ -0,0 +1,190 @@
#include "sun-camera-sensor-q7q-common.dtsi"
/delete-node/ &actuator_rear_wide;
/delete-node/ &actuator_rear_tele;
/delete-node/ &ois_rear_wide;
/delete-node/ &ois_rear_tele;
/delete-node/ &actuator_rear_uw;
&reg_dio8018_0_ldo1 {
regulator-min-microvolt = <1104000>;
regulator-max-microvolt = <1104000>;
};
&reg_dio8018_0_ldo3 {
regulator-min-microvolt = <2804000>;
regulator-max-microvolt = <2804000>;
};
&reg_dio8018_0_ldo6 {
regulator-min-microvolt = <1804000>;
regulator-max-microvolt = <1804000>;
};
&s2mpb02_l14 {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
&cam_cci2 {
actuator_rear_wide: qcom,actuator0 {
status = "ok";
cell-index = <0>;
compatible = "qcom,actuator";
reg = <0x0C>;
slave-addr = <0x18>;
cam_vaf-supply = <&s2mpb02_l14>; /* VDD_WIDECAM_AF_3P3 */
cam_vio-supply = <&s2mpb02_l7>; /* VDD_WIDECAM_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <3300000 1800000>;
rgltr-max-voltage = <3300000 1800000>;
rgltr-load-current = <10000 10000>;
qcom,cam-power-seq-type = "cam_vio", "cam_vaf";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 12>;
cci-master = <CCI_MASTER_0>;
};
};
&qupv3_se8_i2c {
status = "ok";
qcom,clk-freq-out = <1000000>; /* 1MHz */
ois_rear_wide: qcom,ois@0E {
status = "ok";
compatible = "qcom,cam-i2c-ois";
cell-index = <0>;
reg = <0x0E>;
cam_vaf-supply = <&s2mpb02_l18>; /* VDD_WIDECAM_OIS_3P3 */
cam_vio-supply = <&s2mpb02_l7>; /* VDD_WIDECAM_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <3300000 1800000>;
rgltr-max-voltage = <3300000 1800000>;
rgltr-load-current = <5000 5000>;
qcom,cam-power-seq-type = "cam_vaf", "cam_vio";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 14>;
gpio-no-mux = <0>;
};
};
&qupv3_se9_i2c {
status = "ok";
qcom,clk-freq-out = <1000000>; /* 1MHz */
qcom,shared; /* Enabling MultiEE */
qcom,pm-ctrl-client;
actuator_rear_tele: qcom,actuator3 {
status = "ok";
cell-index = <3>;
compatible = "qcom,cam-i2c-actuator";
reg = <0x1E>;
slave-addr = <0x1E>;
cam_vaf-supply = <&pm_humu_l2>; /* VDD_TELECAM_AF_2P8 */
cam_vio-supply = <&s2mpb02_l6>; /* VDD_TELE_UW_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <10000 10000>;
qcom,cam-power-seq-type = "cam_vio", "cam_vaf";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 12>;
};
ois_rear_tele: qcom,ois@74 {
status = "ok";
compatible = "qcom,cam-i2c-ois";
cell-index = <3>;
reg = <0x74>;
cam_vaf-supply = <&pm_humu_l9>; /* VDD_TELECAM_OIS_2P8 */
cam_vio-supply = <&s2mpb02_l7>; /* VDD_WIDECAM_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <2800000 1800000>;
rgltr-max-voltage = <2800000 1800000>;
rgltr-load-current = <5000 5000>;
qcom,cam-power-seq-type = "cam_vaf", "cam_vio";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 14>;
gpio-no-mux = <0>;
};
};
&qupv3_hub_i2c1 {
/delete-property/ qcom,clk-freq-out;
/delete-property/ qcom,pm-ctrl-client;
};
&qupv3_hub_i2c2 {
status = "ok";
qcom,clk-freq-out = <1000000>; /* 1MHz */
qcom,pm-ctrl-client;
actuator_rear_uw: qcom,actuator2 {
status = "ok";
cell-index = <2>;
compatible = "qcom,cam-i2c-actuator";
slave-addr = <0x6A>;
reg = <0x6A>;
cam_vaf-supply = <&s2mpb02_l17>; /* VDD_UW_AF_3P3 */
cam_vio-supply = <&s2mpb02_l6>; /* VDD_TELE_UW_IO_1P8 */
regulator-names = "cam_vaf", "cam_vio";
rgltr-cntrl-support;
rgltr-min-voltage = <3300000 1800000>;
rgltr-max-voltage = <3300000 1800000>;
rgltr-load-current = <10000 10000>;
qcom,cam-power-seq-type = "cam_vaf", "cam_vio";
qcom,cam-power-seq-cfg-val = <1 1>;
qcom,cam-power-seq-delay = <1 12>;
};
};
&sensor_front_top_full {
cam_vdig-supply = <&reg_dio8018_0_ldo1>;
cam_vio-supply = <&reg_dio8018_0_ldo6>;
cam_vana-supply = <&reg_dio8018_0_ldo3>;
rgltr-min-voltage = <1104000 1804000 2804000 0>;
rgltr-max-voltage = <1104000 1804000 2804000 0>;
rgltr-load-current = <200000 200000 200000 0>;
};
&sensor_front_top {
cam_vdig-supply = <&reg_dio8018_0_ldo1>;
cam_vio-supply = <&reg_dio8018_0_ldo6>;
cam_vana-supply = <&reg_dio8018_0_ldo3>;
rgltr-min-voltage = <1104000 1804000 2804000 0>;
rgltr-max-voltage = <1104000 1804000 2804000 0>;
rgltr-load-current = <200000 200000 200000 0>;
};
&eeprom_front_top {
cam_vio-supply = <&reg_dio8018_0_ldo6>;
rgltr-min-voltage = <1804000>;
rgltr-max-voltage = <1804000>;
};