Hi, Arnd This problem have been solved, and was submitted in v2. Thanks for your answer to the question(which Orson asked for me) about this on Freenode. Best regards, Lyra 2014-10-21 3:00 GMT+08:00 Arnd Bergmann <arnd@xxxxxxxx>: > On Wednesday 15 October 2014 11:17:07 Lyra Zhang wrote: >> Hi, Arnd > > Hi Lyra, > > Sorry for the late reply, I've been away travelling and am just > now catching up on email. Have you found a solution or do > you still need help with this? > > Arnd > >> 2014-09-29 21:47 GMT+08:00 Arnd Bergmann <arnd@xxxxxxxx>: >> > On Monday 29 September 2014 20:04:49 zhang.lyra@xxxxxxxxx wrote: >> >> + >> >> +/memreserve/ 0x80000000 0x00010000; >> > >> > Maybe add a comment explaining why it is reserved? >> > >> >> + chosen { >> >> + bootargs = "earlycon=serial_sprd,0x70000000"; >> >> + }; >> > >> > Just remove this for now, the command line should really be set by the >> > boot loader, not hardcoded in the dts file. >> > >> > IIRC, the earlycon=... syntax is not recommended on DT based systems, >> > better use the "stdout-path" syntax instead. >> > >> >> I have tried to use "stdout-path" instead of "bootargs= "earlycon= >> ..." like below : >> >> / { >> ... >> >> chosen { >> stdout-path = "/serial@70000000"; >> }; >> >> uart0: serial@70000000 { >> status="okay"; >> }; >> ... >> }; >> >> But then there is nothing output information on serial console.(I have >> been testing in Fast Model) >> >> >> I saw the below code in init/main.c >> >> /* Check for early params. */ >> static int __init do_early_param(char *param, char *val, const char *unused) >> { >> const struct obs_kernel_param *p; >> >> for (p = __setup_start; p < __setup_end; p++) { >> if ((p->early && parameq(param, p->str)) || >> (strcmp(param, "console") == 0 && >> strcmp(p->str, "earlycon") == 0) >> ) { >> if (p->setup_func(val) != 0) >> pr_warn("Malformed early option '%s'\n", param); >> } >> } >> /* We accept everything at this stage. */ >> return 0; >> } >> >> And I saw a patch from Grant Likely, he had a comment in it : >> "If the devicetree specifies a serial port as a stdout device, then the >> kernel can use it as the default console if nothing else was selected on >> the command line. For any serial port that uses the uart_add_one_port() >> feature, the uart_add_one_port() has all the information needed to >> automatically enable the console device, which is what this patch does." >> >> So, I guess that the reason why I can't see any output information on >> console after using "stdout-path" instead of "earlycon" is that I >> haven't a driver of Spreadtrum's serial, and dose not use the >> uart_add_one_port() feature. >> >> I don't know is correct what I guess. >> >> Could you give me some suggestions to solve this problem? >> > -- 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