On Thursday 26 February 2015 17:18:41 Chanwoo Choi wrote: > I add following aliases and serial_1/serial_3 dt node in board dtsi: > I tested that change the alias of serial_x node. > > aliases { > serial0 = &serial_1; > serial1 = &serial_3; > }; > > /* Add 'linux,stdout-path' property to print kernel log by using ealycon */ > chosen { > linux,stdout-path = &serial_1; > }; > > [snip] > > /* serial_1 is used for printing kernel log throught JIG cable */ > &serial_1 { > status = "okay"; > }; > > &serial_3 { > status = "okay"; > }; > > In result, serial driver create the /dev/ttySAC0 for serial_1 and /dev/ttySAC1 for serial_3. > But, I cannot complete the kernel booting and stop it with following kernel log > > [ 0.000000] Booting Linux on physical CPU 0x100 > [ 0.000000] Initializing cgroup subsys cpuset > [ 0.000000] Initializing cgroup subsys cpu > [ 0.000000] Initializing cgroup subsys cpuacct > [ 0.000000] Linux version 4.0.0-rc1-00066-g49bfcec-dirty (cwchoi00@chan) (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG l5 > [snip] > [ 0.000000] Kernel command line: console=ttySAC1,115200 earlycon=exynos4210,0x14C20000 What is the "earlycon=exynos4210,0x14C20000" doing here? Should that not just be "earlycon=exynos" or something like that when you set the correct stdout-path? > [snip] > [ 0.651647] dma-pl330 15610000.pdma: Loaded driver for PL330 DMAC-341330 > [ 0.651851] dma-pl330 15610000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32 > [ 0.658566] dma-pl330 15600000.pdma: Loaded driver for PL330 DMAC-341330 > [ 0.662872] dma-pl330 15600000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32 > [ 0.672487] dma-pl330 11420000.adma: Loaded driver for PL330 DMAC-341330 > [ 8466.414900] dma-pl330 11420000.adma: DBUFF-8x8bytes Num_Chans-8 Num_Peri-16 Num_Events-8 > [ 8466.481648] 14c20000.serial: ttySAC0 at MMIO 0x14c20000 (irq = 21, base_baud = 0) is a S3C6400/10 > (dont' print any kernel log) > > So, I change the kernel command line about ('console' bootparam) as following: > because tty framework must use the 'console' bootparam to print kernel log. > - original : Kernel command line: console=ttySAC1,115200 ... (cannot the kernel log from serial driver probed) > - modification : Kernel command line: console=ttySAC0,115200 ... (got the successful kernel booting) > > After modification, I got the successful kernel booting. > > If should use the serial_0 device and then modify the 'aliases' as following: > I have to modify the commandline of bootloader if the commandline of bootloader is used > instad of default kernel command line. > > aliases { > serial0 = &serial_0; > serial1 = &serial_1; > serial2 = &serial_3; > }; If you need the numbers to match, maybe there is still a bug in the serial port driver and it uses some arbitrary number (e.g. probe order, or ascending MMIO address) for the console instead of the alias? Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html