Message ID | 20230118082048.2198715-1-dmitry.baryshkov@linaro.org (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | [RFC] arm64: dts: qcom: add device tree for DB845c working in dual DSI mode | expand |
On Wed, Jan 18, 2023 at 10:20:48AM +0200, Dmitry Baryshkov wrote: > While we are testing the DB845c working in dual DSI mode (which is > required for the 4k support), create a separate device tree using this > configuration. > I don't think it's right to change the DTB on your device depending on your TV's ability to do 4k or not... I ran into this problem when playing around with 4k-support on the RB3 as well a while back. I was not able to figure out a way to run the lt9611 off two inputs for the lower resolutions and ended never posted anything because I couldn't come up with any good solution. Would it be possible somehow to describe the two ports in DT, but have the display driver use one or both depending on the number of inputs needed by the lt9611? Regards, Bjorn > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > > Dependencies to be able to verify the 4k@30 mode: > [1] https://lore.kernel.org/linux-arm-msm/20221229191856.3508092-1-dmitry.baryshkov@linaro.org/ > [2] https://lore.kernel.org/dri-devel/20230118081658.2198520-1-dmitry.baryshkov@linaro.org/ > > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > .../boot/dts/qcom/sdm845-db845c-dual-dsi.dts | 48 +++++++++++++++++++ > 2 files changed, 49 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 3e79496292e7..dc55c3b989a4 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -139,6 +139,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-dual-dsi.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 > diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts > new file mode 100644 > index 000000000000..4a366dedc841 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts > @@ -0,0 +1,48 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * Copyright (c) 2023, Linaro Ltd. > + */ > + > +#include "sdm845-db845c.dts" > + > +&dsi0 { > + qcom,dual-dsi-mode; > + qcom,master-dsi; > +}; > + > +&dsi1 { > + vdda-supply = <&vreg_l26a_1p2>; > + > + qcom,dual-dsi-mode; > + > + /* DSI1 is slave, so use DSI0 clocks */ > + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; > + > + status = "okay"; > + > + ports { > + port@1 { > + endpoint { > + remote-endpoint = <<9611_b>; > + data-lanes = <0 1 2 3>; > + }; > + }; > + }; > +}; > + > +&dsi1_phy { > + vdds-supply = <&vreg_l1a_0p875>; > + status = "okay"; > +}; > + > +<9611_codec { > + ports { > + port@1 { > + reg = <1>; > + > + lt9611_b: endpoint { > + remote-endpoint = <&dsi1_out>; > + }; > + }; > + }; > +}; > -- > 2.39.0 >
18 января 2023 г. 19:32:42 GMT+02:00, Bjorn Andersson <andersson@kernel.org> пишет: >On Wed, Jan 18, 2023 at 10:20:48AM +0200, Dmitry Baryshkov wrote: >> While we are testing the DB845c working in dual DSI mode (which is >> required for the 4k support), create a separate device tree using this >> configuration. >> > >I don't think it's right to change the DTB on your device depending on >your TV's ability to do 4k or not... > >I ran into this problem when playing around with 4k-support on the RB3 >as well a while back. I was not able to figure out a way to run the >lt9611 off two inputs for the lower resolutions and ended never posted >anything because I couldn't come up with any good solution. This is implemented with the latest lt9611 patchset, referenced in the patch annotation. I posted this as an RFC with the separate dts to let people test dual DSI, DPU wide planes, etc. and to compare that with plain old single link DSI/lt9611. > > >Would it be possible somehow to describe the two ports in DT, but have >the display driver use one or both depending on the number of inputs >needed by the lt9611? This would be very problemsome. Even switching the number of lanes goes against the standard and is not supported by Linux kernel. Supporting switching the host off and on would be a real troublle. Hopefully, this is is not necessary. > >Regards, >Bjorn > >> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >> --- >> >> Dependencies to be able to verify the 4k@30 mode: >> [1] https://lore.kernel.org/linux-arm-msm/20221229191856.3508092-1-dmitry.baryshkov@linaro.org/ >> [2] https://lore.kernel.org/dri-devel/20230118081658.2198520-1-dmitry.baryshkov@linaro.org/ >> >> --- >> arch/arm64/boot/dts/qcom/Makefile | 1 + >> .../boot/dts/qcom/sdm845-db845c-dual-dsi.dts | 48 +++++++++++++++++++ >> 2 files changed, 49 insertions(+) >> create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts >> >> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile >> index 3e79496292e7..dc55c3b989a4 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -139,6 +139,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-dual-dsi.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 >> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts >> new file mode 100644 >> index 000000000000..4a366dedc841 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts >> @@ -0,0 +1,48 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* >> + * Copyright (c) 2023, Linaro Ltd. >> + */ >> + >> +#include "sdm845-db845c.dts" >> + >> +&dsi0 { >> + qcom,dual-dsi-mode; >> + qcom,master-dsi; >> +}; >> + >> +&dsi1 { >> + vdda-supply = <&vreg_l26a_1p2>; >> + >> + qcom,dual-dsi-mode; >> + >> + /* DSI1 is slave, so use DSI0 clocks */ >> + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; >> + >> + status = "okay"; >> + >> + ports { >> + port@1 { >> + endpoint { >> + remote-endpoint = <<9611_b>; >> + data-lanes = <0 1 2 3>; >> + }; >> + }; >> + }; >> +}; >> + >> +&dsi1_phy { >> + vdds-supply = <&vreg_l1a_0p875>; >> + status = "okay"; >> +}; >> + >> +<9611_codec { >> + ports { >> + port@1 { >> + reg = <1>; >> + >> + lt9611_b: endpoint { >> + remote-endpoint = <&dsi1_out>; >> + }; >> + }; >> + }; >> +}; >> -- >> 2.39.0 >>
On Wed, Jan 18, 2023 at 08:47:53PM +0200, Dmitry Baryshkov wrote: > 18 января 2023 г. 19:32:42 GMT+02:00, Bjorn Andersson <andersson@kernel.org> пишет: > >On Wed, Jan 18, 2023 at 10:20:48AM +0200, Dmitry Baryshkov wrote: > >> While we are testing the DB845c working in dual DSI mode (which is > >> required for the 4k support), create a separate device tree using this > >> configuration. > >> > > > >I don't think it's right to change the DTB on your device depending on > >your TV's ability to do 4k or not... > > > >I ran into this problem when playing around with 4k-support on the RB3 > >as well a while back. I was not able to figure out a way to run the > >lt9611 off two inputs for the lower resolutions and ended never posted > >anything because I couldn't come up with any good solution. > > > This is implemented with the latest lt9611 patchset, referenced in the patch annotation. > > I posted this as an RFC with the separate dts to let people test dual DSI, DPU wide planes, etc. and to compare that with plain old single link DSI/lt9611. > > > > > > >Would it be possible somehow to describe the two ports in DT, but have > >the display driver use one or both depending on the number of inputs > >needed by the lt9611? > > This would be very problemsome. Even switching the number of lanes > goes against the standard and is not supported by Linux kernel. > Supporting switching the host off and on would be a real troublle. > Does this imply that switching resolution in runtime is not possible for any of these DSI->HDMI/DP/eDP bridges? The immediate worry is that we need 4k and non-4k variants of every mezzanine (unless we start doing overlays). But beyond that I still don't like the fact that you need to change firmware depending on which monitor/TV you're going to connect the board to. (And with the current boot.img-based design, this is overly cumbersome) Regards, Bjorn > Hopefully, this is is not necessary. > > > > >Regards, > >Bjorn > > > >> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > >> --- > >> > >> Dependencies to be able to verify the 4k@30 mode: > >> [1] https://lore.kernel.org/linux-arm-msm/20221229191856.3508092-1-dmitry.baryshkov@linaro.org/ > >> [2] https://lore.kernel.org/dri-devel/20230118081658.2198520-1-dmitry.baryshkov@linaro.org/ > >> > >> --- > >> arch/arm64/boot/dts/qcom/Makefile | 1 + > >> .../boot/dts/qcom/sdm845-db845c-dual-dsi.dts | 48 +++++++++++++++++++ > >> 2 files changed, 49 insertions(+) > >> create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts > >> > >> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > >> index 3e79496292e7..dc55c3b989a4 100644 > >> --- a/arch/arm64/boot/dts/qcom/Makefile > >> +++ b/arch/arm64/boot/dts/qcom/Makefile > >> @@ -139,6 +139,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-dual-dsi.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 > >> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts > >> new file mode 100644 > >> index 000000000000..4a366dedc841 > >> --- /dev/null > >> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts > >> @@ -0,0 +1,48 @@ > >> +// SPDX-License-Identifier: GPL-2.0 > >> +/* > >> + * Copyright (c) 2023, Linaro Ltd. > >> + */ > >> + > >> +#include "sdm845-db845c.dts" > >> + > >> +&dsi0 { > >> + qcom,dual-dsi-mode; > >> + qcom,master-dsi; > >> +}; > >> + > >> +&dsi1 { > >> + vdda-supply = <&vreg_l26a_1p2>; > >> + > >> + qcom,dual-dsi-mode; > >> + > >> + /* DSI1 is slave, so use DSI0 clocks */ > >> + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; > >> + > >> + status = "okay"; > >> + > >> + ports { > >> + port@1 { > >> + endpoint { > >> + remote-endpoint = <<9611_b>; > >> + data-lanes = <0 1 2 3>; > >> + }; > >> + }; > >> + }; > >> +}; > >> + > >> +&dsi1_phy { > >> + vdds-supply = <&vreg_l1a_0p875>; > >> + status = "okay"; > >> +}; > >> + > >> +<9611_codec { > >> + ports { > >> + port@1 { > >> + reg = <1>; > >> + > >> + lt9611_b: endpoint { > >> + remote-endpoint = <&dsi1_out>; > >> + }; > >> + }; > >> + }; > >> +}; > >> -- > >> 2.39.0 > >> >
On 07/04/2023 19:48, Bjorn Andersson wrote: > On Wed, Jan 18, 2023 at 08:47:53PM +0200, Dmitry Baryshkov wrote: >> 18 января 2023 г. 19:32:42 GMT+02:00, Bjorn Andersson <andersson@kernel.org> пишет: >>> On Wed, Jan 18, 2023 at 10:20:48AM +0200, Dmitry Baryshkov wrote: >>>> While we are testing the DB845c working in dual DSI mode (which is >>>> required for the 4k support), create a separate device tree using this >>>> configuration. >>>> >>> >>> I don't think it's right to change the DTB on your device depending on >>> your TV's ability to do 4k or not... >>> >>> I ran into this problem when playing around with 4k-support on the RB3 >>> as well a while back. I was not able to figure out a way to run the >>> lt9611 off two inputs for the lower resolutions and ended never posted >>> anything because I couldn't come up with any good solution. >> >> >> This is implemented with the latest lt9611 patchset, referenced in the patch annotation. >> >> I posted this as an RFC with the separate dts to let people test dual DSI, DPU wide planes, etc. and to compare that with plain old single link DSI/lt9611. >> >>> >>> >>> Would it be possible somehow to describe the two ports in DT, but have >>> the display driver use one or both depending on the number of inputs >>> needed by the lt9611? >> >> This would be very problemsome. Even switching the number of lanes >> goes against the standard and is not supported by Linux kernel. >> Supporting switching the host off and on would be a real troublle. >> > > Does this imply that switching resolution in runtime is not possible for > any of these DSI->HDMI/DP/eDP bridges? > > The immediate worry is that we need 4k and non-4k variants of every > mezzanine (unless we start doing overlays). But beyond that I still > don't like the fact that you need to change firmware depending on which > monitor/TV you're going to connect the board to. (And with the current > boot.img-based design, this is overly cumbersome) No. With the latest lt9611 driver and with the current msm/msm-next it should not be necessary to have a separate dtsi. I submitted this patch as an RFC to let people compare 2xDSI vs single-link cases. Currently I'm happy with the way it works, so I can probably send this as a patch to main sdm845-db845c.dtb. As a background info: - lt9611 driver can utilize either one or two DSI links - drm/msm can output 4k over two DSI links in bonded mode. - drm/msm will still utilize two DSI links for smaller resolutions (switching between single and bonded DSI modes doesn't seem practical). - If just one DSI link is supplied, 1080p is the maximum resolution that can be supported. > Regards, > Bjorn > >> Hopefully, this is is not necessary. >> >>> >>> Regards, >>> Bjorn >>> >>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >>>> --- >>>> >>>> Dependencies to be able to verify the 4k@30 mode: >>>> [1] https://lore.kernel.org/linux-arm-msm/20221229191856.3508092-1-dmitry.baryshkov@linaro.org/ >>>> [2] https://lore.kernel.org/dri-devel/20230118081658.2198520-1-dmitry.baryshkov@linaro.org/ >>>> >>>> --- >>>> arch/arm64/boot/dts/qcom/Makefile | 1 + >>>> .../boot/dts/qcom/sdm845-db845c-dual-dsi.dts | 48 +++++++++++++++++++ >>>> 2 files changed, 49 insertions(+) >>>> create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts >>>> >>>> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile >>>> index 3e79496292e7..dc55c3b989a4 100644 >>>> --- a/arch/arm64/boot/dts/qcom/Makefile >>>> +++ b/arch/arm64/boot/dts/qcom/Makefile >>>> @@ -139,6 +139,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-dual-dsi.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 >>>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts >>>> new file mode 100644 >>>> index 000000000000..4a366dedc841 >>>> --- /dev/null >>>> +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts >>>> @@ -0,0 +1,48 @@ >>>> +// SPDX-License-Identifier: GPL-2.0 >>>> +/* >>>> + * Copyright (c) 2023, Linaro Ltd. >>>> + */ >>>> + >>>> +#include "sdm845-db845c.dts" >>>> + >>>> +&dsi0 { >>>> + qcom,dual-dsi-mode; >>>> + qcom,master-dsi; >>>> +}; >>>> + >>>> +&dsi1 { >>>> + vdda-supply = <&vreg_l26a_1p2>; >>>> + >>>> + qcom,dual-dsi-mode; >>>> + >>>> + /* DSI1 is slave, so use DSI0 clocks */ >>>> + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; >>>> + >>>> + status = "okay"; >>>> + >>>> + ports { >>>> + port@1 { >>>> + endpoint { >>>> + remote-endpoint = <<9611_b>; >>>> + data-lanes = <0 1 2 3>; >>>> + }; >>>> + }; >>>> + }; >>>> +}; >>>> + >>>> +&dsi1_phy { >>>> + vdds-supply = <&vreg_l1a_0p875>; >>>> + status = "okay"; >>>> +}; >>>> + >>>> +<9611_codec { >>>> + ports { >>>> + port@1 { >>>> + reg = <1>; >>>> + >>>> + lt9611_b: endpoint { >>>> + remote-endpoint = <&dsi1_out>; >>>> + }; >>>> + }; >>>> + }; >>>> +}; >>>> -- >>>> 2.39.0 >>>> >>
On Fri, Apr 07, 2023 at 08:09:23PM +0300, Dmitry Baryshkov wrote: > On 07/04/2023 19:48, Bjorn Andersson wrote: > > On Wed, Jan 18, 2023 at 08:47:53PM +0200, Dmitry Baryshkov wrote: > > > 18 января 2023 г. 19:32:42 GMT+02:00, Bjorn Andersson <andersson@kernel.org> пишет: > > > > On Wed, Jan 18, 2023 at 10:20:48AM +0200, Dmitry Baryshkov wrote: > > > > > While we are testing the DB845c working in dual DSI mode (which is > > > > > required for the 4k support), create a separate device tree using this > > > > > configuration. > > > > > > > > > > > > > I don't think it's right to change the DTB on your device depending on > > > > your TV's ability to do 4k or not... > > > > > > > > I ran into this problem when playing around with 4k-support on the RB3 > > > > as well a while back. I was not able to figure out a way to run the > > > > lt9611 off two inputs for the lower resolutions and ended never posted > > > > anything because I couldn't come up with any good solution. > > > > > > > > > This is implemented with the latest lt9611 patchset, referenced in the patch annotation. > > > > > > I posted this as an RFC with the separate dts to let people test dual DSI, DPU wide planes, etc. and to compare that with plain old single link DSI/lt9611. > > > > > > > > > > > > > > > Would it be possible somehow to describe the two ports in DT, but have > > > > the display driver use one or both depending on the number of inputs > > > > needed by the lt9611? > > > > > > This would be very problemsome. Even switching the number of lanes > > > goes against the standard and is not supported by Linux kernel. > > > Supporting switching the host off and on would be a real troublle. > > > > > > > Does this imply that switching resolution in runtime is not possible for > > any of these DSI->HDMI/DP/eDP bridges? > > > > The immediate worry is that we need 4k and non-4k variants of every > > mezzanine (unless we start doing overlays). But beyond that I still > > don't like the fact that you need to change firmware depending on which > > monitor/TV you're going to connect the board to. (And with the current > > boot.img-based design, this is overly cumbersome) > No. With the latest lt9611 driver and with the current msm/msm-next it > should not be necessary to have a separate dtsi. I submitted this patch as > an RFC to let people compare 2xDSI vs single-link cases. Currently I'm happy > with the way it works, so I can probably send this as a patch to main > sdm845-db845c.dtb. > > As a background info: > - lt9611 driver can utilize either one or two DSI links > - drm/msm can output 4k over two DSI links in bonded mode. > - drm/msm will still utilize two DSI links for smaller resolutions > (switching between single and bonded DSI modes doesn't seem practical). > - If just one DSI link is supplied, 1080p is the maximum resolution that can > be supported. > Sorry, I missed your reply earlier. If we can run the lower resolutions off two bonded DSI I think we should make that the default configuration - it's just that when I tried it a few years ago I had problems getting a working output... But much has changed since then. There is a dip switch to allow one of the DSI links to be passed onto one of the HS-connectors, but for anyone to use that they would need a mezzaine dts anyways, so they can unbond the DSIs there. Regards, Bjorn
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 3e79496292e7..dc55c3b989a4 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -139,6 +139,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-dual-dsi.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 diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts new file mode 100644 index 000000000000..4a366dedc841 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2023, Linaro Ltd. + */ + +#include "sdm845-db845c.dts" + +&dsi0 { + qcom,dual-dsi-mode; + qcom,master-dsi; +}; + +&dsi1 { + vdda-supply = <&vreg_l26a_1p2>; + + qcom,dual-dsi-mode; + + /* DSI1 is slave, so use DSI0 clocks */ + assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>; + + status = "okay"; + + ports { + port@1 { + endpoint { + remote-endpoint = <<9611_b>; + data-lanes = <0 1 2 3>; + }; + }; + }; +}; + +&dsi1_phy { + vdds-supply = <&vreg_l1a_0p875>; + status = "okay"; +}; + +<9611_codec { + ports { + port@1 { + reg = <1>; + + lt9611_b: endpoint { + remote-endpoint = <&dsi1_out>; + }; + }; + }; +};
While we are testing the DB845c working in dual DSI mode (which is required for the 4k support), create a separate device tree using this configuration. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- Dependencies to be able to verify the 4k@30 mode: [1] https://lore.kernel.org/linux-arm-msm/20221229191856.3508092-1-dmitry.baryshkov@linaro.org/ [2] https://lore.kernel.org/dri-devel/20230118081658.2198520-1-dmitry.baryshkov@linaro.org/ --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/sdm845-db845c-dual-dsi.dts | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sdm845-db845c-dual-dsi.dts