UART7 unusable because of strange debugging console

Hello fellows.

I would like to use UART7 for an application.
Through changing of t18x-common-platforms/tegra186-quill-common.dtsi I now have this UART available.
The problem is that a strange debugging console I can’t find anything about also makes use of that UART.

When I boot the system this shows up.

SPE VERSION #: R00.01.07 Created: Apr 28 2017 @ 13:58:46
HW Function test
Start Scheduler.
in late init

welcome to lk
adc initialized
chip_revision initialized
speedo initialized
dt initialized
clk_init_mrq: mrq handler registered
383 clocks registered
clock initialized
reset initialized
i2c5 controller initialized
i2c10 controller initialized
initialized i2c mrq handling
i2c initialized
thermal initialized
fuse initialized
soctherm initialized
aotag initialized
cvc initialized
pwm_init: pwm 7 already enabled
pwm_init: pwm 8 already enabled
pwm_init: pwm 6 already enabled
regulator initialized
dvs initialized
t186_dvs initialized
pm initialized
tegra186_reset initialized
uart initialized
sku_init: not sku 00
sku initialized
tag initialized
avfs_clk_platform initialized
clock_dt initialized
powergate initialized
avfs_gpu initialized
clock_gpu initialized
debugfs_mrq initialized
emc initialized
gpmu2bpmp initialized
mc_init_mrq: mrq handler registered
mc initialized
pg_mrq initialized
pg_legacy_mrq initialized
pm_post initialized
ppm initialized
uphy_dt initialized
uphy initialized
wake initialized
mrq initialized
tag is 0705d30e2bb4ef1fcf63b70c5fc3deef
tag_lateinit initialized
clock_debugfs initialized
thermal_test initialized
avfs_clk_platform_post initialized
avfs_debugfs initialized
clock_pto initialized
cvc_dt initialized
dvs_debugfs initialized
rm initialized
edp initialized
gboost initialized
powergate_debug initialized
regulator_post initialized
sku_debugfs initialized
speedo_debugfs initialized
soctherm_debug initialized
aotag_hsm initialized
sc7_diag initialized
starting app shell
entering main console loop
] help
command list:
        try_dw          : display memory in words. Skip data aborts
        tests           : invoke tests
        ping            : ping mail target
        i2cw            : write byte to PWR_I2C
        i2cr            : read byte from PWR_I2C
        display_dt      : display DT
        chipid          : display chipid info
        tag             : show tag
        dw              : display memory in words
        dh              : display memory in halfwords
        db              : display memory in bytes
        mw              : modify word of memory
        mh              : modify halfword of memory
        mb              : modify byte of memory
        fw              : fill range of memory by word
        fh              : fill range of memory by halfword
        fb              : fill range of memory by byte
        mc              : copy a range of memory
        cc              : clean cache for a range of memory
        ci              : invalidate cache for a range of memory
        cf              : clean and invalidate (flush) cache for a range of memory
        fc              : clean and invalidate (flush) whole data cache
        td              : trace dump
        help            : this list
        debugfs         : debugfs commands
        threads         : list kernel threads
        threadstats     : thread level statistics
        threadload      : toggle thread load display

When I shut it down this happens

] Shutdown state requested 0
Shutting down system ...

This console shows up before extlinux is started. So I assume it’s started side by side with u-Boot.
So it seems to be a seperate controller giving me this interface.
What is this? Can I disable it?


I can’t answer, but probably someone will need to know which physical connector you are using, and if not a dev carrier board, which carrier.

hello azeps,

could you share the picture or point out which hardware port you had connected?

Hello JerryChang,

I’m sorry. My informations were incomplete.

RXD is on D5
TXD is on D8

Thank you in advance.

hello azeps,

it’s in the schematic that UART7_RX -> D5, and UART7_TX -> D8.
my question is same as linuxdev in comment #3, which physical connector you are using.

Hello JerryChang,

maybe I had a miscommunication earlier.
The output I’ve shown in my first post was printed on UART7 before booting linux.
I guess this was not clear by me.

The communication is working. UART7 is directly connected to a pinheader where a USB TTL 1.8V interface is attached.

My problem is that UART7 is also connected to this “SPE Console” or “SPE Shell”.
I want to use the UART7 exclusively for the linux system.
I don’t want to have the UART7 used by anything else than my custom application.

I’m sorry for the misconception.

Where are the wires physically connecting to the board? Is it the developer carrier board or something custom?

It is a custom carrier board with a custom pinheader. But there is nothing else connected to the wires.
It’s a direct wire to the pins listed above.

D5 and D8 of J13 are listed as reserved on the developer carrier board. Although your carrier may not be using those pins for debug it seems these pins might have some special purpose which prevents them from being used as a general UART function…someone from NVIDIA would have to comment on whether those pins are wired in some special way (such as dedicated for JTAG or boundary tests). The problem with this, even if those pins are not currently wired in some special way, is that a reserved pin may have a future use scheduled and you wouldn’t be guaranteed the next TX2 you get works with those pins in the same way as the prior TX2 did.

I know what you mean. Inside the Jetson-TX2-Generic-Customer-Pinmux-Template.xlsm I’ve also read it a few days before. But I kinda sorta had hope. Especially as the documentation about this “kinda sorta debugging shell” is missing. Our hardware engineer took the DevKit as an example I assume. It’s called “UART4” (D5 and D8) and is present on the “Debug Header”.

I now have to assume that this UART is indeed unusable.

hello azeps,

please refer to below to enable UART7, thanks