[PATCH v2 5/5] arm64: dts: freescale: imx8mp-sb-ucm: Add DSI panel overlay
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sun Mar 17 17:05:33 PDT 2024
On Sun, Mar 17, 2024 at 06:56:47PM +0200, Laurent Pinchart wrote:
> On Sun, Mar 17, 2024 at 06:48:50PM +0200, Laurent Pinchart wrote:
> > The SB-UCM-iMX8MPLUS kit is shipped with an external DSI panel. Add a
> > corresponding DT overlay.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > ---
> > arch/arm64/boot/dts/freescale/Makefile | 4 +
> > .../imx8mp-sb-ucm-panel-kd050hdfia020.dtso | 81 +++++++++++++++++++
> > 2 files changed, 85 insertions(+)
> > create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-sb-ucm-panel-kd050hdfia020.dtso
> >
> > diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> > index 02efa97fc464..d7432ce6a7bb 100644
> > --- a/arch/arm64/boot/dts/freescale/Makefile
> > +++ b/arch/arm64/boot/dts/freescale/Makefile
> > @@ -165,6 +165,10 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-icore-mx8mp-edimm2.2.dtb
> > dtb-$(CONFIG_ARCH_MXC) += imx8mp-msc-sm2s-ep1.dtb
> > dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk.dtb
> > dtb-$(CONFIG_ARCH_MXC) += imx8mp-sb-ucm.dtb
> > +
> > +imx8mp-sb-ucm-panel-kd050hdfia020-dtbs := imx8mp-sb-ucm.dtb imx8mp-sb-ucm-panel-kd050hdfia020-dtbo
> > +dtb-$(CONFIG_ARCH_MXC) += imx8mp-sb-ucm-panel-kd050hdfia020-dtb
Replying to myself, fixing the typo here with s/-dtb$/.dtb/ helps :-)
I'll send a v3 after waiting some time for review comments.
> On a side note, is there a way to selectively compile this dtb ? Running
>
> $ make dtbs
>
> will compile them all, but
>
> $ make freescale/imx8mp-sb-ucm-panel-kd050hdfia020-dtb
>
> complains with
>
> make[4]: *** No rule to make target 'arch/arm64/boot/dts/freescale/imx8mp-sb-ucm-panel-kd050hdfia020.dtb'. Stop.
> make[3]: *** [/home/laurent/src/iob/toradex/linux/scripts/Makefile.build:481: arch/arm64/boot/dts/freescale] Error 2
> make[2]: *** [/home/laurent/src/iob/toradex/linux/Makefile:1389: freescale/imx8mp-sb-ucm-panel-kd050hdfia020.dtb] Error 2
>
> I would like to compile it selectively, as running
>
> $ make dtbs CHECK_DTBS=1
>
> makes it much more time consuming to run the dtb checks.
>
> > +
> > dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-hdmi.dtb
> > dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-lt6.dtb
> > dtb-$(CONFIG_ARCH_MXC) += imx8mp-skov-revb-mi1010ait-1cp1.dtb
> > diff --git a/arch/arm64/boot/dts/freescale/imx8mp-sb-ucm-panel-kd050hdfia020.dtso b/arch/arm64/boot/dts/freescale/imx8mp-sb-ucm-panel-kd050hdfia020.dtso
> > new file mode 100644
> > index 000000000000..fdad943c1554
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/freescale/imx8mp-sb-ucm-panel-kd050hdfia020.dtso
> > @@ -0,0 +1,81 @@
> > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > +/*
> > + * Copyright 2021 CompuLab
> > + *
> > + * Device tree overlay for KD050HDFIA020-C020A panel connector to Compulab
> > + * SB-UCM-iMX8PLUS.
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/interrupt-controller/irq.h>
> > +
> > +&dsi_backlight {
> > + status = "okay";
> > +};
> > +
> > +&i2c5 {
> > + status = "okay";
> > +
> > + touch at 5d {
> > + compatible = "goodix,gt911";
> > + reg = <0x5d>;
> > +
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_dsi_touch>;
> > +
> > + interrupt-parent = <&gpio4>;
> > + interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
> > +
> > + irq-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;
> > + reset-gpios = <&pca9555 5 GPIO_ACTIVE_HIGH>;
> > + };
> > +};
> > +
> > +&lcdif1 {
> > + status = "okay";
> > +};
> > +
> > +&mipi_dsi {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + samsung,esc-clock-frequency = <20000000>;
> > + status = "okay";
> > +
> > + panel at 0 {
> > + compatible = "startek,kd050hdfia020", "ilitek,ili9881c";
> > + reg = <0>;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_dsi_panel>;
> > +
> > + reset-gpio = <&pca9555 4 GPIO_ACTIVE_LOW>;
> > + power-supply = <®_3v3_per>;
> > +
> > + backlight = <&dsi_backlight>;
> > +
> > + port {
> > + panel_in: endpoint {
> > + remote-endpoint = <&mipi_dsi_out>;
> > + data-lanes = <1 2 3 4>;
> > + };
> > + };
> > + };
> > +
> > + ports {
> > + port at 1 {
> > + reg = <1>;
> > +
> > + mipi_dsi_out: endpoint {
> > + remote-endpoint = <&panel_in>;
> > + data-lanes = <1 2 3 4>;
> > + lane-polarities = <0 0 0 0 0>;
> > + };
> > + };
> > + };
> > +};
> > +
> > +&pwm1 {
> > + status = "okay";
> > +};
--
Regards,
Laurent Pinchart
More information about the linux-arm-kernel
mailing list