Messages in this thread | | | Date | Wed, 15 Oct 2014 11:17:07 +0800 | Subject | Re: [PATCH 2/6] arm64: Add DTS support for Spreadtrum's Shark64 SoC | From | Lyra Zhang <> |
| |
Hi, Arnd
2014-09-29 21:47 GMT+08:00 Arnd Bergmann <arnd@arndb.de>: > On Monday 29 September 2014 20:04:49 zhang.lyra@gmail.com 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?
Thanks, Chunyan
| |