How to I change the u-boot serial port on the LS1028ARDB demo board

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

How to I change the u-boot serial port on the LS1028ARDB demo board

Jump to solution
2,562 Views
jrevans
Contributor III

How do I change the default u-boot serial port from UART1 to UART2 on the LS1028ARDB demo board?

I'm building the Yocto image, and can change the linux console port to UART2 by editing CONFIG_EXTRA_ENV_SETTINGS in u-boot-qoriq/include/configs/ls1028ardb.h to use "bootargs=console=ttyS1,115200\0" instead of "bootargs=console=ttyS0,115200\0"
But I cannot figure out how to change the u-boot serial port.

I thought that changing this:
chosen {
   stdout-path = "serial0:115200n8";
};
in fsl-ls1028a-rdb.dts from serial0 to serial1 would make the change, but it didn't.

I see other boards add CONFIG_CONS_INDEX and CONFIG_MXC_UART_BASE to the defconfig file, but that doesn't seem to be appropriate for the LS1028ARDB.

I want both u-boot and the linux kernel to use UART2 as the default console, but so far I can only get Linux to do it.

0 Kudos
Reply
1 Solution
2,396 Views
jrevans
Contributor III

Well, I figured out the solution with a co-workers assistance.

First off, my build environment was corrupted and for whatever reason, some of the changes that I made did not get put into my Yocto image. It was odd, as I could change the ls1028ardb.h file and the change took effect, but changing the fsl-ls1028a-rdb.dts file or the ls1028ardb_tfa_defconfig file did not take effect.  The joys of Yocto.  When I looked at the build/tmp/work/blah... directory, my changes to defconfig did not appear in the .config file.  To fix that, I had to abandon my changes and reset devtool.

From the build directory:

devtool reset u-boot-qoriq
rm -rf ../sources/workspace/sources/u-boot-qoriq
devtool modify u-boot-qoriq --no-overrides

To change the U-Boot console port, I modified this file in my workspace:  configs/ls1028ardb_tfa_defconfig

and added this line at the bottom of the file to move the U-Boot console to UART2 on the dev board.

CONFIG_CONS_INDEX=2

I did a bitbake u-boot-qoriq and then bitbaked our image.  It worked and U-Boot console was now on UART2!

Next, I made the changes to move the Linux console to the UART2 port on the dev board.  I edited my include/configs/ls1028ardb.h file in my workspace, changing:

"bootargs=console=ttyS0,115200\0" \

to be:

"bootargs=console=ttyS1,115200 earlycon=uart8250,mmio,0x21c0600\0" \

I again bitbaked u-boot-qoriq and then our image, and now both the U-Boot console and the Linux console are relocated to UART2 on the dev board.

 

View solution in original post

0 Kudos
Reply
5 Replies
2,397 Views
jrevans
Contributor III

Well, I figured out the solution with a co-workers assistance.

First off, my build environment was corrupted and for whatever reason, some of the changes that I made did not get put into my Yocto image. It was odd, as I could change the ls1028ardb.h file and the change took effect, but changing the fsl-ls1028a-rdb.dts file or the ls1028ardb_tfa_defconfig file did not take effect.  The joys of Yocto.  When I looked at the build/tmp/work/blah... directory, my changes to defconfig did not appear in the .config file.  To fix that, I had to abandon my changes and reset devtool.

From the build directory:

devtool reset u-boot-qoriq
rm -rf ../sources/workspace/sources/u-boot-qoriq
devtool modify u-boot-qoriq --no-overrides

To change the U-Boot console port, I modified this file in my workspace:  configs/ls1028ardb_tfa_defconfig

and added this line at the bottom of the file to move the U-Boot console to UART2 on the dev board.

CONFIG_CONS_INDEX=2

I did a bitbake u-boot-qoriq and then bitbaked our image.  It worked and U-Boot console was now on UART2!

Next, I made the changes to move the Linux console to the UART2 port on the dev board.  I edited my include/configs/ls1028ardb.h file in my workspace, changing:

"bootargs=console=ttyS0,115200\0" \

to be:

"bootargs=console=ttyS1,115200 earlycon=uart8250,mmio,0x21c0600\0" \

I again bitbaked u-boot-qoriq and then our image, and now both the U-Boot console and the Linux console are relocated to UART2 on the dev board.

 

0 Kudos
Reply
2,445 Views
jrevans
Contributor III

I still cannot figure out how to change the default serial device that U-Boot uses for its console....

I've been looking at and making changes to the device tree files (fsl-ls1028a-rdb.dts and the related include files), the defconfig file, and the ls1028ardb.h file, but I cannot get the U-Boot console to move from UART1 on the dev board.

Can anybody provide me some guidance?

Surely there is a simple way to accomplish the task of moving the U-Boot console port.

0 Kudos
Reply
2,436 Views
jrevans
Contributor III

Looking at the u-boot-qoriq/doc/README.console file, it says:

 

 

If not defined in the environment, the first input device is assigned
to the 'stdin' file, the first output one to 'stdout' and 'stderr'.

 

 

I don't see the console defined in the environment, and when I try to define it, it doesn't seem to work. 

In what context does that README file refer to the first input device being assigned?  I tried changing the order of the ports around in the fsl-ls1028a-rdb.dts and fsl-ls1028a.dtsi files, but I still get the U-Boot console on the dev board's UART1 connector.  Is there someplace else that I would change the order of the ports to effect the first input/output device to be assigned?

0 Kudos
Reply
2,530 Views
jrevans
Contributor III

Unfortunately, those were not of any help. 

This part of the one link:  https://developer.toradex.com/software/development-resources/configuring-serial-port-debug-console-l...

Specifically says:  

Change the Debug UART (Serial Console) to Another Port​

We don't provide instructions on how to do this. We advise you to use either the default Debug Port defined by Toradex or NXP.

I was really thinking that changing the "chosen" section in fsl-ls1028a-rdb.dts to specify serial1 instead of serial0 would have done what I wanted, but it does not.

 

0 Kudos
Reply