Re: [PATCH v3 7/8] arm64: dts: freescale: Add the BOE av101hdt-a10 variant of the Moduline Displayy

From: Frank Li
Date: Fri Mar 28 2025 - 11:34:47 EST


On Fri, Mar 28, 2025 at 07:37:34AM +0000, Maud Spierings | GOcontroll wrote:
> Sent: Thursday, March 27, 2025 5:31 PM
> To: Maud Spierings | GOcontroll <maudspierings@xxxxxxxxxxxxxx>
>  
> > On Thu, Mar 27, 2025 at 04:52:42PM +0100, Maud Spierings via B4 Relay wrote:
> >> From: Maud Spierings <maudspierings@xxxxxxxxxxxxxx>
> >>
> >> Add the BOE av101hdt-a10 variant of the Moduline Display, this variant
> >> comes with a 10.1 1280x720 display with a touchscreen (not working in
> >> mainline).
> >>
> >> Signed-off-by: Maud Spierings <maudspierings@xxxxxxxxxxxxxx>
> >>
> >> ---
> >> Currently the backlight driver is not available, this will be upstreamed
> >> in a future patch series. It is a Maxim max25014atg.
> >>
> >> The touchscreen has a Cypress CYAT81658-64AS48 controller which as far as
> >> I know is not supported upstream, the driver we currently use for this is
> >> a mess and I doubt we will be able to get it in an upstreamable state.
> >> ---
> >> ...tx8p-ml81-moduline-display-106-av101hdt-a10.dts | 100 +++++++++++++++++++++
> >> 1 file changed, 100 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av101hdt-a10.dts b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av101hdt-a10.dts
> >> new file mode 100644
> >> index 0000000000000000000000000000000000000000..1917e22001a1815a6540f00cf039ff352801cda8
> >> --- /dev/null
> >> +++ b/arch/arm64/boot/dts/freescale/imx8mp-tx8p-ml81-moduline-display-106-av101hdt-a10.dts
> >
> > why not use dt overlay to handle difference dsplay module.
> >
> > Frank
>
> This may just be me not being very familiar with overlays, how they work
> and when to use them. I guess the advantage is saving some spaces in not
> having the base board dtsi copied in two dtbs on the target right?
>
> I am still quite new to all of this, so any info on when to use what is
> greatly appreciated.

Overlay help change NxM problem to N + M.

for example, if you have one "compatible = "boe,av101hdt-a10";" overlay file
BOE.dtso

there are N' type boards, such as iMX8MP-tx8p, iMX8MP-tx9p, ...

You only apply overlay BOE.dtso to iMX8MP-tx8p.dtb.
BOE.dtso to iMX8MP-tx9p
....

So needn't create NxM dtb files.

There are many dtso file under freescale, which you can ref

Frank

>
> >> @@ -0,0 +1,100 @@
> >> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> >> +/*
> >> + * Copyright 2025 GOcontroll B.V.
> >> + * Author: Maud Spierings <maudspierings@xxxxxxxxxxxxxx>
> >> + */
> >> +
> >> +/dts-v1/;
> >> +
> >> +#include "imx8mp-tx8p-ml81-moduline-display-106.dtsi"
> >> +
> >> +/ {
> >> + model = "GOcontroll Moduline Display with BOE av101hdt-a10 display";
> >> +
> >> + panel {
> >> + compatible = "boe,av101hdt-a10";
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&pinctrl_panel>;
> >> + enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
> >> + reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
> >> + power-supply = <&reg_3v3_per>;
> >> +
> >> + port {
> >> + panel_lvds_in: endpoint {
> >> + remote-endpoint = <&ldb_lvds_ch0>;
> >> + };
> >> + };
> >> + };
> >> +
> >> + reg_vbus: regulator-vbus {
> >> + compatible = "regulator-fixed";
> >> + regulator-name = "usb-c-vbus";
> >> + regulator-min-microvolt = <5000000>;
> >> + regulator-max-microvolt = <5000000>;
> >> + power-supply = <&reg_6v4>;
> >> + regulator-always-on;
> >> + };
> >> +};
> >> +
> >> +&lcdif2 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&usb3_1 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&usb3_phy1 {
> >> + status = "okay";
> >> +};
> >> +
> >> +&usb_dwc3_1 {
> >> + dr_mode = "host";
> >> +
> >> + port {
> >> + usb1_hs_ep: endpoint {
> >> + remote-endpoint = <&high_speed_ep>;
> >> + };
> >> + };
> >> +
> >> + connector {
> >> + compatible = "usb-c-connector";
> >> + pd-disable;
> >> + data-role = "host";
> >> + vbus-supply = <&reg_vbus>;
> >> +
> >> + port {
> >> + high_speed_ep: endpoint {
> >> + remote-endpoint = <&usb1_hs_ep>;
> >> + };
> >> + };
> >> + };
> >> +};
> >> +
> >> +&lvds_bridge {
> >> + assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
> >> + <&clk IMX8MP_VIDEO_PLL1>;
> >
> > fix indentation.
>
> Just put it on one line as it fits within the 80 columns
>
> >> + assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>;
> >> + /* IMX8MP_VIDEO_PLL1 = IMX8MP_CLK_MEDIA_DISP2_PIX * 2 * 7 */
> >> + assigned-clock-rates = <0>, <1054620000>;
> >> + status = "okay";
> >> +
> >> + ports {
> >> + port@1 {
> >> + ldb_lvds_ch0: endpoint {
> >> + remote-endpoint = <&panel_lvds_in>;
> >> + };
> >> + };
> >> + };
> >> +};
> >> +
> >> +&iomuxc {
> >> + pinctrl_panel: panelgrp {
> >> + fsl,pins = <
> >> + MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 /* COM pin 157 */
> >> + MX8MP_DSE_X1
> >> + MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 /* COM pin 159 */
> >> + MX8MP_DSE_X1
> >> + >;
> >> + };
> >> +};
> >>
> >> --
> >> 2.49.0
> >>
> >>
>
> Kind Regards,
> Maud