diff options
author | Philippe Schenker <philippe.schenker@toradex.com> | 2021-08-10 13:55:11 +0200 |
---|---|---|
committer | Philippe Schenker <philippe.schenker@toradex.com> | 2021-08-11 13:58:56 +0200 |
commit | cca85a46277da7834ea3522bb5a3e9ba7922d68b (patch) | |
tree | 114bb3bb93cfb1f07850e85922b389d6a0ee5305 | |
parent | 39bd8243e9073dfb7e961fee119d3c0287011c21 (diff) |
ARM64: dts: colibri-imx8qxp: add lvds example device trees
This commit adds two example device trees for how to enable LVDS on a
Colibri-iMX8X. It only enables also UART and Ethernet otherwise.
Related-to: SSP-6
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
3 files changed, 205 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 51a1301f3254..9e8d7381fa9b 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -171,6 +171,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb imx8qxp-mek-dsp.dtb imx8qxp-mek-ov5640 imx8qxp-colibri-aster.dtb \ imx8qxp-colibri-dsihdmi-eval-v3.dtb \ imx8qxp-colibri-eval-v3.dtb \ + imx8qxp-colibri-lvds-single-channel.dtb \ + imx8qxp-colibri-lvds-dual-channel.dtb \ imx8qxp-apalis-eval.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek-dom0.dtb imx8qxp-mek-root.dtb \ imx8qxp-mek-inmate.dtb diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-dual-channel.dts b/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-dual-channel.dts new file mode 100644 index 000000000000..1cd7e3038ba9 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-dual-channel.dts @@ -0,0 +1,102 @@ +// SPDX-License-Identifier: GPL-2.0+ OR X11 +/* + * Copyright 2018-2020 Toradex + */ + +/dts-v1/; + +#include "imx8qxp-colibri.dtsi" + +/ { + model = "Toradex Colibri iMX8QXP/DX on LVDS Embedded World Demo"; + compatible = "toradex,colibri-imx8x-lvds-demo", + "toradex,colibri-imx8x", + "fsl,imx8qxp"; + + panel_lvds: panel-lvds { + compatible = "panel-lvds"; + backlight = <&backlight>; + status = "okay"; + + panel-timing { + clock-frequency = <138500000>; + hactive = <1920>; + vactive = <1080>; + hback-porch = <80>; + hfront-porch = <48>; + vback-porch = <23>; + vfront-porch = <3>; + hsync-len = <32>; + vsync-len = <5>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + + port { + panel_lvds_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; +}; + +&adma_pwm { + status = "okay"; +}; + +&adma_pwm_lpcg { + status = "okay"; +}; + +&backlight { + pinctrl-0 = <&pinctrl_gpio_hpd>; + enable-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>; /* Colibri BL_ON */ + status = "okay"; +}; + +/* Colibri FastEthernet */ +&fec1 { + status = "okay"; +}; + +&ldb1 { + fsl,dual-channel; + status = "okay"; + + lvds-channel@0 { + fsl,data-mapping = "jeida"; + fsl,data-width = <24>; + status = "okay"; + + port@1 { + reg = <1>; + + lvds0_out: endpoint { + remote-endpoint = <&panel_lvds_in>; + }; + }; + }; +}; + +&ldb1_phy { + status = "okay"; +}; + +&ldb2 { + status = "disabled"; +}; + +&ldb2_phy { + status = "okay"; +}; + +/* Colibri UART_A */ +&lpuart3 { + status= "okay"; +}; + +&mipi0_dphy { + status = "okay"; +}; + diff --git a/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-single-channel.dts b/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-single-channel.dts new file mode 100644 index 000000000000..ebe216349171 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qxp-colibri-lvds-single-channel.dts @@ -0,0 +1,101 @@ +// SPDX-License-Identifier: GPL-2.0+ OR X11 +/* + * Copyright 2018-2020 Toradex + */ + +/dts-v1/; + +#include "imx8qxp-colibri.dtsi" + +/ { + model = "Toradex Colibri iMX8QXP/DX on LVDS Embedded World Demo"; + compatible = "toradex,colibri-imx8x-lvds-demo", + "toradex,colibri-imx8x", + "fsl,imx8qxp"; + + panel_lvds: panel-lvds { + compatible = "panel-lvds"; + backlight = <&backlight>; + data-mapping = "vesa-24"; + width-mm = <217>; + height-mm = <136>; + + status = "okay"; + + panel-timing { + clock-frequency = <68930000>; + hactive = <1280>; + vactive = <800>; + hback-porch = <64>; + hfront-porch = <64>; + vback-porch = <5>; + vfront-porch = <5>; + hsync-len = <40>; + vsync-len = <6>; + hsync-active = <0>; + vsync-active = <0>; + pixelclk-active = <0>; + }; + + port { + panel_lvds_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; +}; + +&adma_pwm { + status = "okay"; +}; + +&adma_pwm_lpcg { + status = "okay"; +}; + +&backlight { + pinctrl-0 = <&pinctrl_gpio_hpd>; + enable-gpios = <&lsio_gpio1 31 GPIO_ACTIVE_HIGH>; /* Colibri BL_ON */ + status = "okay"; +}; + +/* Colibri FastEthernet */ +&fec1 { + status = "okay"; +}; + +&ldb1 { + status = "okay"; + + lvds-channel@0 { + fsl,data-mapping = "spwg"; + fsl,data-width = <24>; + status = "okay"; + + port@1 { + reg = <1>; + + lvds0_out: endpoint { + remote-endpoint = <&panel_lvds_in>; + }; + }; + }; +}; + +&ldb1_phy { + status = "okay"; +}; + +&ldb2 { + status = "disabled"; +}; + +/* Colibri UART_A */ +&lpuart3 { + status= "okay"; +}; + +&mipi0_dphy { + status = "okay"; +}; + |