diff --git a/yupik-camera-sensor-odk.dtsi b/yupik-camera-sensor-odk.dtsi new file mode 100644 index 000000000000..f0923615af89 --- /dev/null +++ b/yupik-camera-sensor-odk.dtsi @@ -0,0 +1,380 @@ +#include + +&soc { + qcom,cam-res-mgr { + compatible = "qcom,cam-res-mgr"; + status = "ok"; + }; + + //cam0 on dk csi0 + camera0_vana_ldo: gpio-regulator@0 { + compatible = "regulator-fixed"; + reg = <0x09 0x00>; + regulator-name = "camera0_vana_ldo"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tlmm 42 0>; + }; + + camera0_vdig_ldo: gpio-regulator@1 { + compatible = "regulator-fixed"; + reg = <0x0a 0x00>; + regulator-name = "camera0_vdig_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tlmm 107 0>; + }; + + camera0_vio_ldo: gpio-regulator@2 { + compatible = "regulator-fixed"; + reg = <0x0b 0x00>; + regulator-name = "camera0_vio_ldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tlmm 108 0>; + }; + + camera0_vaf_ldo: gpio-regulator@3 { + compatible = "regulator-fixed"; + reg = <0x0c 0x00>; + regulator-name = "camera0_vaf_ldo"; + regulator-min-microvolt = <2850000>; + regulator-max-microvolt = <2850000>; + regulator-enable-ramp-delay = <135>; + enable-active-high; + gpio = <&tca64_22 20 0>; + }; + + //cam1 on dk csi2 + camera1_vana_ldo: gpio-regulator@4 { + compatible = "regulator-fixed"; + reg = <0x06 0x00>; + regulator-name = "camera1_vana_ldo"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 5 0>; + }; + + camera1_vdig_ldo: gpio-regulator@5 { + compatible = "regulator-fixed"; + reg = <0x07 0x00>; + regulator-name = "camera1_vdig_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 7 0>; + }; + + camera1_vio_ldo: gpio-regulator@6 { + compatible = "regulator-fixed"; + reg = <0x08 0x00>; + regulator-name = "camera1_vio_ldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 6 0>; + }; + + camera2_vana_ldo: gpio-regulator@7 { + compatible = "regulator-fixed"; + reg = <0x00 0x00>; + regulator-name = "camera0_vana_ldo"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 9 0>; + }; + + camera2_vdig_ldo: gpio-regulator@8 { + compatible = "regulator-fixed"; + reg = <0x01 0x00>; + regulator-name = "camera0_vdig_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 11 0>; + }; + + camera2_vio_ldo: gpio-regulator@9 { + compatible = "regulator-fixed"; + reg = <0x02 0x00>; + regulator-name = "camera0_vio_ldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 10 0>; + }; + + camera3_vana_ldo: gpio-regulator@10 { + compatible = "regulator-fixed"; + reg = <0x03 0x00>; + regulator-name = "camera3_vana_ldo"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 13 0>; + }; + + camera3_vdig_ldo: gpio-regulator@11 { + compatible = "regulator-fixed"; + reg = <0x04 0x00>; + regulator-name = "camera3_vdig_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 15 0>; + }; + + camera3_vio_ldo: gpio-regulator@12 { + compatible = "regulator-fixed"; + reg = <0x05 0x00>; + regulator-name = "camera3_vio_ldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 14 0>; + }; + + camera4_vana_ldo: gpio-regulator@13 { + compatible = "regulator-fixed"; + reg = <0x0d 0x00>; + regulator-name = "camera4_vana_ldo"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 17 0>; + }; + + camera4_vdig_ldo: gpio-regulator@14 { + compatible = "regulator-fixed"; + reg = <0x0e 0x00>; + regulator-name = "camera4_vdig_ldo"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1050000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 19 0>; + }; + + camera4_vio_ldo: gpio-regulator@15 { + compatible = "regulator-fixed"; + reg = <0x0f 0x00>; + regulator-name = "camera4_vio_ldo"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-enable-ramp-delay = <233>; + enable-active-high; + gpio = <&tca64_22 18 0>; + }; +}; + +&cam_cci0 { + //cam0 on dk csi0 + 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>; + cam_vio-supply = <&camera0_vio_ldo>; + cam_vana-supply = <&camera0_vana_ldo>; + cam_vdig-supply = <&camera0_vdig_ldo>; + cam_clk-supply = <&cam_cc_titan_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_active_rst0>; + pinctrl-1 = <&cam_sensor_mclk0_suspend + &cam_sensor_suspend_rst0>; + gpios = <&tlmm 64 0>, + <&tlmm 20 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 = <&camcc CAM_CC_MCLK0_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + + //cam1 on dk csi2 + qcom,cam-sensor1 { + cell-index = <1>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <2>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + cam_vio-supply = <&camera1_vio_ldo>; + cam_vana-supply = <&camera1_vana_ldo>; + cam_vdig-supply = <&camera1_vdig_ldo>; + cam_clk-supply = <&cam_cc_titan_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_active_rst2>; + pinctrl-1 = <&cam_sensor_mclk2_suspend + &cam_sensor_suspend_rst2>; + gpios = <&tlmm 66 0>, + <&tlmm 77 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 = <&camcc CAM_CC_MCLK2_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + + //cam2 on dk csi1 + 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>; + cam_vio-supply = <&camera2_vio_ldo>; + cam_vana-supply = <&camera2_vana_ldo>; + cam_vdig-supply = <&camera2_vdig_ldo>; + cam_clk-supply = <&cam_cc_titan_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_mclk1_active + &cam_sensor_active_rst1>; + pinctrl-1 = <&cam_sensor_mclk1_suspend + &cam_sensor_suspend_rst1>; + gpios = <&tlmm 65 0>, + <&tlmm 21 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 = <1>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK1_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; +}; + +&cam_cci1 { + // cam3 + qcom,cam-sensor3 { + cell-index = <3>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <3>; + sensor-position-roll = <90>; + sensor-position-pitch = <0>; + sensor-position-yaw = <180>; + cam_vio-supply = <&camera3_vio_ldo>; + cam_vana-supply = <&camera3_vana_ldo>; + cam_vdig-supply = <&camera3_vdig_ldo>; + cam_clk-supply = <&cam_cc_titan_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_mclk3_active + &cam_sensor_active_rst3>; + pinctrl-1 = <&cam_sensor_mclk3_suspend + &cam_sensor_suspend_rst3>; + gpios = <&tlmm 67 0>, + <&tlmm 78 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 = <0>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK3_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; + + // cam4 + qcom,cam-sensor4 { + cell-index = <4>; + compatible = "qcom,cam-sensor"; + csiphy-sd-index = <4>; + sensor-position-roll = <0>; + sensor-position-pitch = <0>; + sensor-position-yaw = <0>; + cam_vio-supply = <&camera4_vio_ldo>; + cam_vana-supply = <&camera4_vana_ldo>; + cam_vdig-supply = <&camera4_vdig_ldo>; + cam_clk-supply = <&cam_cc_titan_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_mclk4_active + &cam_sensor_active_rst4>; + pinctrl-1 = <&cam_sensor_mclk4_suspend + &cam_sensor_suspend_rst4>; + gpios = <&tlmm 68 0>, + <&tlmm 90 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 = <1>; + status = "ok"; + clocks = <&camcc CAM_CC_MCLK4_CLK>; + clock-names = "cam_clk"; + clock-cntl-level = "nominal"; + clock-rates = <24000000>; + }; +};