Re: [PATCH v3] arm64: dts: qcom: apq8016-sbc-d3: Add Qualcomm APQ8016 SBC + D3Camera mezzanine

From: Bjorn Andersson
Date: Tue May 19 2020 - 19:26:07 EST


On Tue 19 May 03:22 PDT 2020, Manivannan Sadhasivam wrote:

> Hi Robert,
>
> On Mon, May 18, 2020 at 10:21:29AM +0200, Robert Foss wrote:
> > Add device treee support for the Qualcomm APQ8016 SBC, otherwise known as
> > the Dragonboard 410c with the D3Camera mezzanine expansion board.
> >
> > The D3Camera mezzanine ships in a kit with a OmniVision 5640 sensor module,
> > which is what this DT targets.
> >
>
> What is the motivation behind adding this new dts? We have been using the
> userspace tool [1] for applying this as an overlay for some time. But if we
> start adding dts for mezzanines then for sure we'll end up with some good
> numbers which will flood arch/{..}/qcom directory.
>
> I could understand that one of the motivation is to provide nice user experience
> to users but that's also taken care by the dt-update tool IMO.
>

The motivation for posting this was to provoke a response like yours.

I knew about [1], but not that it included the overlays. I'm okay with
using overlays and the dt-update tool. But I would have preferred that
the dts files didn't live out of tree, given that this approach breaks
if I change the name of a node you depend on upstream.

Thanks,
Bjorn

> Thanks,
> Mani
>
> [1] https://github.com/96boards/dt-update
>
> > Signed-off-by: Robert Foss <robert.foss@xxxxxxxxxx>
> > ---
> >
> > Changes since v2:
> > - Vinod: Change copyright assignment to Linaro
> >
> > Changes since v1:
> > - Vinod: Changed license to GPL+BSD
> > - Vinod: Changed copyright year to 2020
> > - Nico: Changed name of mezzanine to d3camera
> >
> > arch/arm64/boot/dts/qcom/Makefile | 1 +
> > .../boot/dts/qcom/apq8016-sbc-d3camera.dts | 45 +++++++++++++++++++
> > 2 files changed, 46 insertions(+)
> > create mode 100644 arch/arm64/boot/dts/qcom/apq8016-sbc-d3camera.dts
> >
> > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> > index cc103f7020fd..3f95b522694e 100644
> > --- a/arch/arm64/boot/dts/qcom/Makefile
> > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > @@ -1,5 +1,6 @@
> > # SPDX-License-Identifier: GPL-2.0
> > dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb
> > +dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc-d3camera.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb
> > diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc-d3camera.dts b/arch/arm64/boot/dts/qcom/apq8016-sbc-d3camera.dts
> > new file mode 100644
> > index 000000000000..752e5ec47499
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/apq8016-sbc-d3camera.dts
> > @@ -0,0 +1,45 @@
> > +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
> > +/*
> > + * Copyright (c) 2020, The Linux Foundation. All rights reserved.
> > + */
> > +
> > +/dts-v1/;
> > +
> > +#include "apq8016-sbc.dtsi"
> > +
> > +/ {
> > + model = "Qualcomm Technologies, Inc. APQ 8016 SBC w/ D3Camera Mezzanine";
> > + compatible = "qcom,apq8016-sbc", "qcom,apq8016", "qcom,sbc";
> > +};
> > +
> > +&cci_i2c0 {
> > + /delete-node/ camera_rear@3b;
> > +
> > + camera_rear@76 {
> > + compatible = "ovti,ov5640";
> > + reg = <0x76>;
> > +
> > + enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
> > + reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&camera_rear_default>;
> > +
> > + clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
> > + clock-names = "xclk";
> > + clock-frequency = <23880000>;
> > +
> > + vdddo-supply = <&camera_vdddo_1v8>;
> > + vdda-supply = <&camera_vdda_2v8>;
> > + vddd-supply = <&camera_vddd_1v5>;
> > +
> > + status = "ok";
> > +
> > + port {
> > + ov5640_ep: endpoint {
> > + clock-lanes = <1>;
> > + data-lanes = <0 2>;
> > + remote-endpoint = <&csiphy0_ep>;
> > + };
> > + };
> > + };
> > +};
> > --
> > 2.25.1
> >