[PATCH v2 1/5] wandboard: Fix version detection for mx6q/mx6dl revD1

Peter Robinson pbrobinson at gmail.com
Fri Apr 17 18:09:16 CEST 2020


On Fri, Apr 17, 2020 at 1:32 PM Fabio Estevam <festevam at gmail.com> wrote:
>
> 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 <hs at denx.de>
> Reported-by: Derek Atkins <derek at ihtfp.com>
> Signed-off-by: Fabio Estevam <festevam at gmail.com>
> Tested-by: Derek Atkins <derek at ihtfp.com>

Tested-by: Peter Robinson <pbrobinson at gmail.com>

Series is tested on a B1 and a C1

> ---
> Changes since v1:
> - Also use the revd1 dtb's inside board_fit_config_name_match(), which
> fixes truncated console output on i.MX6DL wandboard as reported by Heiko.
> - Added Tested-by from Derek as he confirmed it works on a imx6q revd1.
>
>  arch/arm/dts/Makefile                                         | 4 ++--
>  ...{imx6dl-wandboard-revb1.dts => imx6dl-wandboard-revd1.dts} | 4 ++--
>  .../{imx6q-wandboard-revb1.dts => imx6q-wandboard-revd1.dts}  | 4 ++--
>  board/wandboard/wandboard.c                                   | 4 ++--
>  configs/wandboard_defconfig                                   | 4 ++--
>  5 files changed, 10 insertions(+), 10 deletions(-)
>  rename arch/arm/dts/{imx6dl-wandboard-revb1.dts => imx6dl-wandboard-revd1.dts} (78%)
>  rename arch/arm/dts/{imx6q-wandboard-revb1.dts => imx6q-wandboard-revd1.dts} (80%)
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index 820ee9733a..2a71917c92 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -622,7 +622,7 @@ dtb-y += \
>         imx6dl-pico.dtb \
>         imx6dl-sabreauto.dtb \
>         imx6dl-sabresd.dtb \
> -       imx6dl-wandboard-revb1.dtb \
> +       imx6dl-wandboard-revd1.dtb \
>
>  endif
>
> @@ -654,7 +654,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-revd1.dts
> similarity index 78%
> rename from arch/arm/dts/imx6dl-wandboard-revb1.dts
> rename to arch/arm/dts/imx6dl-wandboard-revd1.dts
> index c2946fbaa0..6d1d863c2e 100644
> --- a/arch/arm/dts/imx6dl-wandboard-revb1.dts
> +++ b/arch/arm/dts/imx6dl-wandboard-revd1.dts
> @@ -6,10 +6,10 @@
>   */
>  /dts-v1/;
>  #include "imx6dl.dtsi"
> -#include "imx6qdl-wandboard-revb1.dtsi"
> +#include "imx6qdl-wandboard-revd1.dtsi"
>
>  / {
> -       model = "Wandboard i.MX6 Dual Lite Board rev B1";
> +       model = "Wandboard i.MX6 Dual Lite Board revD1";
>         compatible = "wand,imx6dl-wandboard", "fsl,imx6dl";
>
>         memory at 10000000 {
> diff --git a/arch/arm/dts/imx6q-wandboard-revb1.dts b/arch/arm/dts/imx6q-wandboard-revd1.dts
> similarity index 80%
> rename from arch/arm/dts/imx6q-wandboard-revb1.dts
> rename to arch/arm/dts/imx6q-wandboard-revd1.dts
> index f6ccbecff9..55331021d8 100644
> --- a/arch/arm/dts/imx6q-wandboard-revb1.dts
> +++ b/arch/arm/dts/imx6q-wandboard-revd1.dts
> @@ -6,10 +6,10 @@
>   */
>  /dts-v1/;
>  #include "imx6q.dtsi"
> -#include "imx6qdl-wandboard-revb1.dtsi"
> +#include "imx6qdl-wandboard-revd1.dtsi"
>
>  / {
> -       model = "Wandboard i.MX6 Quad Board rev B1";
> +       model = "Wandboard i.MX6 Quad Board revD1";
>         compatible = "wand,imx6q-wandboard", "fsl,imx6q";
>
>         memory at 10000000 {
> 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
> --
> 2.17.1
>


More information about the U-Boot mailing list