All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/6] Switch on IMX577 on RB5
@ 2022-11-12 17:26 Bryan O'Donoghue
  2022-11-12 17:26 ` [PATCH v5 1/6] arm64: dts: qcom: sdm845-db845c: Drop redundant address-cells, size-cells declaration Bryan O'Donoghue
                   ` (5 more replies)
  0 siblings, 6 replies; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 17:26 UTC (permalink / raw)
  To: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Bryan O'Donoghue

V5:
- Rolls three identified dts non-confirmances into three separate patches - Konrad
- Fixes the "both" left in the git log - Konrad

Previous
https://lore.kernel.org/all/20221112124126.86815-1-bryan.odonoghue@linaro.org/

V4:
- Rebases on top of Konrad's comment fixes to migrate into rb3 mezz.dts -Bjorn
- Adds -state suffix - Bjorn
- Adds -pins suffix - Bjorn
- Removes redundant newline - Krzysztof

Previous
https://lore.kernel.org/all/20221108021816.213084-1-bryan.odonoghue@linaro.org/

Dependency for the imx577 should be merged in 6.2
https://git.linuxtv.org/sailus/media_tree.git/log/?h=for-6.2-2-signed&ofs=50

V3:
- Ordering patch was applied separately, now dropped from this series.
- camcc disable patch similarly is already applied, dropped here.
- RB5 and RB3 now have separate camera specific DTSI files
  per perferences expressed on the mailing list by Konrad, Vladimir and
  Bjorn.
- Agreeing a imx412 change spiralled a bit into a wider discussion however
  after a good bit of debate and testing on different hardware there is a
  series to add imx577 as a compat string to the imx412.c driver.
  So this series depends on that series being merged.
  https://www.spinics.net/lists/linux-media/msg219989.html

  Given the addition of mezzanine specific dtsi I thought it was worthwhile
  to kick off a review now since the sensor name change is agreed but not
  yet applied and all other outstanding comments have been addressed.
 
V2:

- Adds fix for bug identified by Vladimir
  The CCI i2c_adapter_add() and pm_runtime_enable() are racy.
  This is a generic problem not related to the rb5/imx577 but, for the sake
  of our conversation/review's context I'll add it into this series.
- Include Vladimir's camcc patch
  I've also opted to include Vladimir's disable of camcc to make the enable
  of it in my patchset logical.
- Move address/size cells Konrad
- Remove newline in pin definitions - Konrad
- Remove sensor 'status = "okay"' - Konrad
- Add comment to qrb5165-rb5.dts re: imx412 and imx577 difference - Konrad
- Move pin definitions to 8250 dtsi - Vladimir
- Drop power domain from sensor definition - Vladimir
- Correct to "add to cam2" not "cam1" in commit log - bod

To make verification of the CCI race eaiser I've provided a defconfig both
with and without modules enabled.

Link: https://git.linaro.org/people/bryan.odonoghue/kernel.git/log/?h=linux-next-24-05-22%2bimx577-rb5
Link: https://git.linaro.org/people/bryan.odonoghue/kernel.git/log/?h=linux-next-24-05-22%2bimx577-rb5-compiled-in

git diff linaro/linux-next-22-05-22+imx577-rb5 linaro/linux-next-24-05-22+imx577-rb5

V1:
Linux-next now has everything we need to switch on this sensor both in the
qcom DTS and in the imx412 driver.

After this, no further dts or driver work is required to capture images on
the RB5.

Here's a bootable linux-next with a kernel config. I added Vladimir's
power-domain changes on-top to verify nothing breaks for me.

https://git.linaro.org/people/bryan.odonoghue/kernel.git/log/?h=linux-next-18-05-22%2bimx577-rb5

Bryan O'Donoghue (6):
  arm64: dts: qcom: sdm845-db845c: Drop redundant address-cells,
    size-cells declaration
  arm64: dts: qcom: sdm845-db845c: Use okay not ok for status
  arm64: dts: qcom: sdm845-db845c: Use status disabled not disable
  arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation
    mezzanine dts
  arm64: dts: qcom: sm8250: camss: Define ports address/size cells
  arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine

 arch/arm64/boot/dts/qcom/Makefile             |   2 +
 .../dts/qcom/qrb5165-rb5-vision-mezzanine.dts |  63 +++++++++++
 .../sdm845-db845c-navigation-mezzanine.dts    | 107 ++++++++++++++++++
 arch/arm64/boot/dts/qcom/sdm845-db845c.dts    | 101 -----------------
 arch/arm64/boot/dts/qcom/sm8250.dtsi          |  38 +++++++
 5 files changed, 210 insertions(+), 101 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
 create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts

-- 
2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [PATCH v5 1/6] arm64: dts: qcom: sdm845-db845c: Drop redundant address-cells, size-cells declaration
  2022-11-12 17:26 [PATCH v5 0/6] Switch on IMX577 on RB5 Bryan O'Donoghue
@ 2022-11-12 17:26 ` Bryan O'Donoghue
  2022-11-12 21:12   ` Laurent Pinchart
  2022-11-12 17:26 ` [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status Bryan O'Donoghue
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 17:26 UTC (permalink / raw)
  To: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Bryan O'Donoghue,
	Konrad Dybcio

sdm845.dtsi camss already defines the address-cells and size-cells for
camss, no need to replicate in sdm845-db845c.dts.

Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
index 3e7ceb0861eb0..7c88312333c22 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
@@ -1185,8 +1185,6 @@ &camss {
 	status = "ok";
 
 	ports {
-		#address-cells = <1>;
-		#size-cells = <0>;
 		port@0 {
 			reg = <0>;
 			csiphy0_ep: endpoint {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status
  2022-11-12 17:26 [PATCH v5 0/6] Switch on IMX577 on RB5 Bryan O'Donoghue
  2022-11-12 17:26 ` [PATCH v5 1/6] arm64: dts: qcom: sdm845-db845c: Drop redundant address-cells, size-cells declaration Bryan O'Donoghue
@ 2022-11-12 17:26 ` Bryan O'Donoghue
  2022-11-12 21:14   ` Laurent Pinchart
                     ` (2 more replies)
  2022-11-12 17:26 ` [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable Bryan O'Donoghue
                   ` (3 subsequent siblings)
  5 siblings, 3 replies; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 17:26 UTC (permalink / raw)
  To: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Bryan O'Donoghue,
	Konrad Dybcio

Convert camss status from "ok" to "okay".

Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
index 7c88312333c22..ce95b51f17fff 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
@@ -1182,7 +1182,7 @@ &camss {
 	vdda-phy-supply = <&vreg_l1a_0p875>;
 	vdda-pll-supply = <&vreg_l26a_1p2>;
 
-	status = "ok";
+	status = "okay";
 
 	ports {
 		port@0 {
@@ -1221,7 +1221,7 @@ camera@10 {
 		avdd-supply = <&cam0_avdd_2v8>;
 		dvdd-supply = <&cam0_dvdd_1v2>;
 
-		status = "ok";
+		status = "okay";
 
 		port {
 			ov8856_ep: endpoint {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable
  2022-11-12 17:26 [PATCH v5 0/6] Switch on IMX577 on RB5 Bryan O'Donoghue
  2022-11-12 17:26 ` [PATCH v5 1/6] arm64: dts: qcom: sdm845-db845c: Drop redundant address-cells, size-cells declaration Bryan O'Donoghue
  2022-11-12 17:26 ` [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status Bryan O'Donoghue
@ 2022-11-12 17:26 ` Bryan O'Donoghue
  2022-11-12 21:14   ` Laurent Pinchart
                     ` (2 more replies)
  2022-11-12 17:26 ` [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts Bryan O'Donoghue
                   ` (2 subsequent siblings)
  5 siblings, 3 replies; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 17:26 UTC (permalink / raw)
  To: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Bryan O'Donoghue,
	Konrad Dybcio

Use preferred status "disabled" instead of "disable".

Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
index ce95b51f17fff..5da91c646c200 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
@@ -1262,7 +1262,7 @@ camera@60 {
 		vdddo-supply = <&vreg_lvs1a_1p8>;
 		vdda-supply = <&cam3_avdd_2v8>;
 
-		status = "disable";
+		status = "disabled";
 
 		port {
 			ov7251_ep: endpoint {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts
  2022-11-12 17:26 [PATCH v5 0/6] Switch on IMX577 on RB5 Bryan O'Donoghue
                   ` (2 preceding siblings ...)
  2022-11-12 17:26 ` [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable Bryan O'Donoghue
@ 2022-11-12 17:26 ` Bryan O'Donoghue
  2022-11-12 21:20   ` Laurent Pinchart
                     ` (2 more replies)
  2022-11-12 17:26 ` [PATCH v5 5/6] arm64: dts: qcom: sm8250: camss: Define ports address/size cells Bryan O'Donoghue
  2022-11-12 17:26 ` [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine Bryan O'Donoghue
  5 siblings, 3 replies; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 17:26 UTC (permalink / raw)
  To: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Bryan O'Donoghue

Move the dts data for the rb3 navigation mezzanine into its own dts file.

Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 .../sdm845-db845c-navigation-mezzanine.dts    | 107 ++++++++++++++++++
 arch/arm64/boot/dts/qcom/sdm845-db845c.dts    |  99 ----------------
 3 files changed, 108 insertions(+), 99 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index d534888bcfe52..70ce09bc63a33 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -131,6 +131,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r1.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r2.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r3.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c-navigation-mezzanine.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-lg-judyln.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-lg-judyp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-mtp.dtb
diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
new file mode 100644
index 0000000000000..7bd0a15c72657
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
@@ -0,0 +1,107 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2022, Linaro Ltd.
+ */
+
+/dts-v1/;
+
+#include "sdm845-db845c.dts"
+
+&cci {
+	status = "okay";
+};
+
+&camss {
+	vdda-phy-supply = <&vreg_l1a_0p875>;
+	vdda-pll-supply = <&vreg_l26a_1p2>;
+
+	status = "okay";
+
+	ports {
+		port@0 {
+			reg = <0>;
+			csiphy0_ep: endpoint {
+				data-lanes = <0 1 2 3>;
+				remote-endpoint = <&ov8856_ep>;
+			};
+		};
+	};
+};
+
+&cci_i2c0 {
+	camera@10 {
+		compatible = "ovti,ov8856";
+		reg = <0x10>;
+
+		/* CAM0_RST_N */
+		reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&cam0_default>;
+
+		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
+		clock-names = "xvclk";
+		clock-frequency = <19200000>;
+
+		/*
+		 * The &vreg_s4a_1p8 trace is powered on as a,
+		 * so it is represented by a fixed regulator.
+		 *
+		 * The 2.8V vdda-supply and 1.2V vddd-supply regulators
+		 * both have to be enabled through the power management
+		 * gpios.
+		 */
+		dovdd-supply = <&vreg_lvs1a_1p8>;
+		avdd-supply = <&cam0_avdd_2v8>;
+		dvdd-supply = <&cam0_dvdd_1v2>;
+
+		status = "okay";
+
+		port {
+			ov8856_ep: endpoint {
+				link-frequencies = /bits/ 64
+					<360000000 180000000>;
+				data-lanes = <1 2 3 4>;
+				remote-endpoint = <&csiphy0_ep>;
+			};
+		};
+	};
+};
+
+&cci_i2c1 {
+	camera@60 {
+		compatible = "ovti,ov7251";
+
+		/* I2C address as per ov7251.txt linux documentation */
+		reg = <0x60>;
+
+		/* CAM3_RST_N */
+		enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&cam3_default>;
+
+		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
+		clock-names = "xclk";
+		clock-frequency = <24000000>;
+
+		/*
+		 * The &vreg_s4a_1p8 trace always powered on.
+		 *
+		 * The 2.8V vdda-supply regulator is enabled when the
+		 * vreg_s4a_1p8 trace is pulled high.
+		 * It too is represented by a fixed regulator.
+		 *
+		 * No 1.2V vddd-supply regulator is used.
+		 */
+		vdddo-supply = <&vreg_lvs1a_1p8>;
+		vdda-supply = <&cam3_avdd_2v8>;
+
+		status = "disabled";
+
+		port {
+			ov7251_ep: endpoint {
+				data-lanes = <0 1>;
+/*				remote-endpoint = <&csiphy3_ep>; */
+			};
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
index 5da91c646c200..f41c6d600ea8c 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
@@ -1174,105 +1174,6 @@ &pm8998_gpio {
 
 };
 
-&cci {
-	status = "okay";
-};
-
-&camss {
-	vdda-phy-supply = <&vreg_l1a_0p875>;
-	vdda-pll-supply = <&vreg_l26a_1p2>;
-
-	status = "okay";
-
-	ports {
-		port@0 {
-			reg = <0>;
-			csiphy0_ep: endpoint {
-				data-lanes = <0 1 2 3>;
-				remote-endpoint = <&ov8856_ep>;
-			};
-		};
-	};
-};
-
-&cci_i2c0 {
-	camera@10 {
-		compatible = "ovti,ov8856";
-		reg = <0x10>;
-
-		/* CAM0_RST_N */
-		reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&cam0_default>;
-
-		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
-		clock-names = "xvclk";
-		clock-frequency = <19200000>;
-
-		/*
-		 * The &vreg_s4a_1p8 trace is powered on as a,
-		 * so it is represented by a fixed regulator.
-		 *
-		 * The 2.8V vdda-supply and 1.2V vddd-supply regulators
-		 * both have to be enabled through the power management
-		 * gpios.
-		 */
-		dovdd-supply = <&vreg_lvs1a_1p8>;
-		avdd-supply = <&cam0_avdd_2v8>;
-		dvdd-supply = <&cam0_dvdd_1v2>;
-
-		status = "okay";
-
-		port {
-			ov8856_ep: endpoint {
-				link-frequencies = /bits/ 64
-					<360000000 180000000>;
-				data-lanes = <1 2 3 4>;
-				remote-endpoint = <&csiphy0_ep>;
-			};
-		};
-	};
-};
-
-&cci_i2c1 {
-	camera@60 {
-		compatible = "ovti,ov7251";
-
-		/* I2C address as per ov7251.txt linux documentation */
-		reg = <0x60>;
-
-		/* CAM3_RST_N */
-		enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&cam3_default>;
-
-		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
-		clock-names = "xclk";
-		clock-frequency = <24000000>;
-
-		/*
-		 * The &vreg_s4a_1p8 trace always powered on.
-		 *
-		 * The 2.8V vdda-supply regulator is enabled when the
-		 * vreg_s4a_1p8 trace is pulled high.
-		 * It too is represented by a fixed regulator.
-		 *
-		 * No 1.2V vddd-supply regulator is used.
-		 */
-		vdddo-supply = <&vreg_lvs1a_1p8>;
-		vdda-supply = <&cam3_avdd_2v8>;
-
-		status = "disabled";
-
-		port {
-			ov7251_ep: endpoint {
-				data-lanes = <0 1>;
-/*				remote-endpoint = <&csiphy3_ep>; */
-			};
-		};
-	};
-};
-
 /* PINCTRL - additions to nodes defined in sdm845.dtsi */
 &qup_spi0_default {
 	config {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 5/6] arm64: dts: qcom: sm8250: camss: Define ports address/size cells
  2022-11-12 17:26 [PATCH v5 0/6] Switch on IMX577 on RB5 Bryan O'Donoghue
                   ` (3 preceding siblings ...)
  2022-11-12 17:26 ` [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts Bryan O'Donoghue
@ 2022-11-12 17:26 ` Bryan O'Donoghue
  2022-11-12 21:07   ` Laurent Pinchart
  2022-11-12 17:26 ` [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine Bryan O'Donoghue
  5 siblings, 1 reply; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 17:26 UTC (permalink / raw)
  To: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Bryan O'Donoghue

The ports {} address and size cells definition is the same for every
derived 8250 board so, we should define it in the core sm8250.dtsi.

Suggested-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index d517d6a80bdcb..f28a8893d00d7 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -3412,6 +3412,11 @@ camss: camss@ac6a000 {
 					     "cam_hf_0_mnoc",
 					     "cam_sf_0_mnoc",
 					     "cam_sf_icp_mnoc";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+			};
 		};
 
 		camcc: clock-controller@ad00000 {
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine
  2022-11-12 17:26 [PATCH v5 0/6] Switch on IMX577 on RB5 Bryan O'Donoghue
                   ` (4 preceding siblings ...)
  2022-11-12 17:26 ` [PATCH v5 5/6] arm64: dts: qcom: sm8250: camss: Define ports address/size cells Bryan O'Donoghue
@ 2022-11-12 17:26 ` Bryan O'Donoghue
  2022-11-12 21:45   ` Laurent Pinchart
  2022-11-14  9:49   ` Konrad Dybcio
  5 siblings, 2 replies; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 17:26 UTC (permalink / raw)
  To: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Bryan O'Donoghue

The Vision Mezzanine for the RB5 ships with an imx517 and ov9282 populated.
Other sensors and components may be added or stacked with additional
mezzanines.

Enable the IMX577 on the vision mezzanine.

An example media-ctl pipeline for the imx577 is:

media-ctl --reset
media-ctl -v -d /dev/media0 -V '"imx577 '22-001a'":0[fmt:SRGGB10/4056x3040 field:none]'
media-ctl -V '"msm_csiphy2":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_csiphy2":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: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
 arch/arm64/boot/dts/qcom/Makefile             |  1 +
 .../dts/qcom/qrb5165-rb5-vision-mezzanine.dts | 63 +++++++++++++++++++
 arch/arm64/boot/dts/qcom/sm8250.dtsi          | 33 ++++++++++
 3 files changed, 97 insertions(+)
 create mode 100644 arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 70ce09bc63a33..5eadd251a0a16 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-sony-xperia-yoshino-poplar.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5-vision-mezzanine.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sa8155p-adp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sa8295p-adp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-idp.dtb
diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
new file mode 100644
index 0000000000000..315d524045cf3
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2022, Linaro Ltd.
+ */
+
+/dts-v1/;
+
+#include "qrb5165-rb5.dts"
+
+&camss {
+	status = "okay";
+	vdda-phy-supply = <&vreg_l5a_0p88>;
+	vdda-pll-supply = <&vreg_l9a_1p2>;
+
+	ports {
+		/* The port index denotes CSIPHY id i.e. csiphy2 */
+		port@2 {
+			reg = <2>;
+			csiphy2_ep: endpoint {
+				clock-lanes = <7>;
+				data-lanes = <0 1 2 3>;
+				remote-endpoint = <&imx577_ep>;
+			};
+		};
+	};
+};
+
+&camcc {
+	status = "okay";
+};
+
+&cci1 {
+	status = "okay";
+};
+
+&cci1_i2c0 {
+	camera@1a {
+		compatible = "sony,imx577";
+		reg = <0x1a>;
+
+		reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>;
+		pinctrl-names = "default", "suspend";
+		pinctrl-0 = <&cam2_default>;
+		pinctrl-1 = <&cam2_suspend>;
+
+		clocks = <&camcc CAM_CC_MCLK2_CLK>;
+		assigned-clocks = <&camcc CAM_CC_MCLK2_CLK>;
+		assigned-clock-rates = <24000000>;
+
+		dovdd-supply  = <&vreg_l7f_1p8>;
+		avdd-supply = <&vdc_5v>;
+		dvdd-supply = <&vdc_5v>;
+
+		port {
+			imx577_ep: endpoint {
+				clock-lanes = <1>;
+				link-frequencies = /bits/ 64 <600000000>;
+				data-lanes = <1 2 3 4>;
+				remote-endpoint = <&csiphy2_ep>;
+			};
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index f28a8893d00d7..83604b9772766 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -3798,6 +3798,39 @@ tlmm: pinctrl@f100000 {
 			gpio-ranges = <&tlmm 0 0 181>;
 			wakeup-parent = <&pdc>;
 
+			cam2_default: cam2-default-state {
+				rst-pins {
+					pins = "gpio78";
+					function = "gpio";
+					drive-strength = <2>;
+					bias-disable;
+				};
+
+				mclk-pins {
+					pins = "gpio96";
+					function = "cam_mclk";
+					drive-strength = <16>;
+					bias-disable;
+				};
+			};
+
+			cam2_suspend: cam2-suspend-state {
+				rst-pins {
+					pins = "gpio78";
+					function = "gpio";
+					drive-strength = <2>;
+					bias-pull-down;
+					output-low;
+				};
+
+				mclk-pins {
+					pins = "gpio96";
+					function = "cam_mclk";
+					drive-strength = <2>;
+					bias-disable;
+				};
+			};
+
 			cci0_default: cci0-default-state {
 				cci0_i2c0_default: cci0-i2c0-default-pins {
 					/* SDA, SCL */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 5/6] arm64: dts: qcom: sm8250: camss: Define ports address/size cells
  2022-11-12 17:26 ` [PATCH v5 5/6] arm64: dts: qcom: sm8250: camss: Define ports address/size cells Bryan O'Donoghue
@ 2022-11-12 21:07   ` Laurent Pinchart
  0 siblings, 0 replies; 23+ messages in thread
From: Laurent Pinchart @ 2022-11-12 21:07 UTC (permalink / raw)
  To: Bryan O'Donoghue
  Cc: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy, sakari.ailus, hverkuil, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree

Hi Bryan,

Thank you for the patch.

On Sat, Nov 12, 2022 at 05:26:49PM +0000, Bryan O'Donoghue wrote:
> The ports {} address and size cells definition is the same for every
> derived 8250 board so, we should define it in the core sm8250.dtsi.

You should also define the individual ports there. Endpoints are
board-specific as they represent connections, but ports are intrinsic
properties of the IP core integration in the SoC.

> Suggested-by: Konrad Dybcio <konrad.dybcio@somainline.org>
> Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sm8250.dtsi | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> index d517d6a80bdcb..f28a8893d00d7 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> @@ -3412,6 +3412,11 @@ camss: camss@ac6a000 {
>  					     "cam_hf_0_mnoc",
>  					     "cam_sf_0_mnoc",
>  					     "cam_sf_icp_mnoc";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +			};
>  		};
>  
>  		camcc: clock-controller@ad00000 {

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 1/6] arm64: dts: qcom: sdm845-db845c: Drop redundant address-cells, size-cells declaration
  2022-11-12 17:26 ` [PATCH v5 1/6] arm64: dts: qcom: sdm845-db845c: Drop redundant address-cells, size-cells declaration Bryan O'Donoghue
@ 2022-11-12 21:12   ` Laurent Pinchart
  0 siblings, 0 replies; 23+ messages in thread
From: Laurent Pinchart @ 2022-11-12 21:12 UTC (permalink / raw)
  To: Bryan O'Donoghue
  Cc: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy, sakari.ailus, hverkuil, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Konrad Dybcio

Hi Bryan,

Thank you for the patch.

On Sat, Nov 12, 2022 at 05:26:45PM +0000, Bryan O'Donoghue wrote:
> sdm845.dtsi camss already defines the address-cells and size-cells for
> camss, no need to replicate in sdm845-db845c.dts.
> 
> Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index 3e7ceb0861eb0..7c88312333c22 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1185,8 +1185,6 @@ &camss {
>  	status = "ok";
>  
>  	ports {
> -		#address-cells = <1>;
> -		#size-cells = <0>;
>  		port@0 {
>  			reg = <0>;
>  			csiphy0_ep: endpoint {

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status
  2022-11-12 17:26 ` [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status Bryan O'Donoghue
@ 2022-11-12 21:14   ` Laurent Pinchart
  2022-11-14  9:46   ` Konrad Dybcio
  2022-11-14 10:00   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 23+ messages in thread
From: Laurent Pinchart @ 2022-11-12 21:14 UTC (permalink / raw)
  To: Bryan O'Donoghue
  Cc: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy, sakari.ailus, hverkuil, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Konrad Dybcio

Hi Bryan,

Thank you for the patch.

On Sat, Nov 12, 2022 at 05:26:46PM +0000, Bryan O'Donoghue wrote:
> Convert camss status from "ok" to "okay".
> 
> Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index 7c88312333c22..ce95b51f17fff 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1182,7 +1182,7 @@ &camss {
>  	vdda-phy-supply = <&vreg_l1a_0p875>;
>  	vdda-pll-supply = <&vreg_l26a_1p2>;
>  
> -	status = "ok";
> +	status = "okay";
>  
>  	ports {
>  		port@0 {
> @@ -1221,7 +1221,7 @@ camera@10 {
>  		avdd-supply = <&cam0_avdd_2v8>;
>  		dvdd-supply = <&cam0_dvdd_1v2>;
>  
> -		status = "ok";
> +		status = "okay";
>  
>  		port {
>  			ov8856_ep: endpoint {

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable
  2022-11-12 17:26 ` [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable Bryan O'Donoghue
@ 2022-11-12 21:14   ` Laurent Pinchart
  2022-11-14  9:46   ` Konrad Dybcio
  2022-11-14 10:01   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 23+ messages in thread
From: Laurent Pinchart @ 2022-11-12 21:14 UTC (permalink / raw)
  To: Bryan O'Donoghue
  Cc: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy, sakari.ailus, hverkuil, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Konrad Dybcio

Hi Bryan,

Thank you for the patch.

On Sat, Nov 12, 2022 at 05:26:47PM +0000, Bryan O'Donoghue wrote:
> Use preferred status "disabled" instead of "disable".
> 
> Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index ce95b51f17fff..5da91c646c200 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1262,7 +1262,7 @@ camera@60 {
>  		vdddo-supply = <&vreg_lvs1a_1p8>;
>  		vdda-supply = <&cam3_avdd_2v8>;
>  
> -		status = "disable";
> +		status = "disabled";
>  
>  		port {
>  			ov7251_ep: endpoint {

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts
  2022-11-12 17:26 ` [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts Bryan O'Donoghue
@ 2022-11-12 21:20   ` Laurent Pinchart
  2022-11-12 21:46     ` Bryan O'Donoghue
  2022-11-14  9:48   ` Konrad Dybcio
  2022-11-14 10:01   ` Krzysztof Kozlowski
  2 siblings, 1 reply; 23+ messages in thread
From: Laurent Pinchart @ 2022-11-12 21:20 UTC (permalink / raw)
  To: Bryan O'Donoghue
  Cc: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy, sakari.ailus, hverkuil, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree

Hi Bryan,

Thank you for the patch.

On Sat, Nov 12, 2022 at 05:26:48PM +0000, Bryan O'Donoghue wrote:
> Move the dts data for the rb3 navigation mezzanine into its own dts file.
> 
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |   1 +
>  .../sdm845-db845c-navigation-mezzanine.dts    | 107 ++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sdm845-db845c.dts    |  99 ----------------
>  3 files changed, 108 insertions(+), 99 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index d534888bcfe52..70ce09bc63a33 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -131,6 +131,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r1.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r2.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r3.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c-navigation-mezzanine.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-lg-judyln.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-lg-judyp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-mtp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> new file mode 100644
> index 0000000000000..7bd0a15c72657
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> @@ -0,0 +1,107 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2022, Linaro Ltd.
> + */
> +
> +/dts-v1/;

It doesn't have to be part of this series, but it would be nice to turn
this into a DT overlay.

> +
> +#include "sdm845-db845c.dts"
> +
> +&cci {
> +	status = "okay";
> +};
> +
> +&camss {
> +	vdda-phy-supply = <&vreg_l1a_0p875>;
> +	vdda-pll-supply = <&vreg_l26a_1p2>;
> +
> +	status = "okay";
> +
> +	ports {
> +		port@0 {
> +			reg = <0>;
> +			csiphy0_ep: endpoint {
> +				data-lanes = <0 1 2 3>;
> +				remote-endpoint = <&ov8856_ep>;
> +			};
> +		};
> +	};
> +};
> +
> +&cci_i2c0 {
> +	camera@10 {
> +		compatible = "ovti,ov8856";
> +		reg = <0x10>;
> +
> +		/* CAM0_RST_N */
> +		reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&cam0_default>;
> +
> +		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
> +		clock-names = "xvclk";
> +		clock-frequency = <19200000>;
> +
> +		/*
> +		 * The &vreg_s4a_1p8 trace is powered on as a,
> +		 * so it is represented by a fixed regulator.
> +		 *
> +		 * The 2.8V vdda-supply and 1.2V vddd-supply regulators
> +		 * both have to be enabled through the power management
> +		 * gpios.
> +		 */
> +		dovdd-supply = <&vreg_lvs1a_1p8>;
> +		avdd-supply = <&cam0_avdd_2v8>;
> +		dvdd-supply = <&cam0_dvdd_1v2>;
> +
> +		status = "okay";
> +
> +		port {
> +			ov8856_ep: endpoint {
> +				link-frequencies = /bits/ 64
> +					<360000000 180000000>;
> +				data-lanes = <1 2 3 4>;
> +				remote-endpoint = <&csiphy0_ep>;
> +			};
> +		};
> +	};
> +};
> +
> +&cci_i2c1 {
> +	camera@60 {
> +		compatible = "ovti,ov7251";
> +
> +		/* I2C address as per ov7251.txt linux documentation */
> +		reg = <0x60>;
> +
> +		/* CAM3_RST_N */
> +		enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&cam3_default>;
> +
> +		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
> +		clock-names = "xclk";
> +		clock-frequency = <24000000>;
> +
> +		/*
> +		 * The &vreg_s4a_1p8 trace always powered on.
> +		 *
> +		 * The 2.8V vdda-supply regulator is enabled when the
> +		 * vreg_s4a_1p8 trace is pulled high.
> +		 * It too is represented by a fixed regulator.
> +		 *
> +		 * No 1.2V vddd-supply regulator is used.
> +		 */
> +		vdddo-supply = <&vreg_lvs1a_1p8>;
> +		vdda-supply = <&cam3_avdd_2v8>;
> +
> +		status = "disabled";

Does the mezzanine board have two camera sensors ? Why is this one
disabled ?

> +
> +		port {
> +			ov7251_ep: endpoint {
> +				data-lanes = <0 1>;
> +/*				remote-endpoint = <&csiphy3_ep>; */
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index 5da91c646c200..f41c6d600ea8c 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1174,105 +1174,6 @@ &pm8998_gpio {
>  
>  };
>  
> -&cci {
> -	status = "okay";
> -};
> -
> -&camss {
> -	vdda-phy-supply = <&vreg_l1a_0p875>;
> -	vdda-pll-supply = <&vreg_l26a_1p2>;
> -
> -	status = "okay";
> -
> -	ports {
> -		port@0 {
> -			reg = <0>;
> -			csiphy0_ep: endpoint {
> -				data-lanes = <0 1 2 3>;
> -				remote-endpoint = <&ov8856_ep>;
> -			};
> -		};
> -	};
> -};
> -
> -&cci_i2c0 {
> -	camera@10 {
> -		compatible = "ovti,ov8856";
> -		reg = <0x10>;
> -
> -		/* CAM0_RST_N */
> -		reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&cam0_default>;
> -
> -		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
> -		clock-names = "xvclk";
> -		clock-frequency = <19200000>;
> -
> -		/*
> -		 * The &vreg_s4a_1p8 trace is powered on as a,
> -		 * so it is represented by a fixed regulator.
> -		 *
> -		 * The 2.8V vdda-supply and 1.2V vddd-supply regulators
> -		 * both have to be enabled through the power management
> -		 * gpios.
> -		 */
> -		dovdd-supply = <&vreg_lvs1a_1p8>;
> -		avdd-supply = <&cam0_avdd_2v8>;
> -		dvdd-supply = <&cam0_dvdd_1v2>;
> -
> -		status = "okay";
> -
> -		port {
> -			ov8856_ep: endpoint {
> -				link-frequencies = /bits/ 64
> -					<360000000 180000000>;
> -				data-lanes = <1 2 3 4>;
> -				remote-endpoint = <&csiphy0_ep>;
> -			};
> -		};
> -	};
> -};
> -
> -&cci_i2c1 {
> -	camera@60 {
> -		compatible = "ovti,ov7251";
> -
> -		/* I2C address as per ov7251.txt linux documentation */
> -		reg = <0x60>;
> -
> -		/* CAM3_RST_N */
> -		enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&cam3_default>;
> -
> -		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
> -		clock-names = "xclk";
> -		clock-frequency = <24000000>;
> -
> -		/*
> -		 * The &vreg_s4a_1p8 trace always powered on.
> -		 *
> -		 * The 2.8V vdda-supply regulator is enabled when the
> -		 * vreg_s4a_1p8 trace is pulled high.
> -		 * It too is represented by a fixed regulator.
> -		 *
> -		 * No 1.2V vddd-supply regulator is used.
> -		 */
> -		vdddo-supply = <&vreg_lvs1a_1p8>;
> -		vdda-supply = <&cam3_avdd_2v8>;
> -
> -		status = "disabled";
> -
> -		port {
> -			ov7251_ep: endpoint {
> -				data-lanes = <0 1>;
> -/*				remote-endpoint = <&csiphy3_ep>; */
> -			};
> -		};
> -	};
> -};
> -
>  /* PINCTRL - additions to nodes defined in sdm845.dtsi */
>  &qup_spi0_default {
>  	config {

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine
  2022-11-12 17:26 ` [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine Bryan O'Donoghue
@ 2022-11-12 21:45   ` Laurent Pinchart
  2022-11-12 22:06     ` Bryan O'Donoghue
  2022-11-14  9:49   ` Konrad Dybcio
  1 sibling, 1 reply; 23+ messages in thread
From: Laurent Pinchart @ 2022-11-12 21:45 UTC (permalink / raw)
  To: Bryan O'Donoghue
  Cc: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy, sakari.ailus, hverkuil, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree

Hi Bryan,

Thank you for the patch.

On Sat, Nov 12, 2022 at 05:26:50PM +0000, Bryan O'Donoghue wrote:
> The Vision Mezzanine for the RB5 ships with an imx517 and ov9282 populated.

Did you mean imx577 ?

> Other sensors and components may be added or stacked with additional
> mezzanines.
> 
> Enable the IMX577 on the vision mezzanine.

Is there a particular reason the ov9282 isn't described ?

> An example media-ctl pipeline for the imx577 is:
> 
> media-ctl --reset
> media-ctl -v -d /dev/media0 -V '"imx577 '22-001a'":0[fmt:SRGGB10/4056x3040 field:none]'
> media-ctl -V '"msm_csiphy2":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_csiphy2":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: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |  1 +
>  .../dts/qcom/qrb5165-rb5-vision-mezzanine.dts | 63 +++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sm8250.dtsi          | 33 ++++++++++
>  3 files changed, 97 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 70ce09bc63a33..5eadd251a0a16 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-sony-xperia-yoshino-poplar.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5-vision-mezzanine.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sa8155p-adp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sa8295p-adp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-idp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
> new file mode 100644
> index 0000000000000..315d524045cf3
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
> @@ -0,0 +1,63 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2022, Linaro Ltd.
> + */
> +
> +/dts-v1/;

Could this be an overlay ?

> +
> +#include "qrb5165-rb5.dts"
> +
> +&camss {
> +	status = "okay";
> +	vdda-phy-supply = <&vreg_l5a_0p88>;
> +	vdda-pll-supply = <&vreg_l9a_1p2>;
> +
> +	ports {
> +		/* The port index denotes CSIPHY id i.e. csiphy2 */
> +		port@2 {
> +			reg = <2>;
> +			csiphy2_ep: endpoint {
> +				clock-lanes = <7>;
> +				data-lanes = <0 1 2 3>;
> +				remote-endpoint = <&imx577_ep>;
> +			};
> +		};
> +	};
> +};
> +
> +&camcc {
> +	status = "okay";
> +};
> +
> +&cci1 {
> +	status = "okay";
> +};
> +
> +&cci1_i2c0 {
> +	camera@1a {
> +		compatible = "sony,imx577";
> +		reg = <0x1a>;
> +
> +		reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default", "suspend";
> +		pinctrl-0 = <&cam2_default>;
> +		pinctrl-1 = <&cam2_suspend>;
> +
> +		clocks = <&camcc CAM_CC_MCLK2_CLK>;
> +		assigned-clocks = <&camcc CAM_CC_MCLK2_CLK>;
> +		assigned-clock-rates = <24000000>;
> +
> +		dovdd-supply  = <&vreg_l7f_1p8>;
> +		avdd-supply = <&vdc_5v>;
> +		dvdd-supply = <&vdc_5v>;
> +
> +		port {
> +			imx577_ep: endpoint {
> +				clock-lanes = <1>;
> +				link-frequencies = /bits/ 64 <600000000>;
> +				data-lanes = <1 2 3 4>;
> +				remote-endpoint = <&csiphy2_ep>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> index f28a8893d00d7..83604b9772766 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> @@ -3798,6 +3798,39 @@ tlmm: pinctrl@f100000 {
>  			gpio-ranges = <&tlmm 0 0 181>;
>  			wakeup-parent = <&pdc>;
>  
> +			cam2_default: cam2-default-state {
> +				rst-pins {
> +					pins = "gpio78";
> +					function = "gpio";
> +					drive-strength = <2>;
> +					bias-disable;
> +				};
> +
> +				mclk-pins {
> +					pins = "gpio96";
> +					function = "cam_mclk";
> +					drive-strength = <16>;
> +					bias-disable;
> +				};
> +			};

This seems board-specific, shouldn't it go to the mezzanine .dts ?

> +
> +			cam2_suspend: cam2-suspend-state {
> +				rst-pins {
> +					pins = "gpio78";
> +					function = "gpio";
> +					drive-strength = <2>;
> +					bias-pull-down;
> +					output-low;
> +				};
> +
> +				mclk-pins {
> +					pins = "gpio96";
> +					function = "cam_mclk";
> +					drive-strength = <2>;
> +					bias-disable;
> +				};
> +			};
> +
>  			cci0_default: cci0-default-state {
>  				cci0_i2c0_default: cci0-i2c0-default-pins {
>  					/* SDA, SCL */

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts
  2022-11-12 21:20   ` Laurent Pinchart
@ 2022-11-12 21:46     ` Bryan O'Donoghue
  0 siblings, 0 replies; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 21:46 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy, sakari.ailus, hverkuil, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree

On 12/11/2022 21:20, Laurent Pinchart wrote:
> Does the mezzanine board have two camera sensors ? Why is this one
> disabled ?

Two sensors yeah. A full colour sensor and a b+w sensor.

https://www.thundercomm.com/product/qualcomm-robotics-rb3-platform-sda845/#

At the moment this sensor isn't working on this board.

Overlay would be nice/best. I'm not sure how difficult/easy it would be 
with the lk bootloader.

I'll look into it as a separate topic.

---
bod

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine
  2022-11-12 21:45   ` Laurent Pinchart
@ 2022-11-12 22:06     ` Bryan O'Donoghue
  0 siblings, 0 replies; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-12 22:06 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: robert.foss, todor.too, agross, andersson, konrad.dybcio,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy, sakari.ailus, hverkuil, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree

On 12/11/2022 21:45, Laurent Pinchart wrote:
> Hi Bryan,
> 
> Thank you for the patch.
> 
> On Sat, Nov 12, 2022 at 05:26:50PM +0000, Bryan O'Donoghue wrote:
>> The Vision Mezzanine for the RB5 ships with an imx517 and ov9282 populated.
> 
> Did you mean imx577 ?

Yes 1 looks like 7 in my defence

> 
>> Other sensors and components may be added or stacked with additional
>> mezzanines.
>>
>> Enable the IMX577 on the vision mezzanine.
> 
> Is there a particular reason the ov9282 isn't described ?

ov9282 is WIP.

https://git.linaro.org/people/bryan.odonoghue/kernel.git/log/?h=next-20221013-sm8250-camss-vc

Its too much detail for here but, i2c works, no data is delivered on the 
CSI bus - I suspect the upstream init sequence isn't a match for my board.

I'm aiming to unblock just the imx577 for rb5.

>> An example media-ctl pipeline for the imx577 is:
>>
>> media-ctl --reset
>> media-ctl -v -d /dev/media0 -V '"imx577 '22-001a'":0[fmt:SRGGB10/4056x3040 field:none]'
>> media-ctl -V '"msm_csiphy2":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_csiphy2":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: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
>> ---
>>   arch/arm64/boot/dts/qcom/Makefile             |  1 +
>>   .../dts/qcom/qrb5165-rb5-vision-mezzanine.dts | 63 +++++++++++++++++++
>>   arch/arm64/boot/dts/qcom/sm8250.dtsi          | 33 ++++++++++
>>   3 files changed, 97 insertions(+)
>>   create mode 100644 arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
>>
>> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
>> index 70ce09bc63a33..5eadd251a0a16 100644
>> --- a/arch/arm64/boot/dts/qcom/Makefile
>> +++ b/arch/arm64/boot/dts/qcom/Makefile
>> @@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-sony-xperia-yoshino-poplar.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5.dtb
>> +dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5-vision-mezzanine.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= sa8155p-adp.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= sa8295p-adp.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-idp.dtb
>> diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
>> new file mode 100644
>> index 0000000000000..315d524045cf3
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
>> @@ -0,0 +1,63 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) 2022, Linaro Ltd.
>> + */
>> +
>> +/dts-v1/;
> 
> Could this be an overlay ?

Could be. Its a nice idea. I'll look into it separately.

I think it will probably mean chainloading to grub, u-boot or a ramdisk 
though..

>>   
>> +			cam2_default: cam2-default-state {
>> +				rst-pins {
>> +					pins = "gpio78";
>> +					function = "gpio";
>> +					drive-strength = <2>;
>> +					bias-disable;
>> +				};
>> +
>> +				mclk-pins {
>> +					pins = "gpio96";
>> +					function = "cam_mclk";
>> +					drive-strength = <16>;
>> +					bias-disable;
>> +				};
>> +			};
> 
> This seems board-specific, shouldn't it go to the mezzanine .dts ?

Fair comment, originally that's where I had them

https://git.linaro.org/people/bryan.odonoghue/kernel.git/commit/?h=linux-next-18-05-22%2bimx577-rb5&id=cd394110d80a23292e84deced50f607ff81344e9

These specific pins are dedicated though

https://lore.kernel.org/all/33abcc93-13f1-d6f5-36a3-6ab796f124f9@linaro.org/

---
bod

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status
  2022-11-12 17:26 ` [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status Bryan O'Donoghue
  2022-11-12 21:14   ` Laurent Pinchart
@ 2022-11-14  9:46   ` Konrad Dybcio
  2022-11-14 10:00   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 23+ messages in thread
From: Konrad Dybcio @ 2022-11-14  9:46 UTC (permalink / raw)
  To: Bryan O'Donoghue, robert.foss, todor.too, agross, andersson,
	konrad.dybcio, mchehab, robh+dt, krzysztof.kozlowski+dt,
	dmitry.baryshkov, vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree


On 12/11/2022 18:26, Bryan O'Donoghue wrote:
> Convert camss status from "ok" to "okay".
>
> Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>


Konrad

>   arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index 7c88312333c22..ce95b51f17fff 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1182,7 +1182,7 @@ &camss {
>   	vdda-phy-supply = <&vreg_l1a_0p875>;
>   	vdda-pll-supply = <&vreg_l26a_1p2>;
>   
> -	status = "ok";
> +	status = "okay";
>   
>   	ports {
>   		port@0 {
> @@ -1221,7 +1221,7 @@ camera@10 {
>   		avdd-supply = <&cam0_avdd_2v8>;
>   		dvdd-supply = <&cam0_dvdd_1v2>;
>   
> -		status = "ok";
> +		status = "okay";
>   
>   		port {
>   			ov8856_ep: endpoint {

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable
  2022-11-12 17:26 ` [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable Bryan O'Donoghue
  2022-11-12 21:14   ` Laurent Pinchart
@ 2022-11-14  9:46   ` Konrad Dybcio
  2022-11-14 10:01   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 23+ messages in thread
From: Konrad Dybcio @ 2022-11-14  9:46 UTC (permalink / raw)
  To: Bryan O'Donoghue, robert.foss, todor.too, agross, andersson,
	konrad.dybcio, mchehab, robh+dt, krzysztof.kozlowski+dt,
	dmitry.baryshkov, vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree


On 12/11/2022 18:26, Bryan O'Donoghue wrote:
> Use preferred status "disabled" instead of "disable".
>
> Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>


Konrad

>   arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index ce95b51f17fff..5da91c646c200 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1262,7 +1262,7 @@ camera@60 {
>   		vdddo-supply = <&vreg_lvs1a_1p8>;
>   		vdda-supply = <&cam3_avdd_2v8>;
>   
> -		status = "disable";
> +		status = "disabled";
>   
>   		port {
>   			ov7251_ep: endpoint {

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts
  2022-11-12 17:26 ` [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts Bryan O'Donoghue
  2022-11-12 21:20   ` Laurent Pinchart
@ 2022-11-14  9:48   ` Konrad Dybcio
  2022-11-14 10:01   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 23+ messages in thread
From: Konrad Dybcio @ 2022-11-14  9:48 UTC (permalink / raw)
  To: Bryan O'Donoghue, robert.foss, todor.too, agross, andersson,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree



On 12/11/2022 18:26, Bryan O'Donoghue wrote:
> Move the dts data for the rb3 navigation mezzanine into its own dts file.
> 
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>   arch/arm64/boot/dts/qcom/Makefile             |   1 +
>   .../sdm845-db845c-navigation-mezzanine.dts    | 107 ++++++++++++++++++
>   arch/arm64/boot/dts/qcom/sdm845-db845c.dts    |  99 ----------------
>   3 files changed, 108 insertions(+), 99 deletions(-)
>   create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index d534888bcfe52..70ce09bc63a33 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -131,6 +131,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r1.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r2.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r3.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c-navigation-mezzanine.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-lg-judyln.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-lg-judyp.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-mtp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> new file mode 100644
> index 0000000000000..7bd0a15c72657
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> @@ -0,0 +1,107 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2022, Linaro Ltd.
> + */
> +
> +/dts-v1/;
> +
> +#include "sdm845-db845c.dts"
> +
> +&cci {
> +	status = "okay";
> +};
> +
> +&camss {
camss goes before cci alphabetically.

Konrad
> +	vdda-phy-supply = <&vreg_l1a_0p875>;
> +	vdda-pll-supply = <&vreg_l26a_1p2>;
> +
> +	status = "okay";
> +
> +	ports {
> +		port@0 {
> +			reg = <0>;
> +			csiphy0_ep: endpoint {
> +				data-lanes = <0 1 2 3>;
> +				remote-endpoint = <&ov8856_ep>;
> +			};
> +		};
> +	};
> +};
> +
> +&cci_i2c0 {
> +	camera@10 {
> +		compatible = "ovti,ov8856";
> +		reg = <0x10>;
> +
> +		/* CAM0_RST_N */
> +		reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&cam0_default>;
> +
> +		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
> +		clock-names = "xvclk";
> +		clock-frequency = <19200000>;
> +
> +		/*
> +		 * The &vreg_s4a_1p8 trace is powered on as a,
> +		 * so it is represented by a fixed regulator.
> +		 *
> +		 * The 2.8V vdda-supply and 1.2V vddd-supply regulators
> +		 * both have to be enabled through the power management
> +		 * gpios.
> +		 */
> +		dovdd-supply = <&vreg_lvs1a_1p8>;
> +		avdd-supply = <&cam0_avdd_2v8>;
> +		dvdd-supply = <&cam0_dvdd_1v2>;
> +
> +		status = "okay";
> +
> +		port {
> +			ov8856_ep: endpoint {
> +				link-frequencies = /bits/ 64
> +					<360000000 180000000>;
> +				data-lanes = <1 2 3 4>;
> +				remote-endpoint = <&csiphy0_ep>;
> +			};
> +		};
> +	};
> +};
> +
> +&cci_i2c1 {
> +	camera@60 {
> +		compatible = "ovti,ov7251";
> +
> +		/* I2C address as per ov7251.txt linux documentation */
> +		reg = <0x60>;
> +
> +		/* CAM3_RST_N */
> +		enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&cam3_default>;
> +
> +		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
> +		clock-names = "xclk";
> +		clock-frequency = <24000000>;
> +
> +		/*
> +		 * The &vreg_s4a_1p8 trace always powered on.
> +		 *
> +		 * The 2.8V vdda-supply regulator is enabled when the
> +		 * vreg_s4a_1p8 trace is pulled high.
> +		 * It too is represented by a fixed regulator.
> +		 *
> +		 * No 1.2V vddd-supply regulator is used.
> +		 */
> +		vdddo-supply = <&vreg_lvs1a_1p8>;
> +		vdda-supply = <&cam3_avdd_2v8>;
> +
> +		status = "disabled";
> +
> +		port {
> +			ov7251_ep: endpoint {
> +				data-lanes = <0 1>;
> +/*				remote-endpoint = <&csiphy3_ep>; */
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index 5da91c646c200..f41c6d600ea8c 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1174,105 +1174,6 @@ &pm8998_gpio {
>   
>   };
>   
> -&cci {
> -	status = "okay";
> -};
> -
> -&camss {
> -	vdda-phy-supply = <&vreg_l1a_0p875>;
> -	vdda-pll-supply = <&vreg_l26a_1p2>;
> -
> -	status = "okay";
> -
> -	ports {
> -		port@0 {
> -			reg = <0>;
> -			csiphy0_ep: endpoint {
> -				data-lanes = <0 1 2 3>;
> -				remote-endpoint = <&ov8856_ep>;
> -			};
> -		};
> -	};
> -};
> -
> -&cci_i2c0 {
> -	camera@10 {
> -		compatible = "ovti,ov8856";
> -		reg = <0x10>;
> -
> -		/* CAM0_RST_N */
> -		reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&cam0_default>;
> -
> -		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
> -		clock-names = "xvclk";
> -		clock-frequency = <19200000>;
> -
> -		/*
> -		 * The &vreg_s4a_1p8 trace is powered on as a,
> -		 * so it is represented by a fixed regulator.
> -		 *
> -		 * The 2.8V vdda-supply and 1.2V vddd-supply regulators
> -		 * both have to be enabled through the power management
> -		 * gpios.
> -		 */
> -		dovdd-supply = <&vreg_lvs1a_1p8>;
> -		avdd-supply = <&cam0_avdd_2v8>;
> -		dvdd-supply = <&cam0_dvdd_1v2>;
> -
> -		status = "okay";
> -
> -		port {
> -			ov8856_ep: endpoint {
> -				link-frequencies = /bits/ 64
> -					<360000000 180000000>;
> -				data-lanes = <1 2 3 4>;
> -				remote-endpoint = <&csiphy0_ep>;
> -			};
> -		};
> -	};
> -};
> -
> -&cci_i2c1 {
> -	camera@60 {
> -		compatible = "ovti,ov7251";
> -
> -		/* I2C address as per ov7251.txt linux documentation */
> -		reg = <0x60>;
> -
> -		/* CAM3_RST_N */
> -		enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
> -		pinctrl-names = "default";
> -		pinctrl-0 = <&cam3_default>;
> -
> -		clocks = <&clock_camcc CAM_CC_MCLK3_CLK>;
> -		clock-names = "xclk";
> -		clock-frequency = <24000000>;
> -
> -		/*
> -		 * The &vreg_s4a_1p8 trace always powered on.
> -		 *
> -		 * The 2.8V vdda-supply regulator is enabled when the
> -		 * vreg_s4a_1p8 trace is pulled high.
> -		 * It too is represented by a fixed regulator.
> -		 *
> -		 * No 1.2V vddd-supply regulator is used.
> -		 */
> -		vdddo-supply = <&vreg_lvs1a_1p8>;
> -		vdda-supply = <&cam3_avdd_2v8>;
> -
> -		status = "disabled";
> -
> -		port {
> -			ov7251_ep: endpoint {
> -				data-lanes = <0 1>;
> -/*				remote-endpoint = <&csiphy3_ep>; */
> -			};
> -		};
> -	};
> -};
> -
>   /* PINCTRL - additions to nodes defined in sdm845.dtsi */
>   &qup_spi0_default {
>   	config {

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine
  2022-11-12 17:26 ` [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine Bryan O'Donoghue
  2022-11-12 21:45   ` Laurent Pinchart
@ 2022-11-14  9:49   ` Konrad Dybcio
  2022-11-14 14:45     ` Bryan O'Donoghue
  1 sibling, 1 reply; 23+ messages in thread
From: Konrad Dybcio @ 2022-11-14  9:49 UTC (permalink / raw)
  To: Bryan O'Donoghue, robert.foss, todor.too, agross, andersson,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree



On 12/11/2022 18:26, Bryan O'Donoghue wrote:
> The Vision Mezzanine for the RB5 ships with an imx517 and ov9282 populated.
> Other sensors and components may be added or stacked with additional
> mezzanines.
> 
> Enable the IMX577 on the vision mezzanine.
> 
> An example media-ctl pipeline for the imx577 is:
> 
> media-ctl --reset
> media-ctl -v -d /dev/media0 -V '"imx577 '22-001a'":0[fmt:SRGGB10/4056x3040 field:none]'
> media-ctl -V '"msm_csiphy2":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_csiphy2":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: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>   arch/arm64/boot/dts/qcom/Makefile             |  1 +
>   .../dts/qcom/qrb5165-rb5-vision-mezzanine.dts | 63 +++++++++++++++++++
>   arch/arm64/boot/dts/qcom/sm8250.dtsi          | 33 ++++++++++
>   3 files changed, 97 insertions(+)
>   create mode 100644 arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 70ce09bc63a33..5eadd251a0a16 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-sony-xperia-yoshino-poplar.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= qrb5165-rb5-vision-mezzanine.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sa8155p-adp.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sa8295p-adp.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sc7180-idp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts b/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
> new file mode 100644
> index 0000000000000..315d524045cf3
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/qrb5165-rb5-vision-mezzanine.dts
> @@ -0,0 +1,63 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2022, Linaro Ltd.
> + */
> +
> +/dts-v1/;
> +
> +#include "qrb5165-rb5.dts"
> +
> +&camss {
> +	status = "okay";
> +	vdda-phy-supply = <&vreg_l5a_0p88>;
> +	vdda-pll-supply = <&vreg_l9a_1p2>;
> +
> +	ports {
> +		/* The port index denotes CSIPHY id i.e. csiphy2 */
> +		port@2 {
> +			reg = <2>;
> +			csiphy2_ep: endpoint {
> +				clock-lanes = <7>;
> +				data-lanes = <0 1 2 3>;
> +				remote-endpoint = <&imx577_ep>;
> +			};
> +		};
> +	};
> +};
> +
> +&camcc {
> +	status = "okay";
> +};
camcc goes before camss alphabetically. Though I see no reason why a 
clock controller would be disabled, even if the clocks sit unused.

Konrad
> +
> +&cci1 {
> +	status = "okay";
> +};
> +
> +&cci1_i2c0 {
> +	camera@1a {
> +		compatible = "sony,imx577";
> +		reg = <0x1a>;
> +
> +		reset-gpios = <&tlmm 78 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default", "suspend";
> +		pinctrl-0 = <&cam2_default>;
> +		pinctrl-1 = <&cam2_suspend>;
> +
> +		clocks = <&camcc CAM_CC_MCLK2_CLK>;
> +		assigned-clocks = <&camcc CAM_CC_MCLK2_CLK>;
> +		assigned-clock-rates = <24000000>;
> +
> +		dovdd-supply  = <&vreg_l7f_1p8>;
> +		avdd-supply = <&vdc_5v>;
> +		dvdd-supply = <&vdc_5v>;
> +
> +		port {
> +			imx577_ep: endpoint {
> +				clock-lanes = <1>;
> +				link-frequencies = /bits/ 64 <600000000>;
> +				data-lanes = <1 2 3 4>;
> +				remote-endpoint = <&csiphy2_ep>;
> +			};
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> index f28a8893d00d7..83604b9772766 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> @@ -3798,6 +3798,39 @@ tlmm: pinctrl@f100000 {
>   			gpio-ranges = <&tlmm 0 0 181>;
>   			wakeup-parent = <&pdc>;
>   
> +			cam2_default: cam2-default-state {
> +				rst-pins {
> +					pins = "gpio78";
> +					function = "gpio";
> +					drive-strength = <2>;
> +					bias-disable;
> +				};
> +
> +				mclk-pins {
> +					pins = "gpio96";
> +					function = "cam_mclk";
> +					drive-strength = <16>;
> +					bias-disable;
> +				};
> +			};
> +
> +			cam2_suspend: cam2-suspend-state {
> +				rst-pins {
> +					pins = "gpio78";
> +					function = "gpio";
> +					drive-strength = <2>;
> +					bias-pull-down;
> +					output-low;
> +				};
> +
> +				mclk-pins {
> +					pins = "gpio96";
> +					function = "cam_mclk";
> +					drive-strength = <2>;
> +					bias-disable;
> +				};
> +			};
> +
>   			cci0_default: cci0-default-state {
>   				cci0_i2c0_default: cci0-i2c0-default-pins {
>   					/* SDA, SCL */

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status
  2022-11-12 17:26 ` [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status Bryan O'Donoghue
  2022-11-12 21:14   ` Laurent Pinchart
  2022-11-14  9:46   ` Konrad Dybcio
@ 2022-11-14 10:00   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-11-14 10:00 UTC (permalink / raw)
  To: Bryan O'Donoghue, robert.foss, todor.too, agross, andersson,
	konrad.dybcio, mchehab, robh+dt, krzysztof.kozlowski+dt,
	dmitry.baryshkov, vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Konrad Dybcio

On 12/11/2022 18:26, Bryan O'Donoghue wrote:
> Convert camss status from "ok" to "okay".
> 
> Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index 7c88312333c22..ce95b51f17fff 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1182,7 +1182,7 @@ &camss {
>  	vdda-phy-supply = <&vreg_l1a_0p875>;
>  	vdda-pll-supply = <&vreg_l26a_1p2>;
>  
> -	status = "ok";
> +	status = "okay";
>  
>  	ports {
>  		port@0 {
> @@ -1221,7 +1221,7 @@ camera@10 {
>  		avdd-supply = <&cam0_avdd_2v8>;
>  		dvdd-supply = <&cam0_dvdd_1v2>;
>  
> -		status = "ok";
> +		status = "okay";

Drop it instead. Can be same patch.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable
  2022-11-12 17:26 ` [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable Bryan O'Donoghue
  2022-11-12 21:14   ` Laurent Pinchart
  2022-11-14  9:46   ` Konrad Dybcio
@ 2022-11-14 10:01   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-11-14 10:01 UTC (permalink / raw)
  To: Bryan O'Donoghue, robert.foss, todor.too, agross, andersson,
	konrad.dybcio, mchehab, robh+dt, krzysztof.kozlowski+dt,
	dmitry.baryshkov, vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree, Konrad Dybcio

On 12/11/2022 18:26, Bryan O'Donoghue wrote:
> Use preferred status "disabled" instead of "disable".
> 
> Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> index ce95b51f17fff..5da91c646c200 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts

I propose to squash with previous. These are basically same issues,
unless one has visible effect (e.g. wrong name) thus needs Fixes tag.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts
  2022-11-12 17:26 ` [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts Bryan O'Donoghue
  2022-11-12 21:20   ` Laurent Pinchart
  2022-11-14  9:48   ` Konrad Dybcio
@ 2022-11-14 10:01   ` Krzysztof Kozlowski
  2 siblings, 0 replies; 23+ messages in thread
From: Krzysztof Kozlowski @ 2022-11-14 10:01 UTC (permalink / raw)
  To: Bryan O'Donoghue, robert.foss, todor.too, agross, andersson,
	konrad.dybcio, mchehab, robh+dt, krzysztof.kozlowski+dt,
	dmitry.baryshkov, vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree

On 12/11/2022 18:26, Bryan O'Donoghue wrote:
> Move the dts data for the rb3 navigation mezzanine into its own dts file.
> 
> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
> ---
>  arch/arm64/boot/dts/qcom/Makefile             |   1 +
>  .../sdm845-db845c-navigation-mezzanine.dts    | 107 ++++++++++++++++++
>  arch/arm64/boot/dts/qcom/sdm845-db845c.dts    |  99 ----------------
>  3 files changed, 108 insertions(+), 99 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index d534888bcfe52..70ce09bc63a33 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -131,6 +131,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r1.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r2.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r3.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c-navigation-mezzanine.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-lg-judyln.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-lg-judyp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-mtp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> new file mode 100644
> index 0000000000000..7bd0a15c72657
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> @@ -0,0 +1,107 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2022, Linaro Ltd.
> + */
> +
> +/dts-v1/;
> +
> +#include "sdm845-db845c.dts"
> +
> +&cci {
> +	status = "okay";
> +};
> +
> +&camss {
> +	vdda-phy-supply = <&vreg_l1a_0p875>;
> +	vdda-pll-supply = <&vreg_l26a_1p2>;
> +
> +	status = "okay";
> +
> +	ports {
> +		port@0 {
> +			reg = <0>;
> +			csiphy0_ep: endpoint {
> +				data-lanes = <0 1 2 3>;
> +				remote-endpoint = <&ov8856_ep>;
> +			};
> +		};
> +	};
> +};
> +
> +&cci_i2c0 {
> +	camera@10 {
> +		compatible = "ovti,ov8856";
> +		reg = <0x10>;
> +
> +		/* CAM0_RST_N */
> +		reset-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&cam0_default>;
> +
> +		clocks = <&clock_camcc CAM_CC_MCLK0_CLK>;
> +		clock-names = "xvclk";
> +		clock-frequency = <19200000>;
> +
> +		/*
> +		 * The &vreg_s4a_1p8 trace is powered on as a,
> +		 * so it is represented by a fixed regulator.
> +		 *
> +		 * The 2.8V vdda-supply and 1.2V vddd-supply regulators
> +		 * both have to be enabled through the power management
> +		 * gpios.
> +		 */
> +		dovdd-supply = <&vreg_lvs1a_1p8>;
> +		avdd-supply = <&cam0_avdd_2v8>;
> +		dvdd-supply = <&cam0_dvdd_1v2>;
> +
> +		status = "okay";

Drop it.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine
  2022-11-14  9:49   ` Konrad Dybcio
@ 2022-11-14 14:45     ` Bryan O'Donoghue
  0 siblings, 0 replies; 23+ messages in thread
From: Bryan O'Donoghue @ 2022-11-14 14:45 UTC (permalink / raw)
  To: Konrad Dybcio, robert.foss, todor.too, agross, andersson,
	mchehab, robh+dt, krzysztof.kozlowski+dt, dmitry.baryshkov,
	vladimir.zapolskiy
  Cc: sakari.ailus, hverkuil, laurent.pinchart, quic_mmitkov,
	linux-media, linux-arm-msm, devicetree

On 14/11/2022 09:49, Konrad Dybcio wrote:
> camcc goes before camss alphabetically. Though I see no reason why a 
> clock controller would be disabled, even if the clocks sit unused.

We discussed this before

https://lore.kernel.org/linux-arm-msm/0864eed7-bba2-59ec-dc5f-b491ce114798@linaro.org/

https://lore.kernel.org/linux-devicetree/20220518091943.734478-1-vladimir.zapolskiy@linaro.org/

@Vladimir are you happy enough to enable camcc by default on base rb5 ?

---
bod

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2022-11-14 14:46 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-12 17:26 [PATCH v5 0/6] Switch on IMX577 on RB5 Bryan O'Donoghue
2022-11-12 17:26 ` [PATCH v5 1/6] arm64: dts: qcom: sdm845-db845c: Drop redundant address-cells, size-cells declaration Bryan O'Donoghue
2022-11-12 21:12   ` Laurent Pinchart
2022-11-12 17:26 ` [PATCH v5 2/6] arm64: dts: qcom: sdm845-db845c: Use okay not ok for status Bryan O'Donoghue
2022-11-12 21:14   ` Laurent Pinchart
2022-11-14  9:46   ` Konrad Dybcio
2022-11-14 10:00   ` Krzysztof Kozlowski
2022-11-12 17:26 ` [PATCH v5 3/6] arm64: dts: qcom: sdm845-db845c: Use status disabled not disable Bryan O'Donoghue
2022-11-12 21:14   ` Laurent Pinchart
2022-11-14  9:46   ` Konrad Dybcio
2022-11-14 10:01   ` Krzysztof Kozlowski
2022-11-12 17:26 ` [PATCH v5 4/6] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts Bryan O'Donoghue
2022-11-12 21:20   ` Laurent Pinchart
2022-11-12 21:46     ` Bryan O'Donoghue
2022-11-14  9:48   ` Konrad Dybcio
2022-11-14 10:01   ` Krzysztof Kozlowski
2022-11-12 17:26 ` [PATCH v5 5/6] arm64: dts: qcom: sm8250: camss: Define ports address/size cells Bryan O'Donoghue
2022-11-12 21:07   ` Laurent Pinchart
2022-11-12 17:26 ` [PATCH v5 6/6] arm64: dts: qcom: qrb5165-rb5-vision-mezzanine: Add vision mezzanine Bryan O'Donoghue
2022-11-12 21:45   ` Laurent Pinchart
2022-11-12 22:06     ` Bryan O'Donoghue
2022-11-14  9:49   ` Konrad Dybcio
2022-11-14 14:45     ` Bryan O'Donoghue

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.