Targeted Hardware | phyBOARD-Zeta (i.MX7) |
Targeted Software | PD18.1.1 |
Date |
|
Summary
The serial console is essential for communication with and development of your design. This how-to guide will demonstrate the steps required to change the default serial debug console configuration.
Specifically, the phyBOARD-Zeta uses UART5 as the default serial console. This requires a breakout cable assembly to expose the RS-232 pins that are available on a pin header on the Zeta board, a null modem cable, and finally an RS-232 cable to the host. The PEB-EVAL-02 board exposes UART1 via the RS-232 protocol on a DB9 connector. This will be the target configuration that the how-to guide will demonstrate.
<Picture of phyBOARD-Zeta with UART5 and UART1 marked>
Step-by-step guide
u-boot
To change the serial console for u-boot, you'll need to modify the CONFIG_CONS_INDEX and CONFIG_MXC_UART_BASE definitions in the u-boot source.
Change CONFIG_CONS_INDEX to indicate the index of the UART that is desired. In this case, we will change it from 5 to 1:
/* allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE #undef CONFIG_CONS_INDEX #define CONFIG_CONS_INDEX 5 #define CONFIG_BAUDRATE 115200
/* allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE #undef CONFIG_CONS_INDEX #define CONFIG_CONS_INDEX 1 #define CONFIG_BAUDRATE 115200
Change CONFIG_MXC_UART_BASE to indicate the UART base address of the UART that is desired. In this case, we will change it from 5 to 1:
#define CONFIG_MXC_UART_BASE UART5_IPS_BASE_ADDR
#define CONFIG_MXC_UART_BASE UART1_IPS_BASE_ADDR
Verify the desired UART pins are muxed correctly in u-boot:
&uart1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>; assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; status = "okay"; };
Linux
Change the SERIAL_CONSOLE to indicate the desired 'ttymxc' device in the imx7d_phyboard_zeta_001 machine configuraiton. In this case, we will change it from a 4 to a 0:
SERIAL_CONSOLE = "115200 ttymxc4"
SERIAL_CONSOLE = "115200 ttymxc0"
You'll also want to verify the desired UART pins are muxed in your device tree:
&uart1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>; assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>; status = "okay"; };
Related articles
There is no content with the specified labels