Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Vladimir Zapolskiy" <vladimir.zapolskiy@linaro.org>
Cc: robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH] arm64: dts: qcom: sm8650-valve-deckard: Add initial support of camera sensors
Date: Thu, 01 Oct 2026 15:06:46 +0000	[thread overview]
Message-ID: <20261001150647.18F431F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20261001145206.2442665-1-vladimir.zapolskiy@linaro.org>

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] dt: pinctrl states grouped incorrectly under pinctrl-0
- [High] dt: out-of-bounds reset-gpios index for og01a1b sensor
- [Medium] dt: invalid data-lanes enum value for og01a1b sensor
--

commit 80cdd7bb4552bb56ef59eb14b62e12c079117298
Author: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>

arm64: dts: qcom: sm8650-valve-deckard: Add initial support of camera sensors

This commit adds initial device tree support for camera sensors on the Valve
Steam Frame device. It enables CAMSS and adds descriptions for pairs of
OmniVision OV6211 and OG01A1B monochrome sensors.

> diff --git a/arch/arm64/boot/dts/qcom/sm8650-valve-deckard.dts b/arch/arm64/boot/dts/qcom/sm8650-valve-deckard.dts
> index d25a09e162dd3..3b2503c3c5413 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650-valve-deckard.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8650-valve-deckard.dts

[ ... ]

> +&cci0_i2c1 {
> +	sensor@60 {
> +		compatible = "ovti,ov6211";
> +		reg = <0x60>;
> +		clocks = <&camcc CAM_CC_MCLK4_CLK>;
> +		assigned-clocks = <&camcc CAM_CC_MCLK4_CLK>;
> +		assigned-clock-rates = <24000000>;
> +		pinctrl-0 = <&cam4_default>, <&cam4_sleep>;
> +		pinctrl-names = "default", "sleep";

[Severity: High]
Does this correctly map the sleep state for the camera pins?

Assigning both the default and sleep state phandles to pinctrl-0 while
defining pinctrl-names as "default", "sleep" breaks pin control behavior.
The pinctrl subsystem expects index 1 to map to pinctrl-1.

Due to this misconfiguration, the kernel may mistakenly apply both default and
sleep states sequentially when setting the default state, leaving the pins in
the sleep configuration. Furthermore, it will fail to find the required
pinctrl-1 property when attempting to transition to sleep later.

[ ... ]

> +&cci2_i2c0 {
> +	sensor@36 {
> +		compatible = "ovti,og01a1b";
> +		reg = <0x36>;
> +		clocks = <&camcc CAM_CC_MCLK0_CLK>;
> +		assigned-clocks = <&camcc CAM_CC_MCLK0_CLK>;
> +		assigned-clock-rates = <19200000>;
> +		reset-gpios = <&pm8550vs_e_gpios 4 GPIO_ACTIVE_LOW>;
> +		pinctrl-0 = <&cam0_default>, <&cam0_sleep>;
> +		pinctrl-names = "default", "sleep";

[Severity: High]
Will this experience the same pinctrl mapping issue described above for
the ovti,ov6211 sensor?

> +		avdd-supply = <&vreg_l3m_2p8>;
> +		dovdd-supply = <&vreg_cam_front_right_1p8>;
> +		dvdd-supply = <&vreg_cam_front_right_1p2>;
> +
> +		port {
> +			cam_front_right: endpoint {
> +				data-lanes = <0 1>;

[Severity: Medium]
Is the value <0 1> for data-lanes intentional?

The device tree schema for the ovti,og01a1b sensor only permits the enum
values of 1 and 2. This configuration will lead to a dtbs_check validation
error, and could cause driver configuration issues if the PHY driver strictly
expects 1-based physical lane indexing.

> +				link-frequencies = /bits/ 64 <500000000>;
> +				remote-endpoint = <&csiphy1_ep>;
> +			};
> +		};
> +	};
> +
> +	sensor@60 {
> +		compatible = "ovti,og01a1b";
> +		reg = <0x60>;
> +		clocks = <&camcc CAM_CC_MCLK1_CLK>;
> +		assigned-clocks = <&camcc CAM_CC_MCLK1_CLK>;
> +		assigned-clock-rates = <19200000>;
> +		reset-gpios = <&pm8550vs_e_gpios 6 GPIO_ACTIVE_LOW>;

[Severity: High]
Could this out-of-bounds index cause a probe failure?

The pm8550vs PMIC only supports 6 GPIOs (indices 0 through 5). Referencing
index 6 guarantees an out-of-bounds error during the GPIO lookup, which will
cause the sensor driver to fail to request its reset pin during probe.

> +		pinctrl-0 = <&cam1_default>, <&cam1_sleep>;
> +		pinctrl-names = "default", "sleep";

[Severity: High]
As noted above, shouldn't the sleep state be mapped to pinctrl-1?

> +		avdd-supply = <&vreg_l3n_2p8>;
> +		dovdd-supply = <&vreg_cam_front_left_1p8>;
> +		dvdd-supply = <&vreg_cam_front_left_1p2>;
> +
> +		port {
> +			cam_front_left: endpoint {
> +				data-lanes = <0 1>;

[Severity: Medium]
Does this data-lanes configuration also need to be updated to use 1-based
physical lane indexing to satisfy the ovti,og01a1b schema?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261001145206.2442665-1-vladimir.zapolskiy@linaro.org?part=1

  reply	other threads:[~2026-10-01 15:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-01 14:52 [PATCH] arm64: dts: qcom: sm8650-valve-deckard: Add initial support of camera sensors Vladimir Zapolskiy
2026-10-01 15:06 ` sashiko-bot [this message]
2026-10-02  9:25 ` 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=20261001150647.18F431F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=vladimir.zapolskiy@linaro.org \
    /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