i.MX6SoloLite Custom Board Debug Uart4 Enabled

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6SoloLite Custom Board Debug Uart4 Enabled

1,151 Views
changyonglee
Contributor II

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.

Labels (2)
0 Kudos
Reply
4 Replies

841 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

841 Views
changyonglee
Contributor II

"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]

0 Kudos
Reply

841 Views
igorpadykov
NXP Employee
NXP Employee

you can look at sabreauto board sources, it uses uart4

0 Kudos
Reply

841 Views
changyonglee
Contributor II

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)

0 Kudos
Reply