pmic_irq: pmic-irq {
samsung,pins = "gpa2-0";
samsung,pin-pud = <3>;
- samsugn,pin-drv = <3>;
+ samsung,pin-drv = <3>;
};
sub_pmic_irq: sub-pmic-irq {
samsung,pins = "gpa1-3";
};
pinctrl@139B0000 {
- /* Warm reset informatino from AP */
+ /* Warm reset information from AP */
pm_wrsti: pm-wrsti {
samsung,pins = "gpg0-7";
samsung,pin-con-pdn = <3>;
};
_buck2_reg: s2mpb02-buck2 {
- regulator-name = "VDDD_1.0V_CAM";
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <1500000>;
+ regulator-name = "SVDDD_1.2V";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
};
_buckboost_reg: s2mpb02-bb {
};
_ldo1_reg: s2mpb02-ldo1 {
- regulator-name = "S2MPB02_LDO1";
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <2187500>;
+ regulator-name = "VDDD_1.0V_CAM_T";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
};
_ldo2_reg: s2mpb02-ldo2 {
- regulator-name = "S2MPB02_LDO2";
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <21875000>;
+ regulator-name = "VDDD_1.0V_CAM";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
};
_ldo3_reg: s2mpb02-ldo3 {
};
_ldo6_reg: s2mpb02-ldo6 {
- regulator-name = "VDDIO_1.8V_VT";
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <3375000>;
+ regulator-name = "VDDIO_1.8V_CAM_T";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
};
_ldo7_reg: s2mpb02-ldo7 {
};
_ldo13_reg: s2mpb02-ldo13 {
- regulator-name = "VDDA_2.8V_VT";
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <3375000>;
+ regulator-name = "VDDA_2.8V_CAM_T";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
};
_ldo14_reg: s2mpb02-ldo14 {
};
_ldo15_reg: s2mpb02-ldo15 {
- regulator-name = "VDD_2.8V_AF";
+ regulator-name = "VDDD_2.8V_OIS_T";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
};
};
+
+ fimc_is@144B0000 {
+ vender {
+ rear_sensor_id = <47>; /* 46: RPB, 20: 2P8, 47: 2P7SQ */
+ front_sensor_id = <7>; /* 6B2 */
+ rear_second_sensor_id = <48>; /* 48: 2T7SX */
+ secure_sensor_id = <22>; /* 5E2 */
+ };
+
+ fimc_is_dvfs {
+ #define DVFS_INT_CAM_L0 690000
+ #define DVFS_INT_CAM_L1 680000
+ #define DVFS_INT_CAM_L2 670000
+ #define DVFS_INT_CAM_L3 660000
+ #define DVFS_INT_CAM_L4 650000
+
+ #define DVFS_INT_L0 667000
+ #define DVFS_INT_L1 533000
+ #define DVFS_INT_L2 400000
+ #define DVFS_INT_L3 200000
+ #define DVFS_INT_L4 100000
+
+ #define DVFS_CAM_L0 690000
+ #define DVFS_CAM_L1 680000
+ #define DVFS_CAM_L2 670000
+ #define DVFS_CAM_L3 660000
+ #define DVFS_CAM_L4 650000
+ #define DVFS_CAM_L5 640000
+
+ #define DVFS_MIF_L0 2093000
+ #define DVFS_MIF_L1 2002000
+ #define DVFS_MIF_L2 1794000
+ #define DVFS_MIF_L3 1539000
+ #define DVFS_MIF_L4 1352000
+ #define DVFS_MIF_L5 1014000
+ #define DVFS_MIF_L6 845000
+ #define DVFS_MIF_L7 676000
+ #define DVFS_MIF_L8 546000
+ #define DVFS_MIF_L9 419000
+
+ table0 {
+ desc = "dvfs table v0.0 for 16M/2M";
+
+ default_int_cam = <DVFS_INT_CAM_L0>;
+ default_cam = <DVFS_CAM_L0>;
+ default_mif = <DVFS_MIF_L0>;
+ default_int = <DVFS_INT_L0>;
+ default_hpg = <1>;
+
+ front_preview_int_cam = <DVFS_INT_CAM_L0>;
+ front_preview_cam = <DVFS_CAM_L0>;
+ front_preview_mif = <DVFS_MIF_L0>;
+ front_preview_int = <DVFS_INT_L0>;
+ front_preview_hpg = <1>;
+
+ front_preview_full_int_cam = <DVFS_INT_CAM_L0>;
+ front_preview_full_cam = <DVFS_CAM_L0>;
+ front_preview_full_mif = <DVFS_MIF_L0>;
+ front_preview_full_int = <DVFS_INT_L0>;
+ front_preview_full_hpg = <1>;
+
+ front_capture_int_cam = <DVFS_INT_CAM_L0>;
+ front_capture_cam = <DVFS_CAM_L0>;
+ front_capture_mif = <DVFS_MIF_L0>;
+ front_capture_int = <DVFS_INT_L0>;
+ front_capture_hpg = <1>;
+
+ front_video_int_cam = <DVFS_INT_CAM_L0>;
+ front_video_cam = <DVFS_CAM_L0>;
+ front_video_mif = <DVFS_MIF_L0>;
+ front_video_int = <DVFS_INT_L0>;
+ front_video_hpg = <1>;
+
+ front_video_capture_int_cam = <DVFS_INT_CAM_L0>;
+ front_video_capture_cam = <DVFS_CAM_L0>;
+ front_video_capture_mif = <DVFS_MIF_L0>;
+ front_video_capture_int = <DVFS_INT_L0>;
+ front_video_capture_hpg = <1>;
+
+ front_wide_selfie_int_cam = <DVFS_INT_CAM_L0>;
+ front_wide_selfie_cam = <DVFS_CAM_L0>;
+ front_wide_selfie_mif = <DVFS_MIF_L0>;
+ front_wide_selfie_int = <DVFS_INT_L0>;
+ front_wide_selfie_hpg = <1>;
+
+ front_vt1_int_cam = <DVFS_INT_CAM_L0>;
+ front_vt1_cam = <DVFS_CAM_L0>;
+ front_vt1_mif = <DVFS_MIF_L0>;
+ front_vt1_int = <DVFS_INT_L0>;
+ front_vt1_hpg = <1>;
+
+ front_vt2_int_cam = <DVFS_INT_CAM_L0>;
+ front_vt2_cam = <DVFS_CAM_L0>;
+ front_vt2_mif = <DVFS_MIF_L0>;
+ front_vt2_int = <DVFS_INT_L0>;
+ front_vt2_hpg = <1>;
+
+ front_vt4_int_cam = <DVFS_INT_CAM_L0>;
+ front_vt4_cam = <DVFS_CAM_L0>;
+ front_vt4_mif = <DVFS_MIF_L0>;
+ front_vt4_int = <DVFS_INT_L0>;
+ front_vt4_hpg = <1>;
+
+ rear_preview_fhd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_preview_fhd_cam = <DVFS_CAM_L0>;
+ rear_preview_fhd_mif = <DVFS_MIF_L0>;
+ rear_preview_fhd_int = <DVFS_INT_L0>;
+ rear_preview_fhd_hpg = <1>;
+
+ rear_preview_hd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_preview_hd_cam = <DVFS_CAM_L0>;
+ rear_preview_hd_mif = <DVFS_MIF_L0>;
+ rear_preview_hd_int = <DVFS_INT_L0>;
+ rear_preview_hd_hpg = <1>;
+
+ rear_preview_uhd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_preview_uhd_cam = <DVFS_CAM_L0>;
+ rear_preview_uhd_mif = <DVFS_MIF_L0>;
+ rear_preview_uhd_int = <DVFS_INT_L0>;
+ rear_preview_uhd_hpg = <1>;
+
+ rear_preview_full_int_cam = <DVFS_INT_CAM_L0>;
+ rear_preview_full_cam = <DVFS_CAM_L0>;
+ rear_preview_full_mif = <DVFS_MIF_L0>;
+ rear_preview_full_int = <DVFS_INT_L0>;
+ rear_preview_full_hpg = <1>;
+
+ rear_capture_int_cam = <DVFS_INT_CAM_L0>;
+ rear_capture_cam = <DVFS_CAM_L0>;
+ rear_capture_mif = <DVFS_MIF_L0>;
+ rear_capture_int = <DVFS_INT_L0>;
+ rear_capture_hpg = <1>;
+
+ rear_video_fhd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_fhd_cam = <DVFS_CAM_L0>;
+ rear_video_fhd_mif = <DVFS_MIF_L0>;
+ rear_video_fhd_int = <DVFS_INT_L0>;
+ rear_video_fhd_hpg = <1>;
+
+ rear_video_hd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_hd_cam = <DVFS_CAM_L0>;
+ rear_video_hd_mif = <DVFS_MIF_L0>;
+ rear_video_hd_int = <DVFS_INT_L0>;
+ rear_video_hd_hpg = <1>;
+
+ rear_video_uhd_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_uhd_cam = <DVFS_CAM_L0>;
+ rear_video_uhd_mif = <DVFS_MIF_L0>;
+ rear_video_uhd_int = <DVFS_INT_L0>;
+ rear_video_uhd_hpg = <1>;
+
+ rear_video_fhd_capture_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_fhd_capture_cam = <DVFS_CAM_L0>;
+ rear_video_fhd_capture_mif = <DVFS_MIF_L0>;
+ rear_video_fhd_capture_int = <DVFS_INT_L0>;
+ rear_video_fhd_capture_hpg = <1>;
+
+ rear_video_hd_capture_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_hd_capture_cam = <DVFS_CAM_L0>;
+ rear_video_hd_capture_mif = <DVFS_MIF_L0>;
+ rear_video_hd_capture_int = <DVFS_INT_L0>;
+ rear_video_hd_capture_hpg = <1>;
+
+ rear_video_uhd_capture_int_cam = <DVFS_INT_CAM_L0>;
+ rear_video_uhd_capture_cam = <DVFS_CAM_L0>;
+ rear_video_uhd_capture_mif = <DVFS_MIF_L0>;
+ rear_video_uhd_capture_int = <DVFS_INT_L0>;
+ rear_video_uhd_capture_hpg = <1>;
+
+ secure_front_int_cam = <DVFS_INT_CAM_L0>;
+ secure_front_cam = <DVFS_CAM_L0>;
+ secure_front_mif = <DVFS_MIF_L0>;
+ secure_front_int = <DVFS_INT_L0>;
+ secure_front_hpg = <1>;
+
+ pip_preview_int_cam = <DVFS_INT_CAM_L0>;
+ pip_preview_cam = <DVFS_CAM_L0>;
+ pip_preview_mif = <DVFS_MIF_L0>;
+ pip_preview_int = <DVFS_INT_L0>;
+ pip_preview_hpg = <1>;
+
+ pip_capture_int_cam = <DVFS_INT_CAM_L0>;
+ pip_capture_cam = <DVFS_CAM_L0>;
+ pip_capture_mif = <DVFS_MIF_L0>;
+ pip_capture_int = <DVFS_INT_L0>;
+ pip_capture_hpg = <1>;
+
+ pip_video_int_cam = <DVFS_INT_CAM_L0>;
+ pip_video_cam = <DVFS_CAM_L0>;
+ pip_video_mif = <DVFS_MIF_L0>;
+ pip_video_int = <DVFS_INT_L0>;
+ pip_video_hpg = <1>;
+
+ pip_video_capture_int_cam = <DVFS_INT_CAM_L0>;
+ pip_video_capture_cam = <DVFS_CAM_L0>;
+ pip_video_capture_mif = <DVFS_MIF_L0>;
+ pip_video_capture_int = <DVFS_INT_L0>;
+ pip_video_capture_hpg = <1>;
+
+ preview_high_speed_fps_int_cam = <DVFS_INT_CAM_L1>;
+ preview_high_speed_fps_cam = <DVFS_CAM_L3>;
+ preview_high_speed_fps_mif = <DVFS_MIF_L5>;
+ preview_high_speed_fps_int = <DVFS_INT_L0>;
+ preview_high_speed_fps_hpg = <1>;
+
+ video_high_speed_60fps_int_cam = <DVFS_INT_CAM_L0>;
+ video_high_speed_60fps_cam = <DVFS_CAM_L0>;
+ video_high_speed_60fps_mif = <DVFS_MIF_L0>;
+ video_high_speed_60fps_int = <DVFS_INT_L0>;
+ video_high_speed_60fps_hpg = <1>;
+
+ video_high_speed_480fps_int_cam = <DVFS_INT_CAM_L0>;
+ video_high_speed_480fps_cam = <DVFS_CAM_L0>;
+ video_high_speed_480fps_mif = <DVFS_MIF_L0>;
+ video_high_speed_480fps_int = <DVFS_INT_L0>;
+ video_high_speed_480fps_hpg = <1>;
+
+ video_high_speed_60fps_capture_int_cam = <DVFS_INT_CAM_L0>;
+ video_high_speed_60fps_capture_cam = <DVFS_CAM_L0>;
+ video_high_speed_60fps_capture_mif = <DVFS_MIF_L0>;
+ video_high_speed_60fps_capture_int = <DVFS_INT_L0>;
+ video_high_speed_60fps_capture_hpg = <1>;
+
+ ext_front_int_cam = <DVFS_INT_CAM_L0>;
+ ext_front_cam = <DVFS_CAM_L0>;
+ ext_front_mif = <DVFS_MIF_L0>;
+ ext_front_int = <DVFS_INT_L0>;
+ ext_front_hpg = <1>;
+
+ ext_secure_int_cam = <DVFS_INT_CAM_L3>;
+ ext_secure_cam = <DVFS_CAM_L4>;
+ ext_secure_mif = <DVFS_MIF_L7>;
+ ext_secure_int = <DVFS_INT_L4>;
+ ext_secure_hpg = <1>;
+
+ max_int_cam = <DVFS_INT_CAM_L0>;
+ max_cam = <DVFS_CAM_L0>;
+ max_mif = <DVFS_MIF_L0>;
+ max_int = <DVFS_INT_L0>;
+ max_hpg = <1>;
+ };
+ };
+ };
+
+ fimc_is_flash_gpio: fimc-is-flash-gpio@0 {
+ compatible = "samsung,sensor-flash-gpio";
+ id = <0>;
+ status = "okay";
+
+ torch-gpio = <&gpg3 1 0x1>;
+ flash-gpio = <&gpg3 0 0x1>;
+ };
+
+ fimc_is_sensor_2p7sq: fimc-is_sensor_2p7sq@47 {
+ compatible = "samsung,sensor-module-2p7sq";
+
+ pinctrl-names = "pin0", "pin1", "pin2", "release";
+ pinctrl-0 = <>;
+ pinctrl-1 = <&fimc_is_mclk0_out>;
+ pinctrl-2 = <&fimc_is_mclk0_fn>;
+ pinctrl-3 = <>;
+
+ position = <0>; /* Rear:0. Front:1. Rear_sub:2. Secure:3. */
+ id = <0>; /* fimc_is_sensor id */
+ mclk_ch = <0>;
+ sensor_i2c_ch = <0>; /* SENSOR_CONTROL_I2C0 */
+
+ gpio_mclk = <&gpc2 0 0x1>;
+ gpio_reset = <&gpc1 0 0x1>; /* sensor reset */
+
+ power_seq_id = <1>; /* Rumba S6 Compatible */
+
+ status = "okay";
+
+ af {
+ product_name = <20>; /* ACTUATOR_NAME_LC898217 */
+ i2c_ch = <0>; /* SENSOR_CONTROL_I2C0 */
+ };
+
+ flash {
+ product_name = <11>; /* FLASH_GPIO */
+ };
+ };
+
+ fimc_is_sensor_2t7sx: fimc-is_sensor_2t7sx@48 {
+ compatible = "samsung,sensor-module-2t7sx";
+
+ pinctrl-names = "pin0", "pin1", "pin2", "release";
+ pinctrl-0 = <>;
+ pinctrl-1 = <&fimc_is_mclk2_out>;
+ pinctrl-2 = <&fimc_is_mclk2_fn>;
+ pinctrl-3 = <>;
+
+ position = <2>; /* Rear:0. Front:1. Rear_sub:2. Secure:3. */
+ id = <2>; /* fimc_is_sensor id */
+ mclk_ch = <2>;
+ sensor_i2c_ch = <1>; /* SENSOR_CONTROL_I2C1 */
+
+ gpio_mclk = <&gpc2 2 0x1>;
+ gpio_reset = <&gpc0 6 0x1>; /* sensor reset */
+
+ power_seq_id = <1>; /* Rumba S6 Compatible */
+
+ status = "okay";
+
+ af {
+ product_name = <20>; /* ACTUATOR_NAME_LC898217 */
+ i2c_ch = <1>; /* SENSOR_CONTROL_I2C1 */
+ };
+
+ flash {
+ product_name = <11>; /* FLASH_GPIO */
+ };
+ };
+
+ /* FRONT CAMERA */
+ fimc_is_sensor_6b2: fimc-is_sensor_6b2@7 {
+ compatible = "samsung,sensor-module-6b2";
+
+ pinctrl-names = "pin0", "pin1", "pin2", "release";
+ pinctrl-0 = <>;
+ pinctrl-1 = <&fimc_is_mclk1_out>;
+ pinctrl-2 = <&fimc_is_mclk1_fn>;
+ pinctrl-3 = <>;
+
+ position = <1>; /* Rear:0. Front:1. Rear_sub:2. Secure:3. */
+ id = <1>; /* fimc_is_sensor id */
+ mclk_ch = <1>;
+ sensor_i2c_ch = <2>; /* SENSOR_CONTROL_I2C4 */
+
+ gpio_mclk = <&gpc2 1 0x1>;
+ gpio_reset = <&gpc1 2 0x1>; /* sensor reset */
+ status = "okay";
+
+ af {
+ product_name = <100>; /* NOTHING */
+ i2c_ch = <2>; /* SENSOR_CONTROL_I2C2 */
+ };
+
+ flash {
+ product_name = <100>; /* NOTHING */
+ };
+
+ ois {
+ product_name = <100>; /* NOTHING */
+ };
+
+ internal_vc {
+ /* DUMMY */
+ };
+ };
+
+ /* I2C_CAM0 */ /* SENSOR_CONTROL_I2C0 */
+ hsi2c_12: hsi2c@138A0000 {
+ gpios = <&gpc0 0 0 &gpc0 1 0>;
+ status = "okay";
+ clock-frequency = <400000>;
+ samsung,reset-before-trans;
+ samsung,polling-mode;
+
+ fimc-is-2p7sq@2d {
+ compatible = "samsung,exynos5-fimc-is-cis-2p7sq";
+ reg = <0x2d>; /* 1 bit right shift */
+ id = <0>; /* matching fimc_is_sensor id */
+ setfile = "setA";
+ };
+
+ fimc-is-actuator@72 {
+ compatible = "samsung,exynos5-fimc-is-actuator-lc898217";
+ reg = <0x72>; /* 1 bit right shift */
+ id = <0>; /* matching fimc_is_sensor id */
+ place = <0>;
+ };
+ };
+
+ /* I2C_CAM1 */ /* SENSOR_CONTROL_I2C1 */
+ hsi2c_13: hsi2c@138B0000 {
+ gpios = <&gpc0 2 0 &gpc0 3 0>;
+ status = "okay";
+ clock-frequency = <400000>;
+ samsung,reset-before-trans;
+ samsung,polling-mode;
+
+ fimc-is-2t7sx@10 {
+ compatible = "samsung,exynos5-fimc-is-cis-2t7sx";
+ reg = <0x10>; /* 1 bit right shift */
+ id = <2>; /* matching fimc_is_sensor id */
+ setfile = "setA";
+ };
+
+ fimc-is-actuator@74 {
+ compatible = "samsung,exynos5-fimc-is-actuator-lc898217";
+ reg = <0x74>; /* 1 bit right shift */
+ id = <2>; /* matching fimc_is_sensor id */
+ place = <1>; /* HACK */
+ };
+ };
+
+ /* I2C_CAM2 */ /* SENSOR_CONTROL_I2C2 */
+ hsi2c_14: hsi2c@138C0000 {
+ gpios = <&gpc0 4 0 &gpc0 5 0>;
+ status = "okay";
+ clock-frequency = <400000>;
+ samsung,reset-before-trans;
+
+ fimc-is-6b2@35 {
+ compatible = "samsung,exynos5-fimc-is-cis-6b2";
+ reg = <0x35>; /* 1 bit right shift */
+ id = <1>; /* matching fimc_is_sensor id */
+ setfile = "setA";
+ };
+ };
+
+ /* I2C_CAM3 */ /* SENSOR_CONTROL_I2C3 */
+ hsi2c_15: hsi2c@138D0000 {
+ gpios = <&gpc0 6 0 &gpc0 7 0>;
+ status = "okay";
+ clock-frequency = <400000>;
+ samsung,reset-before-trans;
+
+ fimc-is-actuator@72 {
+ compatible = "samsung,exynos5-fimc-is-actuator-dw9780";
+ reg = <0x72>; /* 1 bit right shift */
+ id = <0>; /* matching fimc_is_sensor id */
+ place = <1>; /* HACK */
+ };
+ };
+
+ fimc_is_sensor0: fimc_is_sensor@14400000 {
+ scenario = <SENSOR_SCENARIO_NORMAL>; /* Normal, Vision, OIS etc */
+ id = <0>;
+ csi_ch = <0>;
+ dma_ch = <0 0 0 0 0 1 1 1>;
+ vc_ch = <0 1 2 3 0 1 2 3>;
+ flite_ch = <FLITE_ID_NOTHING>;
+ is_bns = <0>;
+ /* use_ssvc1_internal; */
+ /* use_ssvc2_internal; */
+ status = "okay";
+ };
+
+ fimc_is_sensor1: fimc_is_sensor@14410000 {
+ scenario = <SENSOR_SCENARIO_NORMAL>; /* Normal, Vision, OIS etc */
+ id = <1>;
+ csi_ch = <1>;
+ dma_ch = <1 1 1 1 1 1 1 1>;
+ vc_ch = <0 1 2 3 0 1 2 3>;
+ flite_ch = <FLITE_ID_NOTHING>;
+ is_bns = <0>;
+ status = "okay";
+ };
+
+ fimc_is_sensor2: fimc_is_sensor@14420000 {
+ scenario = <SENSOR_SCENARIO_NORMAL>; /* Normal, Vision, OIS etc */
+ id = <2>;
+ csi_ch = <2>;
+ dma_ch = <2 2 2 2>;
+ vc_ch = <0 1 2 3>;
+ flite_ch = <FLITE_ID_NOTHING>;
+ is_bns = <0>;
+ status = "okay";
+ };
+
+ fimc_is_sensor3: fimc_is_sensor@14430000 {
+ scenario = <SENSOR_SCENARIO_SECURE>; /* Normal, Vision, OIS etc */
+ id = <3>;
+ csi_ch = <3>;
+ dma_ch = <3 3 3 3>;
+ vc_ch = <0 1 2 3>;
+ flite_ch = <FLITE_ID_NOTHING>;
+ is_bns = <0>;
+ status = "okay";
+ };
};
&pinctrl_0 {