mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 14:33:24 -04:00
arm64: dts: qcom: sdm670-google-sargo: add imx355 front camera
The Sony IMX355 is the front camera on the Pixel 3a, mounted in portrait mode. It is connected to CSIPHY1 and CCI I2C1, and uses MCLK2. Add support for it. Co-developed-by: Robert Mader <robert.mader@collabora.com> Signed-off-by: Robert Mader <robert.mader@collabora.com> Signed-off-by: Richard Acayan <mailingradian@gmail.com> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260331194437.41041-4-mailingradian@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
86695909ea
commit
8d3a34d789
@@ -172,6 +172,34 @@ vreg_s2b_1p05: vreg-s2b-regulator {
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
cam_front_ldo: cam-front-ldo-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_front_ldo";
|
||||
regulator-min-microvolt = <1352000>;
|
||||
regulator-max-microvolt = <1352000>;
|
||||
regulator-enable-ramp-delay = <135>;
|
||||
|
||||
gpios = <&pm660l_gpios 4 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
|
||||
pinctrl-0 = <&cam_front_ldo_pin>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
cam_vio_ldo: cam-vio-ldo-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cam_vio_ldo";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <233>;
|
||||
|
||||
gpios = <&pm660_gpios 13 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
|
||||
pinctrl-0 = <&cam_vio_pin>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
};
|
||||
|
||||
&apps_rsc {
|
||||
@@ -392,6 +420,64 @@ vreg_bob: bob {
|
||||
};
|
||||
};
|
||||
|
||||
&camss {
|
||||
vdda-phy-supply = <&vreg_l1a_1p225>;
|
||||
vdda-pll-supply = <&vreg_s6a_0p87>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&camss_port1 {
|
||||
camss_endpoint1: endpoint {
|
||||
data-lanes = <0 1 2 3>;
|
||||
remote-endpoint = <&cam_front_endpoint>;
|
||||
};
|
||||
};
|
||||
|
||||
&cci {
|
||||
pinctrl-0 = <&cci1_default>;
|
||||
pinctrl-1 = <&cci1_sleep>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cci_i2c1 {
|
||||
camera@1a {
|
||||
compatible = "sony,imx355";
|
||||
reg = <0x1a>;
|
||||
|
||||
clocks = <&camcc CAM_CC_MCLK2_CLK>;
|
||||
|
||||
/*
|
||||
* The sensor can accept a 24 MHz clock, but 19.2 MHz has
|
||||
* better driver compatibility.
|
||||
*/
|
||||
assigned-clocks = <&camcc CAM_CC_MCLK2_CLK>;
|
||||
assigned-clock-rates = <19200000>;
|
||||
|
||||
reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
|
||||
|
||||
avdd-supply = <&cam_front_ldo>;
|
||||
dvdd-supply = <&cam_front_ldo>;
|
||||
dovdd-supply = <&cam_vio_ldo>;
|
||||
|
||||
pinctrl-0 = <&cam_mclk2_default>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
rotation = <270>;
|
||||
orientation = <0>;
|
||||
|
||||
port {
|
||||
cam_front_endpoint: endpoint {
|
||||
data-lanes = <1 2 3 4>;
|
||||
link-frequencies = /bits/ 64 <360000000>;
|
||||
remote-endpoint = <&camss_endpoint1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gcc {
|
||||
protected-clocks = <GCC_QSPI_CORE_CLK>,
|
||||
<GCC_QSPI_CORE_CLK_SRC>,
|
||||
@@ -490,6 +576,14 @@ &pm660_charger {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pm660_gpios {
|
||||
cam_vio_pin: cam-vio-state {
|
||||
pins = "gpio13";
|
||||
function = "normal";
|
||||
power-source = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&pm660_rradc {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -508,6 +602,12 @@ led-0 {
|
||||
};
|
||||
|
||||
&pm660l_gpios {
|
||||
cam_front_ldo_pin: cam-front-state {
|
||||
pins = "gpio4";
|
||||
function = "normal";
|
||||
power-source = <0>;
|
||||
};
|
||||
|
||||
vol_up_pin: vol-up-state {
|
||||
pins = "gpio7";
|
||||
function = "normal";
|
||||
|
||||
Reference in New Issue
Block a user