Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "David Heidelberg" <david@ixit.cz>
Cc: devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v9 1/2] arm64: dts: qcom: sdm845-google: Add dual front IMX355 cameras
Date: Mon, 07 Sep 2026 16:11:59 +0000	[thread overview]
Message-ID: <20260907161200.0F1861F00A3A@smtp.kernel.org> (raw)
In-Reply-To: <20260907-pixel3-camera-v9-1-b1981f2d3291@ixit.cz>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The `cam_mclk2_default` pinctrl is assigned to the `camss` node, creating a probe deadlock that prevents the IMX355 sensors from initializing.
- [Medium] The patch incorrectly modifies the sleep state of `cci0_sleep` instead of `cci1_sleep` to disable internal pull-downs, leaving the newly added `cci_i2c1` bus with a pull-down conflict.
--

commit 5866dcb6e26829a5869d717eae07ad902b36446e
Author: David Heidelberg <david@ixit.cz>

arm64: dts: qcom: sdm845-google: Add dual front IMX355 cameras

The Pixel 3 features two front-facing Sony IMX355 sensors with different
focal lengths. This commit enables the dual front camera configuration
by adding them to CSIPHY ports 1 and 2, controlled over CCI I2C1, using
MCLK2 as the clock source.

> diff --git a/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi
> index f1379857e2742..02a392fea7212 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845-google-common.dtsi

[ ... ]

> @@ -351,6 +390,53 @@ vreg_s3c_0p6: smps3 {
>  	};
>  };
>  
> +&camss {
> +	vdda-phy-supply = <&vreg_l1a_0p875>;
> +	vdda-pll-supply = <&vreg_l26a_1p2>;
> +
> +	/*
> +	 * MCLK2 (GPIO15) is shared between both front camera sensors.
> +	 * The clock is generated by CAMCC, therefore the pin is
> +	 * configured here rather than in individual sensor nodes.
> +	 */
> +	pinctrl-0 = <&cam_mclk2_default>;
> +	pinctrl-1 = <&cam_mclk2_sleep>;
> +	pinctrl-names = "default", "sleep";

[Severity: High]
Does assigning the MCLK pinctrl to the consumer node (&camss) break the
initialization sequence?

Because &camss has remote-endpoint links pointing to the front sensors,
fw_devlink treats the sensors as suppliers and &camss as the consumer,
forcing &camss to probe after the sensors. When the sensors probe, they
attempt to read their chip ID over I2C, which requires the MCLK clock.

Since &camss has not yet probed at that time, the GPIO15 pin remains
unconfigured, the MCLK signal never reaches the sensors, and their I2C reads
fail with a timeout. This creates a probe deadlock preventing the sensors
from initializing.

> +
> +	status = "okay";

[ ... ]

> +		port@2 {
> +			reg = <2>;
> +
> +			camss_endpoint2: endpoint {
> +				bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
> +				data-lanes = <0 1 2 3>;
> +				remote-endpoint = <&cam_front_endpoint>;
> +			};
> +		};
> +	};
> +};
> +
> +&cci0_sleep {
> +	/* bus has external pull-up */
> +	/delete-property/ bias-pull-down;
> +	bias-disable;
> +};

[Severity: Medium]
Is this modifying the sleep state of the wrong I2C bus?

The newly added front IMX355 cameras are connected to the cci_i2c1 bus,
whose sleep pin state is defined by &cci1_sleep. By applying this
configuration to &cci0_sleep instead, &cci1_sleep is left unmodified.

This leaves the cci_i2c1 pins with internal pull-downs enabled during system
sleep, which conflicts with the external pull-ups on the bus and causes a
continuous power leak.

> +
> +&cci {
> +	status = "okay";
> +};

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260907-pixel3-camera-v9-0-b1981f2d3291@ixit.cz?part=1

  reply	other threads:[~2026-09-07 16:12 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-07 15:58 [PATCH v9 0/2] Add initial dual front camera and rear flash support for Pixel 3 / 3 XL David Heidelberg via B4 Relay
2026-09-07 15:58 ` [PATCH v9 1/2] arm64: dts: qcom: sdm845-google: Add dual front IMX355 cameras David Heidelberg via B4 Relay
2026-09-07 16:11   ` sashiko-bot [this message]
2026-09-08  7:17   ` Abel Vesa
2026-09-09 11:00   ` Konrad Dybcio
2026-09-07 15:58 ` [PATCH v9 2/2] arm64: dts: qcom: sdm845-google: Enable PMI8998 camera flash LEDs David Heidelberg via B4 Relay
2026-09-08  7:16   ` Abel Vesa

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=20260907161200.0F1861F00A3A@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=david@ixit.cz \
    --cc=devicetree@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /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