From: Fabio Estevam Date: Fri, 17 Apr 2020 12:27:09 +0000 (-0300) Subject: wandboard: Fix version detection for mx6q/mx6dl revD1 X-Git-Tag: v2020.07-rc1~30^2~14 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4c13a4db60b4d570ea8cc496d02e5ea31adf27f0;p=oweals%2Fu-boot.git wandboard: Fix version detection for mx6q/mx6dl revD1 The detection of the revD1 version is based on the presence of the PMIC. Currently revb1 device trees are used for mx6q/mx6dl variants, which do not have the PMIC nodes. This causes revD1 boards to be incorrectly be detected as revB1. Fix this issue by using the revd1 device trees, so that the PMIC node can be found and then the PMIC can be detected by reading its register ID. Imported the revd1 device trees from mainline kernel version 5.7-rc1. Reported-by: Heiko Schocher Reported-by: Derek Atkins Signed-off-by: Fabio Estevam Tested-by: Derek Atkins Tested-by: Heiko Schocher Tested-by: Peter Robinson --- diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index e6262c9f19..f28da2174a 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -627,7 +627,7 @@ dtb-y += \ imx6dl-pico.dtb \ imx6dl-sabreauto.dtb \ imx6dl-sabresd.dtb \ - imx6dl-wandboard-revb1.dtb \ + imx6dl-wandboard-revd1.dtb \ endif @@ -661,7 +661,7 @@ dtb-y += \ imx6q-sabrelite.dtb \ imx6q-sabresd.dtb \ imx6q-tbs2910.dtb \ - imx6q-wandboard-revb1.dtb \ + imx6q-wandboard-revd1.dtb \ imx6qp-sabreauto.dtb \ imx6qp-sabresd.dtb \ imx6qp-wandboard-revd1.dtb \ diff --git a/arch/arm/dts/imx6dl-wandboard-revb1.dts b/arch/arm/dts/imx6dl-wandboard-revb1.dts deleted file mode 100644 index c2946fbaa0..0000000000 --- a/arch/arm/dts/imx6dl-wandboard-revb1.dts +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Copyright 2013 Freescale Semiconductor, Inc. - * - * Author: Fabio Estevam - */ -/dts-v1/; -#include "imx6dl.dtsi" -#include "imx6qdl-wandboard-revb1.dtsi" - -/ { - model = "Wandboard i.MX6 Dual Lite Board rev B1"; - compatible = "wand,imx6dl-wandboard", "fsl,imx6dl"; - - memory@10000000 { - device_type = "memory"; - reg = <0x10000000 0x40000000>; - }; -}; diff --git a/arch/arm/dts/imx6dl-wandboard-revd1.dts b/arch/arm/dts/imx6dl-wandboard-revd1.dts new file mode 100644 index 0000000000..6d1d863c2e --- /dev/null +++ b/arch/arm/dts/imx6dl-wandboard-revd1.dts @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2013 Freescale Semiconductor, Inc. + * + * Author: Fabio Estevam + */ +/dts-v1/; +#include "imx6dl.dtsi" +#include "imx6qdl-wandboard-revd1.dtsi" + +/ { + model = "Wandboard i.MX6 Dual Lite Board revD1"; + compatible = "wand,imx6dl-wandboard", "fsl,imx6dl"; + + memory@10000000 { + device_type = "memory"; + reg = <0x10000000 0x40000000>; + }; +}; diff --git a/arch/arm/dts/imx6q-wandboard-revb1.dts b/arch/arm/dts/imx6q-wandboard-revb1.dts deleted file mode 100644 index f6ccbecff9..0000000000 --- a/arch/arm/dts/imx6q-wandboard-revb1.dts +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Copyright 2013 Freescale Semiconductor, Inc. - * - * Author: Fabio Estevam - */ -/dts-v1/; -#include "imx6q.dtsi" -#include "imx6qdl-wandboard-revb1.dtsi" - -/ { - model = "Wandboard i.MX6 Quad Board rev B1"; - compatible = "wand,imx6q-wandboard", "fsl,imx6q"; - - memory@10000000 { - device_type = "memory"; - reg = <0x10000000 0x80000000>; - }; -}; - -&sata { - status = "okay"; -}; diff --git a/arch/arm/dts/imx6q-wandboard-revd1.dts b/arch/arm/dts/imx6q-wandboard-revd1.dts new file mode 100644 index 0000000000..55331021d8 --- /dev/null +++ b/arch/arm/dts/imx6q-wandboard-revd1.dts @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright 2013 Freescale Semiconductor, Inc. + * + * Author: Fabio Estevam + */ +/dts-v1/; +#include "imx6q.dtsi" +#include "imx6qdl-wandboard-revd1.dtsi" + +/ { + model = "Wandboard i.MX6 Quad Board revD1"; + compatible = "wand,imx6q-wandboard", "fsl,imx6q"; + + memory@10000000 { + device_type = "memory"; + reg = <0x10000000 0x80000000>; + }; +}; + +&sata { + status = "okay"; +}; diff --git a/board/wandboard/wandboard.c b/board/wandboard/wandboard.c index 5725c5816c..90957167b2 100644 --- a/board/wandboard/wandboard.c +++ b/board/wandboard/wandboard.c @@ -484,13 +484,13 @@ int checkboard(void) int board_fit_config_name_match(const char *name) { if (is_mx6dq()) { - if (!strcmp(name, "imx6q-wandboard-revb1")) + if (!strcmp(name, "imx6q-wandboard-revd1")) return 0; } else if (is_mx6dqp()) { if (!strcmp(name, "imx6qp-wandboard-revd1")) return 0; } else if (is_mx6dl() || is_mx6solo()) { - if (!strcmp(name, "imx6dl-wandboard-revb1")) + if (!strcmp(name, "imx6dl-wandboard-revd1")) return 0; } diff --git a/configs/wandboard_defconfig b/configs/wandboard_defconfig index 82e517b90f..ee70758f3a 100644 --- a/configs/wandboard_defconfig +++ b/configs/wandboard_defconfig @@ -46,8 +46,8 @@ CONFIG_CMD_BMP=y CONFIG_CMD_CACHE=y CONFIG_CMD_EXT4_WRITE=y CONFIG_OF_CONTROL=y -CONFIG_DEFAULT_DEVICE_TREE="imx6dl-wandboard-revb1" -CONFIG_OF_LIST="imx6q-wandboard-revb1 imx6qp-wandboard-revd1 imx6dl-wandboard-revb1" +CONFIG_DEFAULT_DEVICE_TREE="imx6dl-wandboard-revd1" +CONFIG_OF_LIST="imx6q-wandboard-revd1 imx6qp-wandboard-revd1 imx6dl-wandboard-revd1" CONFIG_MULTI_DTB_FIT=y CONFIG_ENV_IS_IN_MMC=y CONFIG_SYS_RELOC_GD_ENV_ADDR=y