Use UARTB for u-boot console on colibri_t30

Hello

We need to use UART_B as u-boot console because of our custom carrier board. I read this article.
According to this I made in include/configs/colibri_t30.h the following changes:

index 0d69785a74..a32aee2426 100644
--- a/include/configs/colibri_t30.h
+++ b/include/configs/colibri_t30.h
@@ -24,7 +24,7 @@
 #define CONFIG_DISPLAY_BOARDINFO_LATE  /* Calls show_board_info() */
 
 /* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
+#define CONFIG_TEGRA_ENABLE_UARTB
 #define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTA_BASE
 
 #define CONFIG_MACH_TYPE               MACH_TYPE_COLIBRI_T30
@@ -134,7 +134,7 @@
 
 #define BOARD_EXTRA_ENV_SETTINGS \
        "boot_file=zImage\0" \
-       "console=ttyS0\0" \
+       "console=ttyHS3\0" \
        "defargs=core_edp_mv=1300 usb_high_speed=1 user_debug=30\0" \
        "dfu_alt_info=" DFU_ALT_EMMC_INFO "\0" \
        EMMC_BOOTCMD \

Now we have no more u-boot console at all. What’s wrong ?

Environment:

Colibri T30 1GB V1.1E, Serial# 02687148 / Colibri Evaluation Board V3.2B

Did you replace SPI1 by RSVD4 at board/toradex/colibri_t30/pinmux-config-colibri_t30.h string

DEFAULT_PINMUX(SPI1_MISO_PX7, SPI1, NORMAL, NORMAL, INPUT)

as advised at article you mentioned?

The change was not correct, but the problem still exits.

diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h
index 0d69785a74..f8fc5d771f 100644
--- a/include/configs/colibri_t30.h
+++ b/include/configs/colibri_t30.h
@@ -24,8 +24,8 @@
 #define CONFIG_DISPLAY_BOARDINFO_LATE  /* Calls show_board_info() */
 
 /* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTA_BASE
+#define CONFIG_TEGRA_ENABLE_UARTB
+#define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTB_BASE
 
 #define CONFIG_MACH_TYPE               MACH_TYPE_COLIBRI_T30
 
@@ -134,7 +134,7 @@
 
 #define BOARD_EXTRA_ENV_SETTINGS \
        "boot_file=zImage\0" \
-       "console=ttyS0\0" \
+       "console=ttyHS3\0" \
        "defargs=core_edp_mv=1300 usb_high_speed=1 user_debug=30\0" \
        "dfu_alt_info=" DFU_ALT_EMMC_INFO "\0" \
        EMMC_BOOTCMD \

And what exact software versions of things are you talking about?

Yes, but still no u-boot console.

diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
index 0bc3a92711..423b00069b 100644
--- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
+++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
@@ -281,7 +281,7 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = {
        DEFAULT_PINMUX(SPI1_MOSI_PX4, SPI1, NORMAL, NORMAL, INPUT),
        DEFAULT_PINMUX(SPI1_SCK_PX5, SPI1, NORMAL, NORMAL, INPUT),
        DEFAULT_PINMUX(SPI1_CS0_N_PX6, SPI1, NORMAL, NORMAL, INPUT),
-       DEFAULT_PINMUX(SPI1_MISO_PX7, SPI1, NORMAL, NORMAL, INPUT),
+       DEFAULT_PINMUX(SPI1_MISO_PX7, RSVD4, NORMAL, NORMAL, INPUT),
 
        /* LAN_RESET */
        DEFAULT_PINMUX(PEX_L0_PRSNT_N_PDD0, RSVD2, NORMAL, NORMAL, OUTPUT),

Hi @ubx

Is the issue solved?

Best regards,
Jaski

Hello Marcel

It is a yocto project:

Build Configuration:
BB_VERSION           = "1.36.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "ubuntu-18.04"
TARGET_SYS           = "arm-angstrom-linux-gnueabi"
MACHINE              = "colibri-t30"
DISTRO               = "angstrom"
DISTRO_VERSION       = "v2017.12"
TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard"
TARGET_FPU           = "hard"
meta-angstrom        = "HEAD:4318892e08ea9102d29bdd92af83539bea985e4b"
meta-toradex-nxp     = "HEAD:dcb75200b15086bcd69f7ff396da7caf413ffb93"
meta-freescale       = "HEAD:1d40ea34fc2c06af79fc59f6ea54f2e9335d61d6"
meta-freescale-3rdparty = "HEAD:9056f60d81abacc2d8ee0f83ef0f70dfeedc76c7"
meta-toradex-tegra   = "HEAD:16b6bd18785a7cc8d9024a071d3fbc968ff63e83"
meta-jetson-tk1      = "HEAD:b430756e711b6b29381c8467185f475f5a505f96"
meta-toradex-bsp-common = "HEAD:362865913ed40f6cadeaf9111cf83269dc111248"
meta-oe              
meta-filesystems     
meta-gnome           
meta-xfce            
meta-initramfs       
meta-networking      
meta-multimedia      
meta-python          = "HEAD:eae996301d9c097bcbeb8046f08041dc82bb62f8"
meta-lxde            = "HEAD:f436137fcc4ac700dc5c1b5e31e5b3c27568fc3e"
meta-browser         = "HEAD:75640e14e325479c076b6272b646be7a239c18aa"
meta-qt4             = "HEAD:e290738759ef3f39c9e079eaa9b606a62107e5ba"
meta-qt5             = "HEAD:180edd66444db330301f22266cac7d588fd48c6a"
meta-qt5-extra       = "HEAD:c16ba209a93c3e55f5aef07fbb1d584e228765b3"
meta-freescale-distro = "HEAD:51756d1c2058139c8a21f89b86cfd8007b71b7f0"
meta-toradex-demos   = "HEAD:c73893a3377ebb557b0fb41f75b26dff40da4442"
meta                 = "HEAD:3638cb32ba9ba32b4d498fc31ab7fdf82f0d2495"
meta-glide           = "<unknown>:<unknown>"

I have integrated the two patches:

diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h
--- a/include/configs/colibri_t30.h
+++ b/include/configs/colibri_t30.h
@@ -24,8 +24,8 @@
 #define CONFIG_DISPLAY_BOARDINFO_LATE	/* Calls show_board_info() */

 /* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1		NV_PA_APB_UARTA_BASE
+#define CONFIG_TEGRA_ENABLE_UARTB
+#define CONFIG_SYS_NS16550_COM1		NV_PA_APB_UARTB_BASE

 #define CONFIG_MACH_TYPE		MACH_TYPE_COLIBRI_T30

@@ -134,7 +134,7 @@

 #define BOARD_EXTRA_ENV_SETTINGS \
 	"boot_file=zImage\0" \
-	"console=ttyS0\0" \
+	"console=ttyHS3\0" \
 	"defargs=core_edp_mv=1300 usb_high_speed=1 user_debug=30\0" \
 	"dfu_alt_info=" DFU_ALT_EMMC_INFO "\0" \
 	EMMC_BOOTCMD \


diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
--- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
+++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
@@ -281,7 +281,7 @@
 	DEFAULT_PINMUX(SPI1_MOSI_PX4, SPI1, NORMAL, NORMAL, INPUT),
 	DEFAULT_PINMUX(SPI1_SCK_PX5, SPI1, NORMAL, NORMAL, INPUT),
 	DEFAULT_PINMUX(SPI1_CS0_N_PX6, SPI1, NORMAL, NORMAL, INPUT),
-	DEFAULT_PINMUX(SPI1_MISO_PX7, SPI1, NORMAL, NORMAL, INPUT),
+	DEFAULT_PINMUX(SPI1_MISO_PX7, RSVD4, NORMAL, NORMAL, INPUT),


 	/* LAN_RESET */

And the build produces the image: Colibri-T30_Console-Image_2.8b7-20200618.tar.bz2

Hi Jaski

No, not at all. Without the patches the u-boot console is on UARTA and everything is fine.
With the patches there is none, neither on UARTA nor on UARTB but on the VGA monitor it see a cryptic output.

Best regards,
Andreas

Hi Andreas

I think, there is a misunderstanding, the naming of SoM (Toradex) is different than SoC (Nvidia). So UART_B means UART4 (UARTD) in Nvidia. So which UART output (SODIMM Pins), do you want to use for console?

Best regards,
Jaski

Hello Jaski

I want to use the port on the Colibri Evaluation Board with the label: “Top: UART_B”. (SODIMM_38 and SODIMM_36 ?)

Best regards, Andreas

Hi @ubx

You need to do the following changes in U-Boot.

diff --git a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
index 0bc3a92711..423b00069b 100644
--- a/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
+++ b/board/toradex/colibri_t30/pinmux-config-colibri_t30.h
@@ -281,7 +281,7 @@ static struct pmux_pingrp_config tegra3_pinmux_common[] = {
        DEFAULT_PINMUX(SPI1_MOSI_PX4, SPI1, NORMAL, NORMAL, INPUT),
        DEFAULT_PINMUX(SPI1_SCK_PX5, SPI1, NORMAL, NORMAL, INPUT),
        DEFAULT_PINMUX(SPI1_CS0_N_PX6, SPI1, NORMAL, NORMAL, INPUT),
-       DEFAULT_PINMUX(SPI1_MISO_PX7, SPI1, NORMAL, NORMAL, INPUT),
+       DEFAULT_PINMUX(SPI1_MISO_PX7, RSVD4, NORMAL, NORMAL, INPUT),
 
        /* LAN_RESET */
        DEFAULT_PINMUX(PEX_L0_PRSNT_N_PDD0, RSVD2, NORMAL, NORMAL, OUTPUT),
diff --git a/include/configs/colibri_t30.h b/include/configs/colibri_t30.h
index 0d69785a74..39414a9395 100644
--- a/include/configs/colibri_t30.h
+++ b/include/configs/colibri_t30.h
@@ -24,8 +24,8 @@
 #define CONFIG_DISPLAY_BOARDINFO_LATE  /* Calls show_board_info() */
 
 /* Board-specific serial config */
-#define CONFIG_TEGRA_ENABLE_UARTA
-#define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTA_BASE
+#define CONFIG_TEGRA_ENABLE_UARTD
+#define CONFIG_SYS_NS16550_COM1                NV_PA_APB_UARTD_BASE
 
 #define CONFIG_MACH_TYPE               MACH_TYPE_COLIBRI_T30
 
@@ -150,7 +150,7 @@
                "source ${loadaddr}\0" \
        "setup=setenv setupargs asix_mac=${ethaddr} " \
                "consoleblank=0 no_console_suspend=1 console=tty1 " \
-               "console=${console},${baudrate}n8 debug_uartport=lsport,0 " \
+               "console=${console},${baudrate}n8 debug_uartport=lsport,3 " \
                "vmalloc=128M mem=1012M@2048M fbmem=12M@3060M\0" \
        "setupdate=run setsdupdate || run setusbupdate || run setethupdate\0" \
        "setusbupdate=usb start && setenv interface usb; setenv drive 0; " \

I will update my answer in the link you provided.

Best regards,
Jaski

Hi Jaski

Yes, with these changes it works!!
Many thanks.

Best regards, Andreas

Perfect. Thanks for the feedback.

Best regards,
Jaski