Re: [PATCH 1/3] arm64: dts: rockchip: Add Radxa ROCK 4C+ DSI DT-overlay

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jagan,

Am Montag, 13. November 2023, 16:15:34 CET schrieb Jagan Teki:
> On Thu, 5 Oct 2023 at 06:07, Heiko Stübner <heiko@xxxxxxxxx> wrote:
> >
> > Am Montag, 31. Juli 2023, 22:05:57 CEST schrieb Jagan Teki:
> > > Add DSI pipeline for Radxa ROCK 4C+ board via DT-overlay.
> > >
> > > The DSI connector in Radxa ROCK 4C+ board support different
> > > resolution panels and those compatible is added in another
> > > DT-overlay.
> > >
> > > Signed-off-by: Jagan Teki <jagan@xxxxxxxxxx>
> > > ---
> > >  arch/arm64/boot/dts/rockchip/Makefile         |  1 +
> > >  .../rk3399-rock-4c-plus-mipi-dsi.dtso         | 69 +++++++++++++++++++
> > >  2 files changed, 70 insertions(+)
> > >  create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso
> > >
> > > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
> > > index 1ebbb3e9c2f9..3a4c4cd769eb 100644
> > > --- a/arch/arm64/boot/dts/rockchip/Makefile
> > > +++ b/arch/arm64/boot/dts/rockchip/Makefile
> > > @@ -58,6 +58,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
> > >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
> > >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-plus.dtb
> > >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus.dtb
> > > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4c-plus-mipi-dsi.dtbo
> > >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-4se.dtb
> > >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb
> > >  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a-plus.dtb
> > > diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso
> > > new file mode 100644
> > > index 000000000000..271717040b6c
> > > --- /dev/null
> > > +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus-mipi-dsi.dtso
> > > @@ -0,0 +1,69 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +/*
> > > + * Copyright (c) 2023 Radxa Computer Co., Ltd.
> > > + * Copyright (c) 2023 Edgeble AI Technologies Pvt. Ltd.
> > > + *
> > > + * DT-overlay for Radxa ROCK 4C+ DSI Connector.
> > > + */
> > > +
> > > +/dts-v1/;
> > > +/plugin/;
> > > +
> > > +#include <dt-bindings/gpio/gpio.h>
> > > +#include <dt-bindings/pinctrl/rockchip.h>
> > > +
> > > +&{/} {
> > > +     backlight: backlight {
> > > +             compatible = "pwm-backlight";
> > > +             pwms = <&pwm2 0 25000 0>;
> > > +     };
> > > +};
> > > +
> > > +&mipi_dsi {
> > > +     clock-master;
> > > +     #address-cells = <1>;
> > > +     #size-cells = <0>;
> > > +     status = "okay";
> > > +
> > > +     ports {
> > > +             #address-cells = <1>;
> > > +             #size-cells = <0>;
> > > +
> > > +             mipi_out: port@1 {
> > > +                     reg = <1>;
> > > +
> > > +                     mipi_out_panel: endpoint {
> > > +                             remote-endpoint = <&mipi_in_panel>;
> > > +                     };
> > > +             };
> > > +     };
> > > +
> > > +     panel: panel@0 {
> > > +             /* different resolution panels are used, compatibles are in DTO */
> >
> > then I guess, the panel node should get a disabled here (and the mipi_dsi
> > should stay disabled at this point) and both should get enabled in the final
> > dtbo where the compatible lives?
> 
> Do you mean dsi also needs to be disabled here and enabled in dtbo? if
> so why? if panel disabled then dsi won't probe even if it enabled.

I'm not sure how dtbo's are loaded nowadays, but if by some form of
accident only this dtbo gets loaded without a panel compatible you've
essentially broken the whole display output, as the dsi will defer
indefinitly.

Also, in more general thinking, the savings in terms of node duplication is
quite minimal with this setup. Can't you just have the tiny dsi+backlight
nodes in each panel dtbo?


Thanks
Heiko







[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux