[v6,5/7] arm64: dts: qcom: sdm845-db845c-navigation-mezzanine: Add navigation mezzanine dts
Commit Message
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 | 104 ++++++++++++++++++
arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 96 ----------------
3 files changed, 105 insertions(+), 96 deletions(-)
create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
Comments
On 16/11/2022 17:27, 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 | 104 ++++++++++++++++++
> arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 96 ----------------
> 3 files changed, 105 insertions(+), 96 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 afe496a93f945..4c81c1ee7f7c7 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -132,6 +132,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..a21caa6f3fa25
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-navigation-mezzanine.dts
> @@ -0,0 +1,104 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2022, Linaro Ltd.
> + */
> +
> +/dts-v1/;
> +
> +#include "sdm845-db845c.dts"
> +
> +&camss {
> + vdda-phy-supply = <&vreg_l1a_0p875>;
> + vdda-pll-supply = <&vreg_l26a_1p2>;
> +
> + status = "okay";
> +
> + ports {
> + port@0 {
> + csiphy0_ep: endpoint {
> + data-lanes = <0 1 2 3>;
> + remote-endpoint = <&ov8856_ep>;
> + };
> + };
> + };
> +};
> +
> +&cci {
> + status = "okay";
> +};
> +
> +&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>;
> +
> + 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";
I know you're just moving things around, but.. any reason this thing is
still disabled?
Konrad
> +
> + 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 be946f71666bc..f41c6d600ea8c 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts
> @@ -1174,102 +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 {
> - 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>;
> -
> - 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 {
On 16/11/2022 16:39, Konrad Dybcio wrote:
> I know you're just moving things around, but.. any reason this thing is
> still disabled?
>
> Konrad
>> +
>> + port {
>> + ov7251_ep: endpoint {
>> + data-lanes = <0 1>;
>> +/* remote-endpoint = <&csiphy3_ep>; */
Because so is the remote-endpoint here.
---
bod
On 16/11/2022 17:43, Bryan O'Donoghue wrote:
> On 16/11/2022 16:39, Konrad Dybcio wrote:
>> I know you're just moving things around, but.. any reason this thing
>> is still disabled?
>>
>> Konrad
>>> +
>>> + port {
>>> + ov7251_ep: endpoint {
>>> + data-lanes = <0 1>;
>>> +/* remote-endpoint = <&csiphy3_ep>; */
>
> Because so is the remote-endpoint here.
Ok, but is there anything special preventing you from adding
csiphy3_ep: endpoing {
};
under port@3 in 845 and have it working? Does it need more driver changes?
Konrad
>
> ---
> bod
On 16/11/2022 16:45, Konrad Dybcio wrote:
> Ok, but is there anything special preventing you from adding
>
> csiphy3_ep: endpoing {
> };
>
> under port@3 in 845 and have it working? Does it need more driver changes?
>
> Konrad
I've tried switching it on and it doesn't "just work".
Removing it seems like overkill to me and to be honest feels like a
retrograde step.
---
bod
On 16/11/2022 17:48, Bryan O'Donoghue wrote:
> On 16/11/2022 16:45, Konrad Dybcio wrote:
>> Ok, but is there anything special preventing you from adding
>>
>> csiphy3_ep: endpoing {
>> };
>>
>> under port@3 in 845 and have it working? Does it need more driver
>> changes?
>>
>> Konrad
>
> I've tried switching it on and it doesn't "just work".
>
> Removing it seems like overkill to me and to be honest feels like a
> retrograde step.
Yeah I wouldn't remove it now.
Konrad
>
> ---
> bod
@@ -132,6 +132,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
new file mode 100644
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (c) 2022, Linaro Ltd.
+ */
+
+/dts-v1/;
+
+#include "sdm845-db845c.dts"
+
+&camss {
+ vdda-phy-supply = <&vreg_l1a_0p875>;
+ vdda-pll-supply = <&vreg_l26a_1p2>;
+
+ status = "okay";
+
+ ports {
+ port@0 {
+ csiphy0_ep: endpoint {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <&ov8856_ep>;
+ };
+ };
+ };
+};
+
+&cci {
+ status = "okay";
+};
+
+&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>;
+
+ 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>; */
+ };
+ };
+ };
+};
@@ -1174,102 +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 {
- 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>;
-
- 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 {