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

From: Lyra Zhang
Date: Mon Oct 20 2014 - 21:28:52 EST


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 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/