From: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
To: Wenmeng Liu <quic_wenmliu@quicinc.com>,
Robert Foss <rfoss@kernel.org>, Todor Tomov <todor.too@gmail.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Vikram Sharma <quic_vikramsa@quicinc.com>,
Loic Poulain <loic.poulain@oss.qualcomm.com>,
Andi Shyti <andi.shyti@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>
Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-i2c@vger.kernel.org
Subject: Re: [PATCH 4/4] arm64: dts: qcom: qcs9075-rb8: Enable IMX577 camera sensor
Date: Wed, 14 May 2025 06:43:22 +0100 [thread overview]
Message-ID: <2e9d06be-719c-44e4-af14-7839ee5957b7@linaro.org> (raw)
In-Reply-To: <20250514-rb8_camera-v1-4-bf4a39e304e9@quicinc.com>
On 14/05/2025 03:40, Wenmeng Liu wrote:
> The qcs9075-iq-9075-evk board has 4 camera CSI interfaces.
> Enable the third interface with an imx577 sensor for qcs9075-iq-9075-evk.
>
> An example media-ctl pipeline for the imx577 is:
>
> media-ctl --reset
> media-ctl -V '"imx577 '0-001a'":0[fmt:SRGGB10/4056x3040 field:none]'
> media-ctl -V '"msm_csiphy3":0[fmt:SRGGB10/4056x3040]'
> media-ctl -V '"msm_csid0":0[fmt:SRGGB10/4056x3040]'
> media-ctl -V '"msm_vfe0_rdi0":0[fmt:SRGGB10/4056x3040]'
> media-ctl -l '"msm_csiphy3":1->"msm_csid0":0[1]'
> media-ctl -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]'
>
> yavta -B capture-mplane -c -I -n 5 -f SRGGB10P -s 4056x3040 -F /dev/video0
>
> Signed-off-by: Wenmeng Liu <quic_wenmliu@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/qcs9075-iq-9075-evk.dts | 110 +++++++++++++++++++
> arch/arm64/boot/dts/qcom/sa8775p.dtsi | 132 +++++++++++++++++++++++
> 2 files changed, 242 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/qcs9075-iq-9075-evk.dts b/arch/arm64/boot/dts/qcom/qcs9075-iq-9075-evk.dts
> index eadc59739a4baafedfa456bdb71b72214810b1c1..83c286b3b1428bc90445f41740997f2421824a54 100644
> --- a/arch/arm64/boot/dts/qcom/qcs9075-iq-9075-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs9075-iq-9075-evk.dts
> @@ -20,6 +20,38 @@ aliases {
> chosen {
> stdout-path = "serial0:115200n8";
> };
> +
> + vreg_cam0_1p8: vreg_cam0_1p8 {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_cam0_1p8";
> + startup-delay-us = <10000>;
> + enable-active-high;
> + gpio = <&pmm8654au_0_gpios 7 GPIO_ACTIVE_HIGH>;
> + };
> +
> + vreg_cam1_1p8: vreg_cam1_1p8 {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_cam1_1p8";
> + startup-delay-us = <10000>;
> + enable-active-high;
> + gpio = <&pmm8654au_0_gpios 8 GPIO_ACTIVE_HIGH>;
> + };
> +
> + vreg_cam2_1p8: vreg_cam2_1p8 {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_cam2_1p8";
> + startup-delay-us = <10000>;
> + enable-active-high;
> + gpio = <&pmm8654au_0_gpios 9 GPIO_ACTIVE_HIGH>;
> + };
> +
> + vreg_cam3_1p8: vreg_cam3_1p8 {
> + compatible = "regulator-fixed";
> + regulator-name = "vreg_cam3_1p8";
> + startup-delay-us = <10000>;
> + enable-active-high;
> + gpio = <&pmm8654au_0_gpios 10 GPIO_ACTIVE_HIGH>;
> + };
> };
I would submit the regulators as a separate patch - especially because
you only use 1/4 of the regulators you are adding here.
That in itself deserves a commit log explanation.
> &apps_rsc {
> @@ -241,6 +273,84 @@ vreg_l8e: ldo8 {
> };
> };
>
> +&camcc {
> + status = "okay";
> +};
> +
> +&camss {
> + vdda-pll-supply = <&vreg_l1c>;
> + vdda-phy-supply = <&vreg_l4a>;
> +
> + status = "okay";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@3 {
> + reg = <3>;
> + csiphy3_ep: endpoint {
> + clock-lanes = <7>;
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&imx577_ep3>;
> + };
> + };
> + };
> +};
> +
> +&cci0 {
> + status = "disabled";
> + pinctrl-0 = <&cci0_0_default>;
> + pinctrl-1 = <&cci0_0_sleep>;
> +};
> +
> +&cci1 {
> + status = "disabled";
> + pinctrl-0 = <&cci1_0_default>;
> + pinctrl-1 = <&cci1_0_sleep>;
> +};
> +
> +&cci2 {
> + status = "disabled";
> + pinctrl-0 = <&cci2_0_default>;
> + pinctrl-1 = <&cci2_0_sleep>;
> +};
> +
> +&cci3 {
> + status = "okay";
> + pinctrl-0 = <&cci3_0_default>;
> + pinctrl-1 = <&cci3_0_sleep>;
> +};
You should only have to enable the bus you are using..
> +
> +&cci3_i2c0 {
> + camera@1a {
> + compatible = "sony,imx577";
> + reg = <0x1a>;
> +
> + reset-gpios = <&tlmm 135 GPIO_ACTIVE_LOW>;
> + pinctrl-names = "default", "suspend";
> + pinctrl-0 = <&cam3_default>;
> + pinctrl-1 = <&cam3_suspend>;
> +
> + clocks = <&camcc CAM_CC_MCLK3_CLK>;
> + assigned-clocks = <&camcc CAM_CC_MCLK3_CLK>;
> + assigned-clock-rates = <24000000>;
> +
> + dovdd-supply = <&vreg_s4a>;
> + avdd-supply = <&vreg_cam3_1p8>;
> + /* dvdd-supply = <&vdc_5v>; */
Either include vdc_5v or drop the comment.
> +
> + port {
> + imx577_ep3: endpoint {
> + clock-lanes = <7>;
> + link-frequencies = /bits/ 64 <600000000>;
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&csiphy3_ep>;
> + };
> + };
> + };
> +};
> +
> &qupv3_id_1 {
> status = "okay";
> };
> diff --git a/arch/arm64/boot/dts/qcom/sa8775p.dtsi b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
> index a867694b15b307344b72041e972bae6e7543a98f..d50f0d84fdb5130d8386b107702800382bcaac47 100644
> --- a/arch/arm64/boot/dts/qcom/sa8775p.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sa8775p.dtsi
> @@ -4756,6 +4756,138 @@ tlmm: pinctrl@f000000 {
> gpio-ranges = <&tlmm 0 0 149>;
> wakeup-parent = <&pdc>;
>
> + cam0_default: cam0-default {
> + mclk {
> + pins = "gpio72";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst {
> + pins = "gpio132";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> + };
> +
> + cam0_suspend: cam0-suspend {
> + mclk {
> + pins = "gpio72";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst {
> + pins = "gpio132";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-down;
> + output-low;
> + };
> + };
> +
> + cam1_default: cam1-default {
> + mclk {
> + pins = "gpio73";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst {
> + pins = "gpio133";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> + };
> +
> + cam1_suspend: cam1-suspend {
> + mclk {
> + pins = "gpio73";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst {
> + pins = "gpio133";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-down;
> + output-low;
> + };
> + };
> +
> + cam2_default: cam2-default {
> + mclk {
> + pins = "gpio74";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst {
> + pins = "gpio134";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> + };
> +
> + cam2_suspend: cam2-suspend {
> + mclk {
> + pins = "gpio74";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst {
> + pins = "gpio134";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-down;
> + output-low;
> + };
> + };
> +
> + cam3_default: cam3-default {
> + mclk {
> + pins = "gpio75";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst {
> + pins = "gpio135";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-disable;
> + };
> + };
> +
> + cam3_suspend: cam3-suspend {
> + mclk {
> + pins = "gpio75";
> + function = "cam_mclk";
> + drive-strength = <2>;
> + bias-disable;
> + };
> +
> + rst {
> + pins = "gpio135";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-down;
> + output-low;
> + };
> + };
> +
> cci0_0_default: cci0-0-default-state {
> pins = "gpio60", "gpio61";
> function = "cci_i2c";
>
---
bod
next prev parent reply other threads:[~2025-05-14 5:43 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-14 2:40 [PATCH 0/4] Add dt-bindings and dtsi changes for CAMSS on IQ-9075-evk Wenmeng Liu
2025-05-14 2:40 ` [PATCH 1/4] dt-bindings: media: camss: Add supplies for qcom,sa8775p-camss binding Wenmeng Liu
2025-05-14 5:28 ` Bryan O'Donoghue
2025-05-14 2:40 ` [PATCH 2/4] dt-bindings: media: Add sa8775p cci dt binding Wenmeng Liu
2025-05-14 5:28 ` Bryan O'Donoghue
2025-05-19 15:10 ` Wolfram Sang
2025-05-14 2:40 ` [PATCH 3/4] arm64: dts: qcom: sa8775p: Add CCI definitions Wenmeng Liu
2025-05-14 5:37 ` Bryan O'Donoghue
2025-05-20 16:08 ` Konrad Dybcio
2025-05-14 2:40 ` [PATCH 4/4] arm64: dts: qcom: qcs9075-rb8: Enable IMX577 camera sensor Wenmeng Liu
2025-05-14 5:43 ` Bryan O'Donoghue [this message]
2025-05-20 16:17 ` Konrad Dybcio
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=2e9d06be-719c-44e4-af14-7839ee5957b7@linaro.org \
--to=bryan.odonoghue@linaro.org \
--cc=andersson@kernel.org \
--cc=andi.shyti@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=loic.poulain@oss.qualcomm.com \
--cc=mchehab@kernel.org \
--cc=quic_vikramsa@quicinc.com \
--cc=quic_wenmliu@quicinc.com \
--cc=rfoss@kernel.org \
--cc=robh@kernel.org \
--cc=todor.too@gmail.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;
as well as URLs for NNTP newsgroup(s).