[U-Boot] [PATCH v1] apalis-tk1: support v1.2 hardware revision

Igor Opaniuk igor.opaniuk at toradex.com
Fri Aug 9 10:33:06 UTC 2019


Hi Tom,

On Fri, Aug 9, 2019 at 1:22 PM Igor Opaniuk <igor.opaniuk at gmail.com> wrote:
>
> From: Marcel Ziswiler <marcel.ziswiler at toradex.com>
>
> Support the V1.2 hardware revision with the following pin muxing
> changes:
>
> Ddc_scl_pv4 and ddc_sda_pv5 previously used as Apalis GPIO3 and GPIO4
> are now used as DDC pins.
>
> Gen2_i2c_scl_pt5 and gen2_i2c_sda_pt6 previously used as DDC pins are
> now used as USB power enable signals.
>
> Usb_vbus_en0_pn4 and usb_vbus_en1_pn5 previously used as USB power
> enable signals are now used as GPIO3 and GPIO4.
>
> Additionally a new device tree file tegra124-apalis-v1.2-eval.dtb is
> loaded on V1.2 and later modules and resp. USB power enable signals
> activated.
>
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> Signed-off-by: Igor Opaniuk <igor.opaniuk at toradex.com>
> ---
>
>  arch/arm/dts/tegra124-apalis.dts              | 89 ++++++++++---------
>  board/toradex/apalis-tk1/apalis-tk1.c         | 37 ++++++++
>  .../apalis-tk1/pinmux-config-apalis-tk1.h     | 19 ++--
>  configs/apalis-tk1_defconfig                  |  2 +-
>  include/configs/apalis-tk1.h                  | 12 ++-
>  5 files changed, 103 insertions(+), 56 deletions(-)
>
> diff --git a/arch/arm/dts/tegra124-apalis.dts b/arch/arm/dts/tegra124-apalis.dts
> index a962c0a2f0..08184ab3ac 100644
> --- a/arch/arm/dts/tegra124-apalis.dts
> +++ b/arch/arm/dts/tegra124-apalis.dts
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright 2016 Toradex AG
> + * Copyright 2016-2019 Toradex AG
>   *
>   * This file is dual-licensed: you can use it either under the terms
>   * of the GPL or the X11 license, at your option. Note that this dual
> @@ -230,19 +230,21 @@
>                         };
>
>                         /* Apalis GPIO */
> -                       ddc_scl_pv4 {
> -                               nvidia,pins = "ddc_scl_pv4";
> +                       usb_vbus_en0_pn4 {
> +                               nvidia,pins = "usb_vbus_en0_pn4";
>                                 nvidia,function = "rsvd2";
>                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
> +                               nvidia,open-drain = <TEGRA_PIN_DISABLE>;
>                         };
> -                       ddc_sda_pv5 {
> -                               nvidia,pins = "ddc_sda_pv5";
> +                       usb_vbus_en1_pn5 {
> +                               nvidia,pins = "usb_vbus_en1_pn5";
>                                 nvidia,function = "rsvd2";
>                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
> +                               nvidia,open-drain = <TEGRA_PIN_DISABLE>;
>                         };
>                         pex_l0_rst_n_pdd1 {
>                                 nvidia,pins = "pex_l0_rst_n_pdd1";
> @@ -333,40 +335,40 @@
>                                 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
>                         };
>
> -                       /* Apalis I2C2 (DDC) */
> -                       gen2_i2c_scl_pt5 {
> -                               nvidia,pins = "gen2_i2c_scl_pt5";
> -                               nvidia,function = "i2c2";
> +                       /* Apalis I2C3 (CAM) */
> +                       cam_i2c_scl_pbb1 {
> +                               nvidia,pins = "cam_i2c_scl_pbb1";
> +                               nvidia,function = "i2c3";
>                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
>                                 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
>                         };
> -                       gen2_i2c_sda_pt6 {
> -                               nvidia,pins = "gen2_i2c_sda_pt6";
> -                               nvidia,function = "i2c2";
> +                       cam_i2c_sda_pbb2 {
> +                               nvidia,pins = "cam_i2c_sda_pbb2";
> +                               nvidia,function = "i2c3";
>                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
>                                 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
>                         };
>
> -                       /* Apalis I2C3 (CAM) */
> -                       cam_i2c_scl_pbb1 {
> -                               nvidia,pins = "cam_i2c_scl_pbb1";
> -                               nvidia,function = "i2c3";
> +                       /* Apalis I2C4 (DDC) */
> +                       ddc_scl_pv4 {
> +                               nvidia,pins = "ddc_scl_pv4";
> +                               nvidia,function = "i2c4";
>                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
> -                               nvidia,open-drain = <TEGRA_PIN_ENABLE>;
> +                               nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
>                         };
> -                       cam_i2c_sda_pbb2 {
> -                               nvidia,pins = "cam_i2c_sda_pbb2";
> -                               nvidia,function = "i2c3";
> +                       ddc_sda_pv5 {
> +                               nvidia,pins = "ddc_sda_pv5";
> +                               nvidia,function = "i2c4";
>                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
> -                               nvidia,open-drain = <TEGRA_PIN_ENABLE>;
> +                               nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
>                         };
>
>                         /* Apalis MMC1 */
> @@ -470,12 +472,12 @@
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
>                         };
> -                       /* PWM3 active on pu6 being Apalis BKL1_PWM */
> +                       /* PWM3 active on pu6 being Apalis BKL1_PWM as well */
>                         ph3 {
>                                 nvidia,pins = "ph3";
> -                               nvidia,function = "gmi";
> -                               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
> -                               nvidia,tristate = <TEGRA_PIN_ENABLE>;
> +                               nvidia,function = "pwm3";
> +                               nvidia,pull = <TEGRA_PIN_PULL_NONE>;
> +                               nvidia,tristate = <TEGRA_PIN_DISABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
>                         };
>
> @@ -736,8 +738,8 @@
>                         };
>
>                         /* Apalis USBH_EN */
> -                       usb_vbus_en1_pn5 {
> -                               nvidia,pins = "usb_vbus_en1_pn5";
> +                       gen2_i2c_sda_pt6 {
> +                               nvidia,pins = "gen2_i2c_sda_pt6";
>                                 nvidia,function = "rsvd2";
>                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
> @@ -755,8 +757,8 @@
>                         };
>
>                         /* Apalis USBO1_EN */
> -                       usb_vbus_en0_pn4 {
> -                               nvidia,pins = "usb_vbus_en0_pn4";
> +                       gen2_i2c_scl_pt5 {
> +                               nvidia,pins = "gen2_i2c_scl_pt5";
>                                 nvidia,function = "rsvd2";
>                                 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
>                                 nvidia,tristate = <TEGRA_PIN_DISABLE>;
> @@ -1501,10 +1503,14 @@
>                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
>                         };
> -                       pv0 { /* NC */
> +                       /*
> +                        * PCB Version Indication: V1.2 and later have GPIO_PV0
> +                        * wired to GND, was NC before
> +                        */
> +                       pv0 {
>                                 nvidia,pins = "pv0";
>                                 nvidia,function = "rsvd1";
> -                               nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
> +                               nvidia,pull = <TEGRA_PIN_PULL_UP>;
>                                 nvidia,tristate = <TEGRA_PIN_ENABLE>;
>                                 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
>                         };
> @@ -1630,13 +1636,7 @@
>                 };
>         };
>
> -       /*
> -        * GEN2_I2C: I2C2_SDA/SCL (DDC) on MXM3 pin 205/207 (e.g. display EDID)
> -        */
> -       hdmi_ddc: i2c at 7000c400 {
> -               status = "okay";
> -               clock-frequency = <10000>;
> -       };
> +       /* GEN2_I2C: unused */
>
>         /*
>          * CAM_I2C: I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor
> @@ -1647,7 +1647,14 @@
>                 clock-frequency = <400000>;
>         };
>
> -       /* I2C4 (DDC): unused */
> +       /*
> +        * I2C4 (DDC): I2C4_SDA/SCL (DDC) on MXM3 pin 205/207
> +        * (e.g. display EDID)
> +        */
> +       hdmi_ddc: i2c at 7000c700 {
> +               status = "okay";
> +               clock-frequency = <10000>;
> +       };
>
>         /* PWR_I2C: power I2C to audio codec, PMIC and temperature sensor */
>         i2c at 7000d000 {
> @@ -2112,7 +2119,7 @@
>                 regulator-name = "VCC_USBO1";
>                 regulator-min-microvolt = <5000000>;
>                 regulator-max-microvolt = <5000000>;
> -               gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
> +               gpio = <&gpio TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
>                 enable-active-high;
>                 vin-supply = <&reg_5v0>;
>         };
> @@ -2123,7 +2130,7 @@
>                 regulator-name = "VCC_USBH(2A|2C|2D|3|4)";
>                 regulator-min-microvolt = <5000000>;
>                 regulator-max-microvolt = <5000000>;
> -               gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>;
> +               gpio = <&gpio TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>;
>                 enable-active-high;
>                 vin-supply = <&reg_5v0>;
>         };
> diff --git a/board/toradex/apalis-tk1/apalis-tk1.c b/board/toradex/apalis-tk1/apalis-tk1.c
> index d57c5042dd..beb7e10dfe 100644
> --- a/board/toradex/apalis-tk1/apalis-tk1.c
> +++ b/board/toradex/apalis-tk1/apalis-tk1.c
> @@ -10,6 +10,7 @@
>  #include <asm/io.h>
>  #include <asm/arch/gpio.h>
>  #include <asm/arch/pinmux.h>
> +#include <environment.h>
>  #include <pci_tegra.h>
>  #include <power/as3722.h>
>  #include <power/pmic.h>
> @@ -25,6 +26,10 @@
>  #define PEX_PERST_N    TEGRA_GPIO(DD, 1) /* Apalis GPIO7 */
>  #define RESET_MOCI_CTRL        TEGRA_GPIO(U, 4)
>  #endif /* CONFIG_APALIS_TK1_PCIE_EVALBOARD_INIT */
> +#define VCC_USBH       TEGRA_GPIO(T, 6)
> +#define VCC_USBH_V1_0  TEGRA_GPIO(N, 5)
> +#define VCC_USBO1      TEGRA_GPIO(T, 5)
> +#define VCC_USBO1_V1_0 TEGRA_GPIO(N, 4)
>
>  int arch_misc_init(void)
>  {
> @@ -32,6 +37,38 @@ int arch_misc_init(void)
>             NVBOOTTYPE_RECOVERY)
>                 printf("USB recovery mode\n");
>
> +       /* PCB Version Indication: V1.2 and later have GPIO_PV0 wired to GND */
> +       gpio_request(TEGRA_GPIO(V, 0), "PCB Version Indication");
> +       gpio_direction_input(TEGRA_GPIO(V, 0));
> +       if (gpio_get_value(TEGRA_GPIO(V, 0))) {
> +               /*
> +                * if using the default device tree for new V1.2 and later HW,
> +                * use version for older V1.0 and V1.1 HW
> +                */
> +               char *fdt_env = env_get("fdt_module");
> +
> +               if (fdt_env && !strcmp(FDT_MODULE, fdt_env)) {
> +                       env_set("fdt_module", FDT_MODULE_V1_0);
> +                       printf("patching fdt_module to " FDT_MODULE_V1_0
> +                              " for older V1.0 and V1.1 HW\n");
> +#ifndef CONFIG_ENV_IS_NOWHERE
> +                       env_save();
> +#endif
> +               }
> +
> +               /* activate USB power enable GPIOs */
> +               gpio_request(VCC_USBH_V1_0, "VCC_USBH");
> +               gpio_direction_output(VCC_USBH_V1_0, 1);
> +               gpio_request(VCC_USBO1_V1_0, "VCC_USBO1");
> +               gpio_direction_output(VCC_USBO1_V1_0, 1);
> +       } else {
> +               /* activate USB power enable GPIOs */
> +               gpio_request(VCC_USBH, "VCC_USBH");
> +               gpio_direction_output(VCC_USBH, 1);
> +               gpio_request(VCC_USBO1, "VCC_USBO1");
> +               gpio_direction_output(VCC_USBO1, 1);
> +       }
> +
>         return 0;
>  }
>
> diff --git a/board/toradex/apalis-tk1/pinmux-config-apalis-tk1.h b/board/toradex/apalis-tk1/pinmux-config-apalis-tk1.h
> index d2d24c4391..6778a41e07 100644
> --- a/board/toradex/apalis-tk1/pinmux-config-apalis-tk1.h
> +++ b/board/toradex/apalis-tk1/pinmux-config-apalis-tk1.h
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: GPL-2.0+ */
>  /*
> - * Copyright (c) 2016, Toradex, Inc.
> + * Copyright (c) 2016-2019, Toradex, Inc.
>   */
>
>  #ifndef _PINMUX_CONFIG_APALIS_TK1_H_
> @@ -24,8 +24,6 @@ static const struct tegra_gpio_config apalis_tk1_gpio_inits[] = {
>         GPIO_INIT(K,    2,   IN),
>         GPIO_INIT(K,    7,   IN),
>         GPIO_INIT(N,    2,   OUT1),
> -       GPIO_INIT(N,    4,   OUT1),
> -       GPIO_INIT(N,    5,   OUT1),
>         GPIO_INIT(N,    7,   IN),
>         GPIO_INIT(O,    5,   IN),
>         GPIO_INIT(Q,    0,   OUT0), /* Shift_CTRL_OE[0] */
> @@ -40,6 +38,7 @@ static const struct tegra_gpio_config apalis_tk1_gpio_inits[] = {
>         GPIO_INIT(R,    2,   OUT0), /* Shift_CTRL_OE[3] */
>         GPIO_INIT(S,    3,   OUT0), /* Shift_CTRL_Dir_In[2] */
>         GPIO_INIT(U,    4,   OUT0), /* RESET_MOCI_CTRL */
> +       GPIO_INIT(V,    0,   IN),
>         GPIO_INIT(W,    3,   IN),
>         GPIO_INIT(W,    5,   IN),
>         GPIO_INIT(BB,   0,  IN),
> @@ -130,8 +129,8 @@ static const struct pmux_pingrp_config apalis_tk1_pingrps[] = {
>         PINCFG(DAP1_DIN_PN1,           RSVD4,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(DAP1_DOUT_PN2,          SATA,         NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(DAP1_SCLK_PN3,          RSVD4,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
> -       PINCFG(USB_VBUS_EN0_PN4,       RSVD2,        NORMAL, NORMAL,   OUTPUT,  DISABLE, DEFAULT),
> -       PINCFG(USB_VBUS_EN1_PN5,       RSVD2,        NORMAL, NORMAL,   OUTPUT,  DISABLE, DEFAULT),
> +       PINCFG(USB_VBUS_EN0_PN4,       RSVD2,        NORMAL, NORMAL,   INPUT,   DISABLE, DEFAULT),
> +       PINCFG(USB_VBUS_EN1_PN5,       RSVD2,        NORMAL, NORMAL,   INPUT,   DISABLE, DEFAULT),
>         PINCFG(HDMI_INT_PN7,           RSVD1,        DOWN,   TRISTATE, INPUT,   DEFAULT, NORMAL),
>         PINCFG(ULPI_DATA7_PO0,         ULPI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(ULPI_DATA0_PO1,         ULPI,         DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
> @@ -175,8 +174,8 @@ static const struct pmux_pingrp_config apalis_tk1_pingrps[] = {
>         PINCFG(KB_ROW15_PS7,           RSVD2,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(KB_ROW16_PT0,           RSVD2,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(KB_ROW17_PT1,           RSVD2,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
> -       PINCFG(GEN2_I2C_SCL_PT5,       I2C2,         NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
> -       PINCFG(GEN2_I2C_SDA_PT6,       I2C2,         NORMAL, NORMAL,   INPUT,   ENABLE,  DEFAULT),
> +       PINCFG(GEN2_I2C_SCL_PT5,       RSVD2,        NORMAL, NORMAL,   OUTPUT,  DISABLE, DEFAULT),
> +       PINCFG(GEN2_I2C_SDA_PT6,       RSVD2,        NORMAL, NORMAL,   OUTPUT,  DISABLE, DEFAULT),
>         PINCFG(SDMMC4_CMD_PT7,         SDMMC4,       UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
>         PINCFG(PU0,                    UARTA,        NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(PU1,                    UARTA,        NORMAL, TRISTATE, INPUT,   DEFAULT, DEFAULT),
> @@ -185,12 +184,12 @@ static const struct pmux_pingrp_config apalis_tk1_pingrps[] = {
>         PINCFG(PU4,                    GMI,          NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(PU5,                    GMI,          DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(PU6,                    PWM3,         NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
> -       PINCFG(PV0,                    RSVD1,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
> +       PINCFG(PV0,                    RSVD1,        UP,     NORMAL,   INPUT,   DEFAULT, DEFAULT),
>         PINCFG(PV1,                    RSVD1,        DOWN,   TRISTATE, OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(SDMMC3_CD_N_PV2,        RSVD3,        UP,     TRISTATE, INPUT,   DEFAULT, DEFAULT),
>         PINCFG(SDMMC1_WP_N_PV3,        SDMMC1,       UP,     TRISTATE, INPUT,   DEFAULT, DEFAULT),
> -       PINCFG(DDC_SCL_PV4,            RSVD2,        NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
> -       PINCFG(DDC_SDA_PV5,            RSVD2,        NORMAL, NORMAL,   INPUT,   DEFAULT, DEFAULT),
> +       PINCFG(DDC_SCL_PV4,            I2C4,         NORMAL, NORMAL,   INPUT,   DEFAULT, NORMAL),
> +       PINCFG(DDC_SDA_PV5,            I2C4,         NORMAL, NORMAL,   INPUT,   DEFAULT, NORMAL),
>         PINCFG(GPIO_W2_AUD_PW2,        SPI2,         NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
>         PINCFG(GPIO_W3_AUD_PW3,        SPI6,         NORMAL, TRISTATE, INPUT,   DEFAULT, DEFAULT),
>         PINCFG(DAP_MCLK1_PW4,          EXTPERIPH1,   NORMAL, NORMAL,   OUTPUT,  DEFAULT, DEFAULT),
> diff --git a/configs/apalis-tk1_defconfig b/configs/apalis-tk1_defconfig
> index 67f7731a42..be0554b150 100644
> --- a/configs/apalis-tk1_defconfig
> +++ b/configs/apalis-tk1_defconfig
> @@ -8,7 +8,7 @@ CONFIG_TARGET_APALIS_TK1=y
>  CONFIG_FIT=y
>  CONFIG_OF_SYSTEM_SETUP=y
>  CONFIG_BOOTDELAY=1
> -CONFIG_BOOTCOMMAND="run emmcboot; setenv fdtfile ${soc}-apalis-${fdt_board}.dtb && run distro_bootcmd"
> +CONFIG_BOOTCOMMAND="run emmcboot; setenv fdtfile ${soc}-${fdt-module}-${fdt_board}.dtb && run distro_bootcmd"
>  CONFIG_CONSOLE_MUX=y
>  CONFIG_SYS_STDIO_DEREGISTER=y
>  CONFIG_VERSION_VARIABLE=y
> diff --git a/include/configs/apalis-tk1.h b/include/configs/apalis-tk1.h
> index 843e64e3cc..a21975050a 100644
> --- a/include/configs/apalis-tk1.h
> +++ b/include/configs/apalis-tk1.h
> @@ -18,6 +18,9 @@
>  #define CONFIG_TEGRA_ENABLE_UARTA
>  #define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTA_BASE
>
> +#define FDT_MODULE                     "apalis-v1.2"
> +#define FDT_MODULE_V1_0                        "apalis"
> +
>  /* Environment in eMMC, before config block at the end of 1st "boot sector" */
>  #define CONFIG_ENV_OFFSET              (-CONFIG_ENV_SIZE + \
>                                          CONFIG_TDX_CFG_BLOCK_OFFSET)
> @@ -58,7 +61,7 @@
>         "emmcbootpart=1\0" \
>         "emmcdev=0\0" \
>         "emmcdtbload=setenv dtbparam; load mmc ${emmcdev}:${emmcbootpart} " \
> -               "${fdt_addr_r} ${soc}-apalis-${fdt_board}.dtb && " \
> +               "${fdt_addr_r} ${soc}-${fdt_module}-${fdt_board}.dtb && " \
>                 "setenv dtbparam ${fdt_addr_r}\0" \
>         "emmcfinduuid=part uuid mmc ${mmcdev}:${emmcrootpart} uuid\0" \
>         "emmcrootpart=2\0"
> @@ -70,7 +73,7 @@
>                 "run nfsdtbload; dhcp ${kernel_addr_r} " \
>                 "&& run fdt_fixup && bootz ${kernel_addr_r} - ${dtbparam}\0" \
>         "nfsdtbload=setenv dtbparam; tftp ${fdt_addr_r} " \
> -               "${soc}-apalis-${fdt_board}.dtb " \
> +               "${soc}-${fdt_module}-${fdt_board}.dtb " \
>                 "&& setenv dtbparam ${fdt_addr_r}\0"
>
>  #define SD_BOOTCMD \
> @@ -85,7 +88,7 @@
>         "sdbootpart=1\0" \
>         "sddev=1\0" \
>         "sddtbload=setenv dtbparam; load mmc ${sddev}:${sdbootpart} " \
> -               "${fdt_addr_r} ${soc}-apalis-${fdt_board}.dtb " \
> +               "${fdt_addr_r} ${soc}-${fdt_module}-${fdt_board}.dtb " \
>                 "&& setenv dtbparam ${fdt_addr_r}\0" \
>         "sdfinduuid=part uuid mmc ${sddev}:${sdrootpart} uuid\0" \
>         "sdrootpart=2\0"
> @@ -102,7 +105,7 @@
>         "usbbootpart=1\0" \
>         "usbdev=0\0" \
>         "usbdtbload=setenv dtbparam; load usb ${usbdev}:${usbbootpart} " \
> -               "${fdt_addr_r} ${soc}-apalis-${fdt_board}.dtb " \
> +               "${fdt_addr_r} ${soc}-${fdt_module}-${fdt_board}.dtb " \
>                 "&& setenv dtbparam ${fdt_addr_r}\0" \
>         "usbfinduuid=part uuid usb ${usbdev}:${usbrootpart} uuid\0" \
>         "usbrootpart=2\0"
> @@ -117,6 +120,7 @@
>         EMMC_BOOTCMD \
>         "fdt_board=eval\0" \
>         "fdt_fixup=;\0" \
> +       "fdt_module=" FDT_MODULE "\0" \
>         NFS_BOOTCMD \
>         SD_BOOTCMD \
>         USB_BOOTCMD \
> --
> 2.17.1
>

This is that commit from patch-series [1] (it was added in v3),
that was left aside and wasn't applied (this is what we've already
discussed).I assume there was some glitch, because v3 patch-series
were delegated to Stefano Babich (IMX mantainer), maybe
this is why you didn't notice the latest v3 version.

I've tested it on top of the latest u-boot-tegra/master (including
other patches from [1] + DFU stuff, that you applied a couple of days
ago).

FYI, there are some checkpatch 80 symbol warnings in
pmux_pingrp_config definition, but fixing this will break
aligment of pinmux configuration "table" in
board/toradex/apalis-tk1/pinmux-config-apalis-tk1.h.
Let me know if it could be an objection for applying this
patch.

Thanks!

[1]  https://patchwork.ozlabs.org/cover/1142239/
-- 
Best regards - Freundliche GrĂ¼sse - Meilleures salutations

Senior Development Engineer,
Igor Opaniuk

Toradex AG
Altsagenstrasse 5 | 6048 Horw/Luzern | Switzerland | T: +41 41 500 48
00 (main line)


More information about the U-Boot mailing list