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.

66AK2E05: 66AK2E05

Part Number: 66AK2E05

We have new board design based on EVMK2E which uses a 66AK2E SOC processor with two built-in NS16550 UARTs.  The default UART for the uboot console is UART0, I am bring up this board now.  We have JTAG and UART1 routed to a test connector.  JTAG is working but we get nothing out of the UART.  I added a UART test loop that continuously prints "UART TEST".  When I suspend with the JTAG debugger, it is always stuck in a loop watching for the transmit-holding-register to be ready and this never happens.

We changed the configuration in k2e_evm_defconfig to

CONFIG_DEBUG_UART_BASE=0x2531000

CONFIG_DEBUG_UART_CLOCK=25000000

CONFIG_DEBUG_UART=y

CONFIG_DEBUG_UART_NS16550=y

CONFIG_CONS_INDEX=2

I confirmed that hardware-flow-control is not enabled, interrupts are not enabled, and UART FIFOs are enabled in poll-mode.

I have seen that non-zero values are written to the BAUD rate divider registers.

UART initialization is done with debug_uart_init() which is invoked early in the boot process.  I noticed that the normal NS16550_init() route uses UART_REG_VAL_PWREMU_UART_EABLE to activate the UART like it says in the manual but that this is not done in debug_uart_init().  I tried copying the command to debug_uart_init() but that did nothing.

UARTs are simple devices so I expected this to just work or to at least indicate that there is some activity going on.  I know when I build U-BOOT for the evaluation board, UART0 and everything else works so I think the issue is specify to the UART configuration.  It seems like it might be something subtle.  I looked at our schematics and the UART connections at the CPU seem the same as the one on the EVM board.

Does anyone else have experience switching U-BOOT to UART1?

Roger

  • Hi, Roger,

    I took a look at the u-boot configuration and the devicetree binding documentation. It seems to me that you may be able to change the stdout-path to uart1 in the u-boot device tree, keystone.dtsi. It is currently set to uart0. Give it a try and see if it works.

    chosen {
    stdout-path = &uart0;
    };

    Rex

  • I tried that.  I can see that the UART routes are using the correct addresses for the control registers but it just looks like the UART is deactivated.  I think that a device tree change may be the issue.  I am starting from the configuration files for the EVMK2E evaluation board that we prototyped with.  I was wondering about a pinmux type of issue.

  • Hi, Roger,

    Do you mean that changing only the stdout-path to uart1, you are not getting any output? and this is on TI K2E EVM?

    Rex