[PATCH 1/2] ARM: dts: imx6dl: Add support for i.MX6DL DHCOM SoM on PDK2 carrier board

Add support for the DH electronics i.MX6DL DHCOM SoM and a PDK2 evaluation board. The evaluation board features three serial ports, USB OTG, USB host with an USB hub, Fast or Gigabit ethernet, eMMC, uSD, SD, analog audio, PCIe and HDMI video output.
All of the aforementioned features except for mSATA are supported, mSATA is not available on i.MX6DL and is only available on DHCOM populated with i.MX6Q SoC which is already supported upstream.
Backport from linux-next commit c3f5d76a6e03 ("ARM: dts: imx6dl: Add support for i.MX6DL DHCOM SoM on PDK2 carrier board")
Signed-off-by: Marek Vasut marex@denx.de Reviewed-by: Christoph Niedermaier cniedermaier@dh-electronics.com Signed-off-by: Shawn Guo shawnguo@kernel.org --- Cc: Andreas Geisreiter ageisreiter@dh-electronics.de Cc: Christoph Niedermaier cniedermaier@dh-electronics.com Cc: Fabio Estevam festevam@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Sumit Garg sumit.garg@linaro.org Cc: Tom Rini trini@konsulko.com Cc: u-boot@dh-electronics.com Cc: u-boot@lists.denx.de --- .../src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts
diff --git a/dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts b/dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts new file mode 100644 index 00000000000..38235925257 --- /dev/null +++ b/dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Marek Vasut marex@denx.de + * + * DHCOM iMX6 variant: + * DHCM-iMX6DL-C080-R102-F0819-E-SD-RTC-T-HS-I-01D2 + * DHCOM PCB number: 493-400 or newer + * PDK2 PCB number: 516-400 or newer + */ +/dts-v1/; + +#include "imx6dl.dtsi" +#include "imx6qdl-dhcom-som.dtsi" +#include "imx6qdl-dhcom-pdk2.dtsi" + +/ { + model = "DH electronics i.MX6DL DHCOM on Premium Developer Kit (2)"; + compatible = "dh,imx6dl-dhcom-pdk2", "dh,imx6dl-dhcom-som", + "fsl,imx6dl"; +};

Enable OF_UPSTREAM to use upstream DT and add nxp/imx/ prefix to the DEFAULT_DEVICE_TREE. And thereby directly build DTB from dts/upstream/src/ including *-u-boot.dtsi files from arch/$(ARCH)/dts/ directory.
Signed-off-by: Marek Vasut marex@denx.de --- Cc: Andreas Geisreiter ageisreiter@dh-electronics.de Cc: Christoph Niedermaier cniedermaier@dh-electronics.com Cc: Fabio Estevam festevam@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Sumit Garg sumit.garg@linaro.org Cc: Tom Rini trini@konsulko.com Cc: u-boot@dh-electronics.com Cc: u-boot@lists.denx.de --- arch/arm/dts/Makefile | 6 +----- arch/arm/dts/imx6dl-dhcom-pdk2.dts | 15 -------------- arch/arm/dts/imx6dl-dhcom-picoitx.dts | 20 ------------------ arch/arm/dts/imx6q-dhcom-pdk2.dts | 25 ---------------------- arch/arm/dts/imx6s-dhcom-drc02.dts | 30 --------------------------- configs/dh_imx6_defconfig | 5 +++-- 6 files changed, 4 insertions(+), 97 deletions(-) delete mode 100644 arch/arm/dts/imx6dl-dhcom-pdk2.dts delete mode 100644 arch/arm/dts/imx6dl-dhcom-picoitx.dts delete mode 100644 arch/arm/dts/imx6q-dhcom-pdk2.dts delete mode 100644 arch/arm/dts/imx6s-dhcom-drc02.dts
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index aeccfa93fc5..6ecc7bbdf25 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -778,8 +778,6 @@ dtb-y += \ imx6dl-cubox-i.dtb \ imx6dl-cubox-i-emmc-som-v15.dtb \ imx6dl-cubox-i-som-v15.dtb \ - imx6dl-dhcom-pdk2.dtb \ - imx6dl-dhcom-picoitx.dts \ imx6dl-gw51xx.dtb \ imx6dl-gw52xx.dtb \ imx6dl-gw53xx.dtb \ @@ -811,8 +809,7 @@ dtb-y += \ imx6dl-sabreauto.dtb \ imx6dl-sabresd.dtb \ imx6dl-sielaff.dtb \ - imx6dl-wandboard-revd1.dtb \ - imx6s-dhcom-drc02.dtb + imx6dl-wandboard-revd1.dtb
endif
@@ -824,7 +821,6 @@ dtb-y += \ imx6q-cubox-i.dtb \ imx6q-cubox-i-emmc-som-v15.dtb \ imx6q-cubox-i-som-v15.dtb \ - imx6q-dhcom-pdk2.dtb \ imx6q-display5.dtb \ imx6q-gw51xx.dtb \ imx6q-gw52xx.dtb \ diff --git a/arch/arm/dts/imx6dl-dhcom-pdk2.dts b/arch/arm/dts/imx6dl-dhcom-pdk2.dts deleted file mode 100644 index d59687490cf..00000000000 --- a/arch/arm/dts/imx6dl-dhcom-pdk2.dts +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: (GPL-2.0+) -/* - * Copyright (C) 2019 DH electronics GmbH - */ - -/dts-v1/; - -#include "imx6dl.dtsi" -#include "imx6qdl-dhcom-som.dtsi" -#include "imx6qdl-dhcom-pdk2.dtsi" - -/ { - model = "Freescale i.MX6 Duallite/Solo DHCOM Premium Developer Kit (2)"; - compatible = "dh,imx6dl-dhcom-pdk2", "dh,imx6dl-dhcom", "fsl,imx6dl"; -}; diff --git a/arch/arm/dts/imx6dl-dhcom-picoitx.dts b/arch/arm/dts/imx6dl-dhcom-picoitx.dts deleted file mode 100644 index 038bb002555..00000000000 --- a/arch/arm/dts/imx6dl-dhcom-picoitx.dts +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2021 DH electronics GmbH - * - * DHCOM iMX6 variant: - * DHCM-iMX6DL-C0800-R102-F0819-E-SD-RTC-T-HS-I-01D2 - * DHCOM PCB number: 493-300 or newer - * PicoITX PCB number: 487-600 or newer - */ -/dts-v1/; - -#include "imx6dl.dtsi" -#include "imx6qdl-dhcom-som.dtsi" -#include "imx6qdl-dhcom-picoitx.dtsi" - -/ { - model = "DH electronics i.MX6DL DHCOM on PicoITX"; - compatible = "dh,imx6dl-dhcom-picoitx", "dh,imx6dl-dhcom-som", - "fsl,imx6dl"; -}; diff --git a/arch/arm/dts/imx6q-dhcom-pdk2.dts b/arch/arm/dts/imx6q-dhcom-pdk2.dts deleted file mode 100644 index d4d57370615..00000000000 --- a/arch/arm/dts/imx6q-dhcom-pdk2.dts +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2015-2021 DH electronics GmbH - * Copyright (C) 2018 Marek Vasut marex@denx.de - * - * DHCOM iMX6 variant: - * DHCM-iMX6Q-C0800-R102-F0819-E-SD-RTC-T-HS-I-01D2 - * DHCOM PCB number: 493-300 or newer - * PDK2 PCB number: 516-400 or newer - */ -/dts-v1/; - -#include "imx6q.dtsi" -#include "imx6qdl-dhcom-som.dtsi" -#include "imx6qdl-dhcom-pdk2.dtsi" - -/ { - model = "DH electronics i.MX6Q DHCOM on Premium Developer Kit (2)"; - compatible = "dh,imx6q-dhcom-pdk2", "dh,imx6q-dhcom-som", - "fsl,imx6q"; -}; - -&sata { - status = "okay"; -}; diff --git a/arch/arm/dts/imx6s-dhcom-drc02.dts b/arch/arm/dts/imx6s-dhcom-drc02.dts deleted file mode 100644 index 4077b607c29..00000000000 --- a/arch/arm/dts/imx6s-dhcom-drc02.dts +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2021 DH electronics GmbH - * - * DHCOM iMX6 variant: - * DHCM-iMX6S-C0800-R102-F0409-E-CAN2-RTC-I-01D2 - * DHCOM PCB number: 493-400 or newer - * DRC02 PCB number: 568-100 or newer - */ -/dts-v1/; - -/* - * The kernel only distinguishes between i.MX6 Quad and DualLite, - * but the Solo is actually a DualLite with only one CPU. So use - * DualLite for the Solo and disable one CPU node. - */ - -#include "imx6dl.dtsi" -#include "imx6qdl-dhcom-som.dtsi" -#include "imx6qdl-dhcom-drc02.dtsi" - -/ { - model = "DH electronics i.MX6S DHCOM on DRC02"; - compatible = "dh,imx6s-dhcom-drc02", "dh,imx6s-dhcom-som", - "fsl,imx6dl"; - - cpus { - /delete-node/ cpu@1; - }; -}; diff --git a/configs/dh_imx6_defconfig b/configs/dh_imx6_defconfig index 468ec3805f6..43ac5a567ba 100644 --- a/configs/dh_imx6_defconfig +++ b/configs/dh_imx6_defconfig @@ -5,11 +5,12 @@ CONFIG_ARCH_MX6=y CONFIG_MX6QDL=y CONFIG_TARGET_DHCOMIMX6=y CONFIG_SPL_SYS_L2_PL310=y -CONFIG_DEFAULT_DEVICE_TREE="imx6q-dhcom-pdk2" +CONFIG_DEFAULT_DEVICE_TREE="nxp/imx/imx6q-dhcom-pdk2" CONFIG_MX6_DDRCAL=y CONFIG_NR_DRAM_BANKS=1 CONFIG_OF_LIBFDT_OVERLAY=y -CONFIG_OF_LIST="imx6q-dhcom-pdk2 imx6dl-dhcom-pdk2 imx6s-dhcom-drc02 imx6dl-dhcom-picoitx" +CONFIG_OF_LIST="nxp/imx/imx6q-dhcom-pdk2 nxp/imx/imx6dl-dhcom-pdk2 nxp/imx/imx6s-dhcom-drc02 nxp/imx/imx6dl-dhcom-picoitx" +CONFIG_OF_UPSTREAM=y CONFIG_FIT_VERBOSE=y CONFIG_MULTI_DTB_FIT=y CONFIG_LTO=y

On Tue, Nov 5, 2024 at 8:08 PM Marek Vasut marex@denx.de wrote:
Add support for the DH electronics i.MX6DL DHCOM SoM and a PDK2 evaluation board. The evaluation board features three serial ports, USB OTG, USB host with an USB hub, Fast or Gigabit ethernet, eMMC, uSD, SD, analog audio, PCIe and HDMI video output.
All of the aforementioned features except for mSATA are supported, mSATA is not available on i.MX6DL and is only available on DHCOM populated with i.MX6Q SoC which is already supported upstream.
Backport from linux-next commit c3f5d76a6e03 ("ARM: dts: imx6dl: Add support for i.MX6DL DHCOM SoM on PDK2 carrier board")
Signed-off-by: Marek Vasut marex@denx.de Reviewed-by: Christoph Niedermaier cniedermaier@dh-electronics.com Signed-off-by: Shawn Guo shawnguo@kernel.org
Applied both, thanks.

Hi Marek,
On Wed, 6 Nov 2024 at 04:37, Marek Vasut marex@denx.de wrote:
Add support for the DH electronics i.MX6DL DHCOM SoM and a PDK2 evaluation board. The evaluation board features three serial ports, USB OTG, USB host with an USB hub, Fast or Gigabit ethernet, eMMC, uSD, SD, analog audio, PCIe and HDMI video output.
All of the aforementioned features except for mSATA are supported, mSATA is not available on i.MX6DL and is only available on DHCOM populated with i.MX6Q SoC which is already supported upstream.
Backport from linux-next commit c3f5d76a6e03 ("ARM: dts: imx6dl: Add support for i.MX6DL DHCOM SoM on PDK2 carrier board")
Signed-off-by: Marek Vasut marex@denx.de Reviewed-by: Christoph Niedermaier cniedermaier@dh-electronics.com Signed-off-by: Shawn Guo shawnguo@kernel.org
Cc: Andreas Geisreiter ageisreiter@dh-electronics.de Cc: Christoph Niedermaier cniedermaier@dh-electronics.com Cc: Fabio Estevam festevam@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Sumit Garg sumit.garg@linaro.org Cc: Tom Rini trini@konsulko.com Cc: u-boot@dh-electronics.com Cc: u-boot@lists.denx.de
.../src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts
I didn't realize earlier that this patch is directly modifying dts/upstream subtree. Modifying the subtree is likely going to cause conflicts with the next subtree pull. It looks like this board is targeted for v6.13 release. Let's see if we get lucky with automerge being successful for this one but let's try to rather use cherry pick or wait for the board support to land in devicetree-rebasing tree. You can maintain U-Boot DTS for the time being.
-Sumit
diff --git a/dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts b/dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts new file mode 100644 index 00000000000..38235925257 --- /dev/null +++ b/dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright (C) 2024 Marek Vasut marex@denx.de
- DHCOM iMX6 variant:
- DHCM-iMX6DL-C080-R102-F0819-E-SD-RTC-T-HS-I-01D2
- DHCOM PCB number: 493-400 or newer
- PDK2 PCB number: 516-400 or newer
- */
+/dts-v1/;
+#include "imx6dl.dtsi" +#include "imx6qdl-dhcom-som.dtsi" +#include "imx6qdl-dhcom-pdk2.dtsi"
+/ {
model = "DH electronics i.MX6DL DHCOM on Premium Developer Kit (2)";
compatible = "dh,imx6dl-dhcom-pdk2", "dh,imx6dl-dhcom-som",
"fsl,imx6dl";
+};
2.45.2

On 11/29/24 8:12 AM, Sumit Garg wrote:
Hi Marek,
On Wed, 6 Nov 2024 at 04:37, Marek Vasut marex@denx.de wrote:
Add support for the DH electronics i.MX6DL DHCOM SoM and a PDK2 evaluation board. The evaluation board features three serial ports, USB OTG, USB host with an USB hub, Fast or Gigabit ethernet, eMMC, uSD, SD, analog audio, PCIe and HDMI video output.
All of the aforementioned features except for mSATA are supported, mSATA is not available on i.MX6DL and is only available on DHCOM populated with i.MX6Q SoC which is already supported upstream.
Backport from linux-next commit c3f5d76a6e03 ("ARM: dts: imx6dl: Add support for i.MX6DL DHCOM SoM on PDK2 carrier board")
Signed-off-by: Marek Vasut marex@denx.de Reviewed-by: Christoph Niedermaier cniedermaier@dh-electronics.com Signed-off-by: Shawn Guo shawnguo@kernel.org
Cc: Andreas Geisreiter ageisreiter@dh-electronics.de Cc: Christoph Niedermaier cniedermaier@dh-electronics.com Cc: Fabio Estevam festevam@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Sumit Garg sumit.garg@linaro.org Cc: Tom Rini trini@konsulko.com Cc: u-boot@dh-electronics.com Cc: u-boot@lists.denx.de
.../src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 dts/upstream/src/arm/nxp/imx/imx6dl-dhcom-pdk2.dts
I didn't realize earlier that this patch is directly modifying dts/upstream subtree.
That's what Tom suggested.
Modifying the subtree is likely going to cause conflicts with the next subtree pull. It looks like this board is targeted for v6.13 release. Let's see if we get lucky with automerge being successful for this one but let's try to rather use cherry pick or wait for the board support to land in devicetree-rebasing tree. You can maintain U-Boot DTS for the time being.
I suspect this patch will simply disappear on next sync , let me know if it doesn't or causes any problems.
participants (3)
-
Fabio Estevam
-
Marek Vasut
-
Sumit Garg