Re: [PATCH 2/6] arm64: Add DTS support for Spreadtrum's Shark64 SoC

From: Arnd Bergmann
Date: Mon Oct 20 2014 - 15:00:59 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/