This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Change console from UART3 to UART2

Other Parts Discussed in Thread: AM3517, SEGGER

AM3517, based on EVM.

I have changed UART for console to UART2. No problem with u-boot, both RX and TX work just fine.

Console text output during Kernel boot works fine (using TTYO1), Console reported on output to be TTYO1 as it should.

Once all is done I start:

busybox sh

from rcS script.

Busybox responds with # prompt

Unfortunately, no input from serial port 2 accepted at this stage. Note that characters are arriving at the port RX line (verified with scope) but nothing at console.

What am I missing ? Is TTYO1 looking for DCD or something ?

Rainier

  • Hi Rainier.

    Have you checked that the mux mode for whichever uart2_rx pin you are using to make sure that it wasn't changed by the Linux kernel.  And that the mux mode of the other pin which can operate as uart2_rx isn't set for that mode.

    Regards,

        Steve

  • I have checked the pin mux in u-boot/MLO and that looks good (of course it is working there). The kernel board file changes a handful of mux pins but none of the UART2 pins. Unless it is hidden deep in some other code (always possible) this does not seem the case. I'll hook up the jtag and query the register to see what the mux mode is (also for any other pins that can act as RX).

    Thanks, good suggestion...

    Rainier

  • Hum,

    this thing is giving me gray hair.

    JTAG no go. Refuses to look at memory once the kernel starts (before that no problem). Anybody know how to get JTAG to read memory while the kernel is up and running ? I'm using a Segger JTAG.

    Alternatively anybody know of a command line utility that can dump registers to the console (something I can start from the rcS script (I can't type on the console as this does not work))?

    Rainier

  • Hi Rainier.

    For that sort of thing, I usually do a printk using omap_readl(phys_addr) at the appropriate spot in the kernel.  Depending on your kernel version, to prototype omap_readl() you will either need to include <plat/io.h> or <plat/usb.h>.

    Regards,

        Steve

  • If your bootlogs is showing correctly but you don't get a login prompt, you have to move the login in /etc/inittab. See the getty line in that file.

  • I am getting the prompt - it's just not accepting any input. All output to the console is just fine, no input is accepted. Getty is setup correctly (but makes no difference).

    No hardware issues as such - u-boot DOES accept input on uart2_rx, Linux does not. One of those things...

    Rainier