Hi.
Use i.MX6SoloLite EVK Board. and run u-boot-2009-08 & linux-3.0.35.
use debug uart port uart1. I want to use debug uart port uart4.
Now Setting is
- u-boot
u-boot/board/freescale/lmx6sl_evk/mx6sl_evk.c
static void setup_uart(void)
{
/* UART4 TXD */
mxc_iomux_v3_setup_pad(MX6SL_PAD_SD1_DAT5__UART4_TXD);
/* UART4 RXD */
mxc_iomux_v3_setup_pad(MX6SL_PAD_SD1_DAT4__UART4_RXD);
}
...
iomux_v3_cfg_t usdhc1_pads[] = {
/* 8 bit SD */
MX6SL_PAD_SD1_CLK__USDHC1_CLK,
MX6SL_PAD_SD1_CMD__USDHC1_CMD,
MX6SL_PAD_SD1_DAT0__USDHC1_DAT0,
MX6SL_PAD_SD1_DAT1__USDHC1_DAT1,
MX6SL_PAD_SD1_DAT2__USDHC1_DAT2,
MX6SL_PAD_SD1_DAT3__USDHC1_DAT3,
#if 0 // Custom Debug Uart Port
MX6SL_PAD_SD1_DAT4__USDHC1_DAT4,
MX6SL_PAD_SD1_DAT5__USDHC1_DAT5,
#endif
MX6SL_PAD_SD1_DAT6__USDHC1_DAT6,
MX6SL_PAD_SD1_DAT7__USDHC1_DAT7,
};
u-boot/include/configs/mx6sl_evk_mfg.h (mx6sl_evk.h)
/*
* Hardware drivers
*/
#define CONFIG_MXC_UART
#if 0 //Original. Custom Debug Uart Port define
#define CONFIG_UART_BASE_ADDR UART1_IPS_BASE_ADDR
#else
#define CONFIG_UART_BASE_ADDR UART4_IPS_BASE_ADDR
#endif
...
#if 0 | //Original. Custom Debug Uart Port define. |
#define CONFIG_BOOTARGS "console=ttymxc0,115200 rdinit=/linuxrc nosmp"
#else
#define CONFIG_BOOTARGS "console=ttymxc3,115200 rdinit=/linuxrc nosmp"
- kernel
kernel/arch/arm/mach-mx6/board-mx6sl_common.h
#if 0 //Original. Custom Debug Uart Port. define
/* UART1 */
MX6SL_PAD_UART1_RXD__UART1_RXD,
MX6SL_PAD_UART1_TXD__UART1_TXD,
#else
/* UART4 */
MX6SL_PAD_SD1_DAT4__UART4_RXD,
MX6SL_PAD_SD1_DAT5__UART4_TXD,
#endif
kernel/arch/arm/mach-mx6/board-mx6sl_evk.c
static inline void mx6_evk_init_uart(void)
{
#if 0 //Original. Custom Debug Uart Port. define
imx6q_add_imx_uart(0, NULL); /* DEBUG UART1 */
#else
imx6q_add_imx_uart(3, NULL); /* DEBUG UART4 */
#endif
}
...
static void __init mx6_timer_init(void)
{
struct clk *uart_clk;
#ifdef CONFIG_LOCAL_TIMERS
twd_base = ioremap(LOCAL_TWD_ADDR, SZ_256);
BUG_ON(!twd_base);
#endif
mx6sl_clocks_init(32768, 24000000, 0, 0);
#if 1 //Original !!!!! Custom Debug Uart Port
uart_clk = clk_get_sys("imx-uart.0", NULL);
early_console_setup(UART1_BASE_ADDR, uart_clk);
#else
uart_clk = clk_get_sys("imx-uart.3", NULL);
early_console_setup(UART4_BASE_ADDR, uart_clk);
#endif
}
Please. source patch or information Doc.(i.MX6SoloLite)
How to enabled Debug port uart4 From the i.MX6SoloLIte evk custom board .
Thank you.
Hi changyong
please look at attached presentation describing bring-up process in details.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
"Debug UART Customization on i.MX6x.ppt" Doc Apply log
[10:34:58.937]
[10:34:58.937] U-Boot 2009.08 (Jul 15 2015 - 10:33:34)
[10:34:58.937]
[10:34:58.938] CPU: Freescale i.MX6 family TO1.2 at 792 MHz
[10:34:58.938] Thermal sensor with ratio = 181
[10:34:58.941] Temperature: 48 C, calibration data 0x57d4f769
[10:34:58.996] mx6q pll1: 792MHz
[10:34:58.996] mx6q pll2: 528MHz
[10:34:58.996] mx6q pll3: 480MHz
[10:34:58.996] mx6q pll8: 50MHz
[10:34:58.997] ipg clock : 66000000Hz
[10:34:58.997] ipg per clock : 66000000Hz
[10:34:58.997] uart clock : 80000000Hz
[10:34:58.997] cspi clock : 60000000Hz
[10:34:58.997] ahb clock : 132000000Hz
[10:34:58.997] axi clock : 198000000Hz
[10:34:58.997] emi_slow clock: 99000000Hz
[10:34:58.997] ddr clock : 396000000Hz
[10:34:58.997] usdhc1 clock : 198000000Hz
[10:34:58.997] usdhc2 clock : 198000000Hz
[10:34:58.997] usdhc3 clock : 198000000Hz
[10:34:59.000] usdhc4 clock : 198000000Hz
[10:34:59.000] Board: MX6SoloLite-EVK (0x60312): [ POR ]
[10:34:59.000] Boot Device: NOR
[10:34:59.000] I2C: ready
[10:34:59.001] DRAM: 512 MB
[10:34:59.176] MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2
[10:34:59.200] Using default environment
[10:34:59.200]
[10:34:59.200] In: serial
[10:34:59.200] Out: serial
[10:34:59.200] Err: serial
[10:34:59.273] Net: got MAC address from IIM: 00:00:00:00:00:00
[10:34:59.273] FEC0 [PRIME]
[10:34:59.273] Hit any key to stop autoboot: 0
[10:34:59.273] ## Booting kernel from Legacy Image at 80800000 ...
[10:34:59.273] Image Name: Linux-3.0.35-2666-gbdde708
[10:34:59.273] Image Type: ARM Linux Kernel Image (uncompressed)
[10:34:59.276] Data Size: 2977444 Bytes = 2.8 MB
[10:34:59.276] Load Address: 80008000
[10:34:59.277] Entry Point: 80008000
[10:34:59.964] Verifying Checksum ... OK
[10:34:59.996] ## Loading init Ramdisk from Legacy Image at 80c00000 ...
[10:34:59.996] Image Name: uboot initramfs rootfs
[10:34:59.997] Image Type: ARM Linux RAMDisk Image (gzip compressed)
[10:34:59.997] Data Size: 4270281 Bytes = 4.1 MB
[10:34:59.997] Load Address: 00000000
[10:34:59.997] Entry Point: 00000000
[10:35:00.991] Verifying Checksum ... OK
[10:35:01.825] Loading Kernel Image ... OK
[10:35:01.825] OK
[10:35:01.825]
[10:35:01.825] Starting kernel ...
[10:35:01.825]
you can look at sabreauto board sources, it uses uart4
Already confirmed Doc "Debug UART Customization on i.MX6x.ppt"
Other Document or Patch plz.
Debug UART Customization on i.MX6x.ppt Document is mx6q cpu...(uart4 -> uart1)
I'm mx6sl cpu.. (uart1 -> uart4)