2020-05-16 07:07:30

by Tiezhu Yang

[permalink] [raw]
Subject: [PATCH] MIPS: Loongson: Add support for serial console

After commit 87fcfa7b7fe6 ("MIPS: Loongson64: Add generic dts"),
there already exists the node and property of Loongson CPU UART0
in loongson3-package.dtsi:

cpu_uart0: serial@1fe001e0 {
compatible = "ns16550a";
reg = <0 0x1fe001e0 0x8>;
clock-frequency = <33000000>;
interrupt-parent = <&liointc>;
interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
no-loopback-test;
};

In order to support for serial console on the Loongson platform,
add CONFIG_SERIAL_OF_PLATFORM=y to loongson3_defconfig.

With this patch, we can see the following boot message:

[ 1.877745] printk: console [ttyS0] disabled
[ 1.881979] 1fe001e0.serial: ttyS0 at MMIO 0x1fe001e0 (irq = 16, base_baud = 2062500) is a 16550A
[ 1.890838] printk: console [ttyS0] enabled

And also, we can login normally from the serial console.

Signed-off-by: Tiezhu Yang <[email protected]>
---

Hi Jiaxun,

Thank you very much for your suggestion.

arch/mips/configs/loongson3_defconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/mips/configs/loongson3_defconfig b/arch/mips/configs/loongson3_defconfig
index 6768c16..cd95f08 100644
--- a/arch/mips/configs/loongson3_defconfig
+++ b/arch/mips/configs/loongson3_defconfig
@@ -217,6 +217,7 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_HW_RANDOM=y
CONFIG_RAW_DRIVER=m
CONFIG_I2C_CHARDEV=y
--
2.1.0


2020-05-16 07:21:28

by Jiaxun Yang

[permalink] [raw]
Subject: Re: [PATCH] MIPS: Loongson: Add support for serial console



于 2020年5月16日 GMT+08:00 下午3:03:08, Tiezhu Yang <[email protected]> 写到:
>After commit 87fcfa7b7fe6 ("MIPS: Loongson64: Add generic dts"),
>there already exists the node and property of Loongson CPU UART0
>in loongson3-package.dtsi:
>
>cpu_uart0: serial@1fe001e0 {
> compatible = "ns16550a";
> reg = <0 0x1fe001e0 0x8>;
> clock-frequency = <33000000>;
> interrupt-parent = <&liointc>;
> interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
> no-loopback-test;
>};
>
>In order to support for serial console on the Loongson platform,
>add CONFIG_SERIAL_OF_PLATFORM=y to loongson3_defconfig.
>
>With this patch, we can see the following boot message:
>
>[ 1.877745] printk: console [ttyS0] disabled
>[ 1.881979] 1fe001e0.serial: ttyS0 at MMIO 0x1fe001e0 (irq = 16, base_baud = 2062500) is a 16550A
>[ 1.890838] printk: console [ttyS0] enabled
>
>And also, we can login normally from the serial console.
>
>Signed-off-by: Tiezhu Yang <[email protected]>
>---
>
>Hi Jiaxun,
>
>Thank you very much for your suggestion.

Reviewed-by: Jiaxun Yang <[email protected]>

Looks like we need a Kconfig clean up.
I'll do that after getting LS7A PCH support merged.

Anyway, thanks for catching this.

[...]
--
Jiaxun Yang

2020-05-16 11:11:35

by WANG Xuerui

[permalink] [raw]
Subject: Re: [PATCH] MIPS: Loongson: Add support for serial console

On 5/16/20 3:03 PM, Tiezhu Yang wrote:

> After commit 87fcfa7b7fe6 ("MIPS: Loongson64: Add generic dts"),
> there already exists the node and property of Loongson CPU UART0
> in loongson3-package.dtsi:
>
> cpu_uart0: serial@1fe001e0 {
> compatible = "ns16550a";
> reg = <0 0x1fe001e0 0x8>;
> clock-frequency = <33000000>;
> interrupt-parent = <&liointc>;
> interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
> no-loopback-test;
> };
>
> In order to support for serial console on the Loongson platform,
> add CONFIG_SERIAL_OF_PLATFORM=y to loongson3_defconfig.
>
> With this patch, we can see the following boot message:
>
> [ 1.877745] printk: console [ttyS0] disabled
> [ 1.881979] 1fe001e0.serial: ttyS0 at MMIO 0x1fe001e0 (irq = 16, base_baud = 2062500) is a 16550A
> [ 1.890838] printk: console [ttyS0] enabled
>
> And also, we can login normally from the serial console.
>
> Signed-off-by: Tiezhu Yang <[email protected]>
> ---
>
> Hi Jiaxun,
>
> Thank you very much for your suggestion.
>
> arch/mips/configs/loongson3_defconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/mips/configs/loongson3_defconfig b/arch/mips/configs/loongson3_defconfig
> index 6768c16..cd95f08 100644
> --- a/arch/mips/configs/loongson3_defconfig
> +++ b/arch/mips/configs/loongson3_defconfig
> @@ -217,6 +217,7 @@ CONFIG_SERIAL_8250_EXTENDED=y
> CONFIG_SERIAL_8250_MANY_PORTS=y
> CONFIG_SERIAL_8250_SHARE_IRQ=y
> CONFIG_SERIAL_8250_RSA=y
> +CONFIG_SERIAL_OF_PLATFORM=y
> CONFIG_HW_RANDOM=y
> CONFIG_RAW_DRIVER=m
> CONFIG_I2C_CHARDEV=y

Hi,

The patch title is again exaggerating things. This is a defconfig
change, so please refer to `git log` output of `arch/mips/configs` and
use something like "MIPS: Loongson: loongson3_defconfig: enable serial
console" or "MIPS: Loongson: enable serial console in defconfig". The
current title reads as if Loongson kernels never were able to use a
serial console in the past.

2020-05-18 01:11:13

by Tiezhu Yang

[permalink] [raw]
Subject: Re: [PATCH] MIPS: Loongson: Add support for serial console

On 05/16/2020 07:09 PM, WANG Xuerui wrote:
> On 5/16/20 3:03 PM, Tiezhu Yang wrote:
>
>> After commit 87fcfa7b7fe6 ("MIPS: Loongson64: Add generic dts"),
>> there already exists the node and property of Loongson CPU UART0
>> in loongson3-package.dtsi:
>>
>> cpu_uart0: serial@1fe001e0 {
>> compatible = "ns16550a";
>> reg = <0 0x1fe001e0 0x8>;
>> clock-frequency = <33000000>;
>> interrupt-parent = <&liointc>;
>> interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
>> no-loopback-test;
>> };
>>
>> In order to support for serial console on the Loongson platform,
>> add CONFIG_SERIAL_OF_PLATFORM=y to loongson3_defconfig.
>>
>> With this patch, we can see the following boot message:
>>
>> [ 1.877745] printk: console [ttyS0] disabled
>> [ 1.881979] 1fe001e0.serial: ttyS0 at MMIO 0x1fe001e0 (irq = 16,
>> base_baud = 2062500) is a 16550A
>> [ 1.890838] printk: console [ttyS0] enabled
>>
>> And also, we can login normally from the serial console.
>>
>> Signed-off-by: Tiezhu Yang <[email protected]>
>> ---
>>
>> Hi Jiaxun,
>>
>> Thank you very much for your suggestion.
>>
>> arch/mips/configs/loongson3_defconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/mips/configs/loongson3_defconfig
>> b/arch/mips/configs/loongson3_defconfig
>> index 6768c16..cd95f08 100644
>> --- a/arch/mips/configs/loongson3_defconfig
>> +++ b/arch/mips/configs/loongson3_defconfig
>> @@ -217,6 +217,7 @@ CONFIG_SERIAL_8250_EXTENDED=y
>> CONFIG_SERIAL_8250_MANY_PORTS=y
>> CONFIG_SERIAL_8250_SHARE_IRQ=y
>> CONFIG_SERIAL_8250_RSA=y
>> +CONFIG_SERIAL_OF_PLATFORM=y
>> CONFIG_HW_RANDOM=y
>> CONFIG_RAW_DRIVER=m
>> CONFIG_I2C_CHARDEV=y
>
> Hi,
>
> The patch title is again exaggerating things. This is a defconfig
> change, so please refer to `git log` output of `arch/mips/configs` and
> use something like "MIPS: Loongson: loongson3_defconfig: enable serial
> console" or "MIPS: Loongson: enable serial console in defconfig". The
> current title reads as if Loongson kernels never were able to use a
> serial console in the past.

Hi Xuerui,

Thanks for your suggestion.

We can not use the serial console without this patch,
so I use the current patch subject.

Anyway, let me modify the patch subject to make it more accurate,
I think the following is better:
"MIPS: Loongson: Enable devicetree based probing for 8250 ports"

drivers/tty/serial/8250/Kconfig:
config SERIAL_OF_PLATFORM
tristate "Devicetree based probing for 8250 ports"

I will send v2 later.

Thanks,
Tiezhu Yang

2020-05-18 02:39:13

by WANG Xuerui

[permalink] [raw]
Subject: Re: [PATCH] MIPS: Loongson: Add support for serial console

On 2020/5/18 09:08, Tiezhu Yang wrote:

> On 05/16/2020 07:09 PM, WANG Xuerui wrote:
>> On 5/16/20 3:03 PM, Tiezhu Yang wrote:
>>
>>> After commit 87fcfa7b7fe6 ("MIPS: Loongson64: Add generic dts"),
>>> there already exists the node and property of Loongson CPU UART0
>>> in loongson3-package.dtsi:
>>>
>>> cpu_uart0: serial@1fe001e0 {
>>>          compatible = "ns16550a";
>>>          reg = <0 0x1fe001e0 0x8>;
>>>          clock-frequency = <33000000>;
>>>          interrupt-parent = <&liointc>;
>>>          interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
>>>          no-loopback-test;
>>> };
>>>
>>> In order to support for serial console on the Loongson platform,
>>> add CONFIG_SERIAL_OF_PLATFORM=y to loongson3_defconfig.
>>>
>>> With this patch, we can see the following boot message:
>>>
>>> [    1.877745] printk: console [ttyS0] disabled
>>> [    1.881979] 1fe001e0.serial: ttyS0 at MMIO 0x1fe001e0 (irq = 16,
>>> base_baud = 2062500) is a 16550A
>>> [    1.890838] printk: console [ttyS0] enabled
>>>
>>> And also, we can login normally from the serial console.
>>>
>>> Signed-off-by: Tiezhu Yang <[email protected]>
>>> ---
>>>
>>> Hi Jiaxun,
>>>
>>> Thank you very much for your suggestion.
>>>
>>>   arch/mips/configs/loongson3_defconfig | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/arch/mips/configs/loongson3_defconfig
>>> b/arch/mips/configs/loongson3_defconfig
>>> index 6768c16..cd95f08 100644
>>> --- a/arch/mips/configs/loongson3_defconfig
>>> +++ b/arch/mips/configs/loongson3_defconfig
>>> @@ -217,6 +217,7 @@ CONFIG_SERIAL_8250_EXTENDED=y
>>>   CONFIG_SERIAL_8250_MANY_PORTS=y
>>>   CONFIG_SERIAL_8250_SHARE_IRQ=y
>>>   CONFIG_SERIAL_8250_RSA=y
>>> +CONFIG_SERIAL_OF_PLATFORM=y
>>>   CONFIG_HW_RANDOM=y
>>>   CONFIG_RAW_DRIVER=m
>>>   CONFIG_I2C_CHARDEV=y
>>
>> Hi,
>>
>> The patch title is again exaggerating things. This is a defconfig
>> change, so please refer to `git log` output of `arch/mips/configs`
>> and use something like "MIPS: Loongson: loongson3_defconfig: enable
>> serial console" or "MIPS: Loongson: enable serial console in
>> defconfig". The current title reads as if Loongson kernels never were
>> able to use a serial console in the past.
>
> Hi Xuerui,
>
> Thanks for your suggestion.
>
> We can not use the serial console without this patch,
> so I use the current patch subject.

One can always use their own config to build in whatever support they
want. Only people blindly following defconfig are affected. That's why I
think the original patch title is exaggerating.

>
> Anyway, let me modify the patch subject to make it more accurate,
> I think the following is better:
> "MIPS: Loongson: Enable devicetree based probing for 8250 ports"
>
> drivers/tty/serial/8250/Kconfig:
> config SERIAL_OF_PLATFORM
>         tristate "Devicetree based probing for 8250 ports"
>
> I will send v2 later.
>
No problem. Just make it clear that these are defconfig changes so
people don't misunderstand, even if they're otherwise unfamiliar with
the current state of things.
> Thanks,
> Tiezhu Yang
>