From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
To: Richard Acayan <mailingradian@gmail.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh@kernel.org>, Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Tianshu Qiu <tian.shu.qiu@intel.com>,
linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-msm@vger.kernel.org
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>,
Robert Mader <robert.mader@collabora.com>,
Bryan O'Donoghue <bod@kernel.org>,
David Heidelberg <david@ixit.cz>,
phone-devel@vger.kernel.org
Subject: Re: [PATCH v6 5/5] arm64: dts: qcom: sdm670-google-sargo: add imx355 front camera
Date: Wed, 7 Jan 2026 07:05:27 +0200 [thread overview]
Message-ID: <bbf0dcd9-d0f2-49a6-a2f2-6ec9376f2f59@linaro.org> (raw)
In-Reply-To: <20260107043044.92485-6-mailingradian@gmail.com>
On 1/7/26 06:30, Richard Acayan wrote:
> 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>
> ---
> .../boot/dts/qcom/sdm670-google-sargo.dts | 104 ++++++++++++++++++
> 1 file changed, 104 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts b/arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts
> index ed55646ca419..ec447fe3959a 100644
> --- a/arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm670-google-sargo.dts
> @@ -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,61 @@ vreg_bob: bob {
> };
> };
>
> +&camss {
> + vdda-phy-supply = <&vreg_l1a_1p225>;
> + vdda-pll-supply = <&vreg_s6a_0p87>;
> +
> + status = "okay";
> +};
> +
> +&camss_port1 {
> + camss_endpoint1: endpoint {
> + clock-lanes = <7>;
Please remove the copied bogus 'clock-lanes' property, here it has no impact
and here it's value is just some random number.
> + 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>;
> +
> + 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_front_default &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 +573,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 +599,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";
> @@ -547,6 +644,13 @@ &sdhc_1 {
> &tlmm {
> gpio-reserved-ranges = <0 4>, <81 4>;
>
> + cam_front_default: cam-front-default-state {
> + pins = "gpio9";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
Likely this one could be omitted, the proper and expected GPIO configuration
should be done by the GPIO framework itself.
> +
> panel_default: panel-default-state {
> te-pins {
> pins = "gpio10";
--
Best wishes,
Vladimir
next prev parent reply other threads:[~2026-01-07 5:05 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-07 4:30 [PATCH v6 0/5] media: i2c: IMX355 for the Pixel 3a Richard Acayan
2026-01-07 4:30 ` [PATCH v6 1/5] dt-bindings: media: i2c: Add Sony IMX355 Richard Acayan
2026-01-07 4:41 ` Vladimir Zapolskiy
2026-01-07 7:35 ` Krzysztof Kozlowski
2026-01-09 0:09 ` Richard Acayan
2026-01-07 4:30 ` [PATCH v6 2/5] media: i2c: imx355: Support devicetree and power management Richard Acayan
2026-01-07 4:55 ` Vladimir Zapolskiy
2026-01-07 7:34 ` Krzysztof Kozlowski
2026-01-08 3:28 ` Richard Acayan
2026-01-07 13:31 ` Bryan O'Donoghue
2026-01-07 18:49 ` Sakari Ailus
2026-01-08 4:15 ` Richard Acayan
2026-01-07 4:30 ` [PATCH v6 3/5] arm64: dts: qcom: sdm670: label the camss ports instead of endpoints Richard Acayan
2026-01-07 4:59 ` Vladimir Zapolskiy
2026-01-07 13:36 ` Bryan O'Donoghue
2026-01-07 4:30 ` [PATCH v6 4/5] arm64: dts: qcom: sdm670: add camera mclk pins Richard Acayan
2026-01-07 4:30 ` [PATCH v6 5/5] arm64: dts: qcom: sdm670-google-sargo: add imx355 front camera Richard Acayan
2026-01-07 5:05 ` Vladimir Zapolskiy [this message]
2026-01-07 13:37 ` Bryan O'Donoghue
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bbf0dcd9-d0f2-49a6-a2f2-6ec9376f2f59@linaro.org \
--to=vladimir.zapolskiy@linaro.org \
--cc=andersson@kernel.org \
--cc=bod@kernel.org \
--cc=conor+dt@kernel.org \
--cc=david@ixit.cz \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mailingradian@gmail.com \
--cc=mchehab@kernel.org \
--cc=phone-devel@vger.kernel.org \
--cc=robert.mader@collabora.com \
--cc=robh@kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=tian.shu.qiu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox