I am working in a standalone linux build environment.
The CPU uses i.mx6 solo, and the project base uses i.mx6dl sabresd.
The debug console port from the hardware team is working on a board that has been changed from uart1 to uart3.
I changed console to uart3 in uboot and checked the logs. However, the kernel did not find a way to change it.
The current state is using mfgtools to detect the failure during download, and I want to see console for debugging.
When I run bootm from uboot and enter the kernel, I cofirmed that the value of bootarg is passed to ttymxc2.
The kernel option is CONFIG_CMDLINE = "noinitrd console = ttymxc2,115200".
I added the following code to the device tree "imx6qdl-sabresd.dtsi".
chosen {
stdout-path = &uart1;
bootargs = "console=ttymxc2,115200";
stdout-path = &uart3;
};
pinctrl_uart3: uart3grp {
fsl,pins = <
MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
>;
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
status = "okay";
};
How do I see the console in the kernel?
Thank you for your help.
解決済! 解決策の投稿を見る。
Does your CONFIG_CMDLINE really look like "noinitrd console = ttymxc2,115200"?
In this case remove the spaces before and after the "=".
What does your u-boot environment look like? Probably the bootargs override the kernel config.
I have boards with different console ports, but I never had to configure the "stdout-path" in the device tree. I only set the console parameter in u-boot.
I have verified that the boot loader prints the bootarg correctly.
I set only "noinitrd console=ttymxc0,115200" in the kernel without setting DTB, console will not be output.