View Issue Details

IDProjectCategoryView StatusLast Update
0002648fsimx_LinuxSerial Driver/Interfacepublic2015-07-27 16:57
ReporterKeller Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
Product Versionfsimx6-V2.0 
Target Versionfsimx6-V2.1 
Summary0002648: early_console_setup() uses a fix UART port instead of the console= from the command line
DescriptionWhen the debug port is moved to a different serial line, the first part of the kernel boot messages still appear on the old line and only the second part is sent to the correct new line. This is because the call to early_console_setup() in the board support files uses a constant value. See mx6_timer_init() in arch/arm/mach-mx6/board-mx6_efusa9.c for example. But we need a flexible setting based on the console= command line argument.
Steps To ReproduceUse efusA9, connect both serial ports on J14 and J15 of the starterkit to the PC. Then boot to U-Boot and call the following commands

  setenv sercon ttymxc1
  run .console_serial
  run .login_serial
  boot

This will switch the default serial port from ttymxc3 to ttymxc1 and boots Linux. The first part of the boot messages will still appear on ttymxc3, because this is set as early boot console. See output:

  MXC_Early serial console at MMIO 0x21f0000 (options '115200')
  bootconsole [ttymxc1] enabled

Strangely the second line tells us that it uses ttymxc1, but this is wrong. The address 0x21f0000 is ttymxc3 and obviously the text is also coming through ttymxc3 port. So we have to look for this message, too.

When the regular serial devices are activated later in the boot process, at some stage the bootconsole is disabled and the regular console is enabled.

  console [ttymxc1] enabled, bootconsole disabled

At this moment, output actually switches to ttymxc1. From now on everything works as expected and further messages and the login prompt appear on ttymxc1.
Additional InformationAs the bootconsole output already indicates the correct port, maybe we just need to use a correct variable instead of a constant port setting in the board support file.
Forum Link

Activities

There are no notes attached to this issue.