* [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
@ 2023-08-27 8:29 Lucas Tanure
2023-08-27 9:48 ` Neil Armstrong
2023-08-28 12:31 ` Neil Armstrong
0 siblings, 2 replies; 13+ messages in thread
From: Lucas Tanure @ 2023-08-27 8:29 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby, Neil Armstrong, Kevin Hilman
Cc: linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic,
Lucas Tanure
This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't need a OF_EARLYCON_DECLARE.
Signed-off-by: Lucas Tanure <tanure@linux.com>
---
Since V1:
- add Signed-off-by:
drivers/tty/serial/meson_uart.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
index c4f61d82fb727..790d910dafa5d 100644
--- a/drivers/tty/serial/meson_uart.c
+++ b/drivers/tty/serial/meson_uart.c
@@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct earlycon_device *device, const char *opt
OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
meson_serial_early_console_setup);
-OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
- meson_serial_early_console_setup);
#define MESON_SERIAL_CONSOLE_PTR(_devname) (&meson_serial_console_##_devname)
#else
--
2.42.0
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-27 8:29 [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC" Lucas Tanure
@ 2023-08-27 9:48 ` Neil Armstrong
2023-08-27 10:04 ` Lucas Tanure
2023-08-28 12:31 ` Neil Armstrong
1 sibling, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2023-08-27 9:48 UTC (permalink / raw)
To: Lucas Tanure, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman
Cc: linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
Hi Lucas,
Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
> This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
> New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't need a OF_EARLYCON_DECLARE.
>
> Signed-off-by: Lucas Tanure <tanure@linux.com>
> ---
> Since V1:
> - add Signed-off-by:
>
> drivers/tty/serial/meson_uart.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
> index c4f61d82fb727..790d910dafa5d 100644
> --- a/drivers/tty/serial/meson_uart.c
> +++ b/drivers/tty/serial/meson_uart.c
> @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct earlycon_device *device, const char *opt
>
> OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> meson_serial_early_console_setup);
> -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
> - meson_serial_early_console_setup);
>
> #define MESON_SERIAL_CONSOLE_PTR(_devname) (&meson_serial_console_##_devname)
> #else
How do you use earlycon with this removed ?
Neil
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-27 9:48 ` Neil Armstrong
@ 2023-08-27 10:04 ` Lucas Tanure
2023-08-27 10:23 ` Neil Armstrong
0 siblings, 1 reply; 13+ messages in thread
From: Lucas Tanure @ 2023-08-27 10:04 UTC (permalink / raw)
To: Neil Armstrong, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman
Cc: linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
On 27-08-2023 10:48, Neil Armstrong wrote:
> Hi Lucas,
>
> Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
>> This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
>> New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't need a
>> OF_EARLYCON_DECLARE.
>>
>> Signed-off-by: Lucas Tanure <tanure@linux.com>
>> ---
>> Since V1:
>> - add Signed-off-by:
>>
>> drivers/tty/serial/meson_uart.c | 2 --
>> 1 file changed, 2 deletions(-)
>>
>> diff --git a/drivers/tty/serial/meson_uart.c
>> b/drivers/tty/serial/meson_uart.c
>> index c4f61d82fb727..790d910dafa5d 100644
>> --- a/drivers/tty/serial/meson_uart.c
>> +++ b/drivers/tty/serial/meson_uart.c
>> @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct
>> earlycon_device *device, const char *opt
>> OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
>> meson_serial_early_console_setup);
>> -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
>> - meson_serial_early_console_setup);
>> #define MESON_SERIAL_CONSOLE_PTR(_devname)
>> (&meson_serial_console_##_devname)
>> #else
>
> How do you use earlycon with this removed ?
>
> Neil
This is my kernel cmdline:
console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
And I can see my log:
boot 64bit kernel
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
[ 0.000000] Linux version 6.5.0-rc7-next-20230825+ (tanureal@ryzen)
(aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile
Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU
Toolchain fo3
[ 0.000000] KASLR disabled due to lack of seed
[ 0.000000] Machine model: Khadas vim4
[ 0.000000] OF: reserved mem: 0x0000000005000000..0x00000000052fffff
(3072 KiB) nomap non-reusable secmon@5000000
[ 0.000000] OF: reserved mem: 0x0000000005300000..0x00000000072fffff
(32768 KiB) nomap non-reusable secmon@5300000
...
[ 0.079368] io scheduler mq-deadline registered
[ 0.079374] io scheduler kyber registered
[ 0.079549] io scheduler bfq registered
[ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14,
base_baud = 1500000) is a meson_uart
[ 0.083403] printk: console [ttyS0] enabled
As the log is OK, and T7 for now is binding against S4 code we should
drop this patch and add a S4 one if needed.
But just having this log is not enough for testing earlycon?
I am assuming that by just having the log since 0.0000 is a good sign
that earlycon is working.
Could you give further guidance?
Lucas Tanure
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-27 10:04 ` Lucas Tanure
@ 2023-08-27 10:23 ` Neil Armstrong
2023-08-27 10:31 ` Lucas Tanure
0 siblings, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2023-08-27 10:23 UTC (permalink / raw)
To: Lucas Tanure, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman
Cc: linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
Hi Lucas,
Le 27/08/2023 à 12:04, Lucas Tanure a écrit :
> On 27-08-2023 10:48, Neil Armstrong wrote:
>> Hi Lucas,
>>
>> Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
>>> This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
>>> New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't need a OF_EARLYCON_DECLARE.
>>>
>>> Signed-off-by: Lucas Tanure <tanure@linux.com>
>>> ---
>>> Since V1:
>>> - add Signed-off-by:
>>>
>>> drivers/tty/serial/meson_uart.c | 2 --
>>> 1 file changed, 2 deletions(-)
>>>
>>> diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
>>> index c4f61d82fb727..790d910dafa5d 100644
>>> --- a/drivers/tty/serial/meson_uart.c
>>> +++ b/drivers/tty/serial/meson_uart.c
>>> @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct earlycon_device *device, const char *opt
>>> OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
>>> meson_serial_early_console_setup);
>>> -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
>>> - meson_serial_early_console_setup);
>>> #define MESON_SERIAL_CONSOLE_PTR(_devname) (&meson_serial_console_##_devname)
>>> #else
>>
>> How do you use earlycon with this removed ?
>>
>> Neil
> This is my kernel cmdline:
> console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
>
> And I can see my log:
> boot 64bit kernel
> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
> [ 0.000000] Linux version 6.5.0-rc7-next-20230825+ (tanureal@ryzen) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU Toolchain fo3
> [ 0.000000] KASLR disabled due to lack of seed
> [ 0.000000] Machine model: Khadas vim4
> [ 0.000000] OF: reserved mem: 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable secmon@5000000
> [ 0.000000] OF: reserved mem: 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap non-reusable secmon@5300000
> ...
> [ 0.079368] io scheduler mq-deadline registered
> [ 0.079374] io scheduler kyber registered
> [ 0.079549] io scheduler bfq registered
> [ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14, base_baud = 1500000) is a meson_uart
> [ 0.083403] printk: console [ttyS0] enabled
>
> As the log is OK, and T7 for now is binding against S4 code we should drop this patch and add a S4 one if needed.
>
> But just having this log is not enough for testing earlycon?
> I am assuming that by just having the log since 0.0000 is a good sign that earlycon is working.
> Could you give further guidance?
First the kernel argument is simply "earlycon" with no other options,
the earlycon code will fetch the first uart using the DT /chosen/stdout-path property.
Then you should see something like right after "Machine model":
[ 0.000000] earlycon: meson0 at MMIO 0x00000000ff803000 (options '115200n8')
The boot log you share doesn't use earlycon, it waits until all depedency of the UART
has been probed before probing the UART driver and prints the whole boot log.
Earlycon is a mechanism to use the UART HW as configured by the bootloader in
a minimal way very early in the boot in order to detect very early lockups.
Keeping OF_EARLYCON_DECLARE for t7 would enable this.
Neil
>
> Lucas Tanure
>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-27 10:23 ` Neil Armstrong
@ 2023-08-27 10:31 ` Lucas Tanure
2023-08-28 7:58 ` Neil Armstrong
2023-08-28 8:20 ` Dmitry Rokosov
0 siblings, 2 replies; 13+ messages in thread
From: Lucas Tanure @ 2023-08-27 10:31 UTC (permalink / raw)
To: Neil Armstrong, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman
Cc: linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
On 27-08-2023 11:23, Neil Armstrong wrote:
> Hi Lucas,
>
> Le 27/08/2023 à 12:04, Lucas Tanure a écrit :
>> On 27-08-2023 10:48, Neil Armstrong wrote:
>>> Hi Lucas,
>>>
>>> Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
>>>> This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
>>>> New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't need a
>>>> OF_EARLYCON_DECLARE.
>>>>
>>>> Signed-off-by: Lucas Tanure <tanure@linux.com>
>>>> ---
>>>> Since V1:
>>>> - add Signed-off-by:
>>>>
>>>> drivers/tty/serial/meson_uart.c | 2 --
>>>> 1 file changed, 2 deletions(-)
>>>>
>>>> diff --git a/drivers/tty/serial/meson_uart.c
>>>> b/drivers/tty/serial/meson_uart.c
>>>> index c4f61d82fb727..790d910dafa5d 100644
>>>> --- a/drivers/tty/serial/meson_uart.c
>>>> +++ b/drivers/tty/serial/meson_uart.c
>>>> @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct
>>>> earlycon_device *device, const char *opt
>>>> OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
>>>> meson_serial_early_console_setup);
>>>> -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
>>>> - meson_serial_early_console_setup);
>>>> #define MESON_SERIAL_CONSOLE_PTR(_devname)
>>>> (&meson_serial_console_##_devname)
>>>> #else
>>>
>>> How do you use earlycon with this removed ?
>>>
>>> Neil
>> This is my kernel cmdline:
>> console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
>>
>> And I can see my log:
>> boot 64bit kernel
>> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
>> [ 0.000000] Linux version 6.5.0-rc7-next-20230825+ (tanureal@ryzen)
>> (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile
>> Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU
>> Toolchain fo3
>> [ 0.000000] KASLR disabled due to lack of seed
>> [ 0.000000] Machine model: Khadas vim4
>> [ 0.000000] OF: reserved mem:
>> 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable
>> secmon@5000000
>> [ 0.000000] OF: reserved mem:
>> 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap non-reusable
>> secmon@5300000
>> ...
>> [ 0.079368] io scheduler mq-deadline registered
>> [ 0.079374] io scheduler kyber registered
>> [ 0.079549] io scheduler bfq registered
>> [ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14,
>> base_baud = 1500000) is a meson_uart
>> [ 0.083403] printk: console [ttyS0] enabled
>>
>> As the log is OK, and T7 for now is binding against S4 code we should
>> drop this patch and add a S4 one if needed.
>>
>> But just having this log is not enough for testing earlycon?
>> I am assuming that by just having the log since 0.0000 is a good sign
>> that earlycon is working.
>> Could you give further guidance?
>
> First the kernel argument is simply "earlycon" with no other options,
> the earlycon code will fetch the first uart using the DT
> /chosen/stdout-path property.
>
> Then you should see something like right after "Machine model":
> [ 0.000000] earlycon: meson0 at MMIO 0x00000000ff803000 (options
> '115200n8')
>
> The boot log you share doesn't use earlycon, it waits until all
> depedency of the UART
> has been probed before probing the UART driver and prints the whole boot
> log.
>
> Earlycon is a mechanism to use the UART HW as configured by the
> bootloader in
> a minimal way very early in the boot in order to detect very early lockups.
>
> Keeping OF_EARLYCON_DECLARE for t7 would enable this.
>
> Neil
>
>>
>> Lucas Tanure
>>
>
But then we would need to add Earlycon for S4 too.
How can we add one Earlycon for all future SoCs, like S4 and T7?
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-27 10:31 ` Lucas Tanure
@ 2023-08-28 7:58 ` Neil Armstrong
2023-08-28 8:20 ` Dmitry Rokosov
1 sibling, 0 replies; 13+ messages in thread
From: Neil Armstrong @ 2023-08-28 7:58 UTC (permalink / raw)
To: Lucas Tanure, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman
Cc: linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
On 27/08/2023 12:31, Lucas Tanure wrote:
> On 27-08-2023 11:23, Neil Armstrong wrote:
>> Hi Lucas,
>>
>> Le 27/08/2023 à 12:04, Lucas Tanure a écrit :
>>> On 27-08-2023 10:48, Neil Armstrong wrote:
>>>> Hi Lucas,
>>>>
>>>> Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
>>>>> This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
>>>>> New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't need a OF_EARLYCON_DECLARE.
>>>>>
>>>>> Signed-off-by: Lucas Tanure <tanure@linux.com>
>>>>> ---
>>>>> Since V1:
>>>>> - add Signed-off-by:
>>>>>
>>>>> drivers/tty/serial/meson_uart.c | 2 --
>>>>> 1 file changed, 2 deletions(-)
>>>>>
>>>>> diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
>>>>> index c4f61d82fb727..790d910dafa5d 100644
>>>>> --- a/drivers/tty/serial/meson_uart.c
>>>>> +++ b/drivers/tty/serial/meson_uart.c
>>>>> @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct earlycon_device *device, const char *opt
>>>>> OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
>>>>> meson_serial_early_console_setup);
>>>>> -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
>>>>> - meson_serial_early_console_setup);
>>>>> #define MESON_SERIAL_CONSOLE_PTR(_devname) (&meson_serial_console_##_devname)
>>>>> #else
>>>>
>>>> How do you use earlycon with this removed ?
>>>>
>>>> Neil
>>> This is my kernel cmdline:
>>> console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
>>>
>>> And I can see my log:
>>> boot 64bit kernel
>>> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
>>> [ 0.000000] Linux version 6.5.0-rc7-next-20230825+ (tanureal@ryzen) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621, GNU ld (GNU Toolchain fo3
>>> [ 0.000000] KASLR disabled due to lack of seed
>>> [ 0.000000] Machine model: Khadas vim4
>>> [ 0.000000] OF: reserved mem: 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable secmon@5000000
>>> [ 0.000000] OF: reserved mem: 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap non-reusable secmon@5300000
>>> ...
>>> [ 0.079368] io scheduler mq-deadline registered
>>> [ 0.079374] io scheduler kyber registered
>>> [ 0.079549] io scheduler bfq registered
>>> [ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14, base_baud = 1500000) is a meson_uart
>>> [ 0.083403] printk: console [ttyS0] enabled
>>>
>>> As the log is OK, and T7 for now is binding against S4 code we should drop this patch and add a S4 one if needed.
>>>
>>> But just having this log is not enough for testing earlycon?
>>> I am assuming that by just having the log since 0.0000 is a good sign that earlycon is working.
>>> Could you give further guidance?
>>
>> First the kernel argument is simply "earlycon" with no other options,
>> the earlycon code will fetch the first uart using the DT /chosen/stdout-path property.
>>
>> Then you should see something like right after "Machine model":
>> [ 0.000000] earlycon: meson0 at MMIO 0x00000000ff803000 (options '115200n8')
>>
>> The boot log you share doesn't use earlycon, it waits until all depedency of the UART
>> has been probed before probing the UART driver and prints the whole boot log.
>>
>> Earlycon is a mechanism to use the UART HW as configured by the bootloader in
>> a minimal way very early in the boot in order to detect very early lockups.
>>
>> Keeping OF_EARLYCON_DECLARE for t7 would enable this.
>>
>> Neil
>>
>>>
>>> Lucas Tanure
>>>
>>
> But then we would need to add Earlycon for S4 too.
> How can we add one Earlycon for all future SoCs, like S4 and T7?
>
As of today, S4 has an UART with amlogic,meson-ao-uart as fallback compatibl,
but if there's no AO UART on S4, then this is wrong and yes a new OF_EARLYCON_DECLARE
with amlogic,meson-s4-uart should be added.
Neil
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-27 10:31 ` Lucas Tanure
2023-08-28 7:58 ` Neil Armstrong
@ 2023-08-28 8:20 ` Dmitry Rokosov
2023-08-28 8:23 ` Neil Armstrong
1 sibling, 1 reply; 13+ messages in thread
From: Dmitry Rokosov @ 2023-08-28 8:20 UTC (permalink / raw)
To: Lucas Tanure
Cc: Neil Armstrong, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman,
linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
On Sun, Aug 27, 2023 at 11:31:35AM +0100, Lucas Tanure wrote:
> On 27-08-2023 11:23, Neil Armstrong wrote:
> > Hi Lucas,
> >
> > Le 27/08/2023 à 12:04, Lucas Tanure a écrit :
> > > On 27-08-2023 10:48, Neil Armstrong wrote:
> > > > Hi Lucas,
> > > >
> > > > Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
> > > > > This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
> > > > > New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't
> > > > > need a OF_EARLYCON_DECLARE.
> > > > >
> > > > > Signed-off-by: Lucas Tanure <tanure@linux.com>
> > > > > ---
> > > > > Since V1:
> > > > > - add Signed-off-by:
> > > > >
> > > > > drivers/tty/serial/meson_uart.c | 2 --
> > > > > 1 file changed, 2 deletions(-)
> > > > >
> > > > > diff --git a/drivers/tty/serial/meson_uart.c
> > > > > b/drivers/tty/serial/meson_uart.c
> > > > > index c4f61d82fb727..790d910dafa5d 100644
> > > > > --- a/drivers/tty/serial/meson_uart.c
> > > > > +++ b/drivers/tty/serial/meson_uart.c
> > > > > @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct
> > > > > earlycon_device *device, const char *opt
> > > > > OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> > > > > meson_serial_early_console_setup);
> > > > > -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
> > > > > - meson_serial_early_console_setup);
> > > > > #define MESON_SERIAL_CONSOLE_PTR(_devname)
> > > > > (&meson_serial_console_##_devname)
> > > > > #else
> > > >
> > > > How do you use earlycon with this removed ?
> > > >
> > > > Neil
> > > This is my kernel cmdline:
> > > console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
> > >
> > > And I can see my log:
> > > boot 64bit kernel
> > > [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
> > > [ 0.000000] Linux version 6.5.0-rc7-next-20230825+
> > > (tanureal@ryzen) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the
> > > A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621,
> > > GNU ld (GNU Toolchain fo3
> > > [ 0.000000] KASLR disabled due to lack of seed
> > > [ 0.000000] Machine model: Khadas vim4
> > > [ 0.000000] OF: reserved mem:
> > > 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable
> > > secmon@5000000
> > > [ 0.000000] OF: reserved mem:
> > > 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap
> > > non-reusable secmon@5300000
> > > ...
> > > [ 0.079368] io scheduler mq-deadline registered
> > > [ 0.079374] io scheduler kyber registered
> > > [ 0.079549] io scheduler bfq registered
> > > [ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14,
> > > base_baud = 1500000) is a meson_uart
> > > [ 0.083403] printk: console [ttyS0] enabled
> > >
> > > As the log is OK, and T7 for now is binding against S4 code we
> > > should drop this patch and add a S4 one if needed.
> > >
> > > But just having this log is not enough for testing earlycon?
> > > I am assuming that by just having the log since 0.0000 is a good
> > > sign that earlycon is working.
> > > Could you give further guidance?
> >
> > First the kernel argument is simply "earlycon" with no other options,
> > the earlycon code will fetch the first uart using the DT
> > /chosen/stdout-path property.
> >
> > Then you should see something like right after "Machine model":
> > [ 0.000000] earlycon: meson0 at MMIO 0x00000000ff803000 (options
> > '115200n8')
> >
> > The boot log you share doesn't use earlycon, it waits until all
> > depedency of the UART
> > has been probed before probing the UART driver and prints the whole boot
> > log.
> >
> > Earlycon is a mechanism to use the UART HW as configured by the
> > bootloader in
> > a minimal way very early in the boot in order to detect very early lockups.
> >
> > Keeping OF_EARLYCON_DECLARE for t7 would enable this.
> >
> > Neil
> >
> > >
> > > Lucas Tanure
> > >
> >
> But then we would need to add Earlycon for S4 too.
> How can we add one Earlycon for all future SoCs, like S4 and T7?
>
Per my understanding, you just need to declare UART dts node with the
following compatible string: "amlogic,meson-ao-uart". It will enabled
earlycon. There is no neccessary to declare separate
OF_EARLYCON_DECLARE(). It's working okay for A1 dts:
meson-a1.dtsi uart declaration:
uart_AO_B: serial@2000 {
compatible = "amlogic,meson-a1-uart",
"amlogic,meson-ao-uart";
reg = <0x0 0x2000 0x0 0x18>;
interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
clocks = <&xtal>, <&xtal>, <&xtal>;
clock-names = "xtal", "pclk", "baud";
status = "disabled";
};
earlycon declaration from dts:
aliases {
serial0 = &uart_AO_B;
};
chosen {
stdout-path = "serial0:115200n8";
};
>
> _______________________________________________
> linux-amlogic mailing list
> linux-amlogic@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-amlogic
--
Thank you,
Dmitry
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-28 8:20 ` Dmitry Rokosov
@ 2023-08-28 8:23 ` Neil Armstrong
2023-08-28 8:46 ` Dmitry Rokosov
0 siblings, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2023-08-28 8:23 UTC (permalink / raw)
To: Dmitry Rokosov, Lucas Tanure
Cc: Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman, linux-kernel,
linux-serial, linux-arm-kernel, linux-amlogic
Hi,
On 28/08/2023 10:20, Dmitry Rokosov wrote:
> On Sun, Aug 27, 2023 at 11:31:35AM +0100, Lucas Tanure wrote:
>> On 27-08-2023 11:23, Neil Armstrong wrote:
>>> Hi Lucas,
>>>
>>> Le 27/08/2023 à 12:04, Lucas Tanure a écrit :
>>>> On 27-08-2023 10:48, Neil Armstrong wrote:
>>>>> Hi Lucas,
>>>>>
>>>>> Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
>>>>>> This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
>>>>>> New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't
>>>>>> need a OF_EARLYCON_DECLARE.
>>>>>>
>>>>>> Signed-off-by: Lucas Tanure <tanure@linux.com>
>>>>>> ---
>>>>>> Since V1:
>>>>>> - add Signed-off-by:
>>>>>>
>>>>>> drivers/tty/serial/meson_uart.c | 2 --
>>>>>> 1 file changed, 2 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/tty/serial/meson_uart.c
>>>>>> b/drivers/tty/serial/meson_uart.c
>>>>>> index c4f61d82fb727..790d910dafa5d 100644
>>>>>> --- a/drivers/tty/serial/meson_uart.c
>>>>>> +++ b/drivers/tty/serial/meson_uart.c
>>>>>> @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct
>>>>>> earlycon_device *device, const char *opt
>>>>>> OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
>>>>>> meson_serial_early_console_setup);
>>>>>> -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
>>>>>> - meson_serial_early_console_setup);
>>>>>> #define MESON_SERIAL_CONSOLE_PTR(_devname)
>>>>>> (&meson_serial_console_##_devname)
>>>>>> #else
>>>>>
>>>>> How do you use earlycon with this removed ?
>>>>>
>>>>> Neil
>>>> This is my kernel cmdline:
>>>> console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
>>>>
>>>> And I can see my log:
>>>> boot 64bit kernel
>>>> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
>>>> [ 0.000000] Linux version 6.5.0-rc7-next-20230825+
>>>> (tanureal@ryzen) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the
>>>> A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621,
>>>> GNU ld (GNU Toolchain fo3
>>>> [ 0.000000] KASLR disabled due to lack of seed
>>>> [ 0.000000] Machine model: Khadas vim4
>>>> [ 0.000000] OF: reserved mem:
>>>> 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable
>>>> secmon@5000000
>>>> [ 0.000000] OF: reserved mem:
>>>> 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap
>>>> non-reusable secmon@5300000
>>>> ...
>>>> [ 0.079368] io scheduler mq-deadline registered
>>>> [ 0.079374] io scheduler kyber registered
>>>> [ 0.079549] io scheduler bfq registered
>>>> [ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14,
>>>> base_baud = 1500000) is a meson_uart
>>>> [ 0.083403] printk: console [ttyS0] enabled
>>>>
>>>> As the log is OK, and T7 for now is binding against S4 code we
>>>> should drop this patch and add a S4 one if needed.
>>>>
>>>> But just having this log is not enough for testing earlycon?
>>>> I am assuming that by just having the log since 0.0000 is a good
>>>> sign that earlycon is working.
>>>> Could you give further guidance?
>>>
>>> First the kernel argument is simply "earlycon" with no other options,
>>> the earlycon code will fetch the first uart using the DT
>>> /chosen/stdout-path property.
>>>
>>> Then you should see something like right after "Machine model":
>>> [ 0.000000] earlycon: meson0 at MMIO 0x00000000ff803000 (options
>>> '115200n8')
>>>
>>> The boot log you share doesn't use earlycon, it waits until all
>>> depedency of the UART
>>> has been probed before probing the UART driver and prints the whole boot
>>> log.
>>>
>>> Earlycon is a mechanism to use the UART HW as configured by the
>>> bootloader in
>>> a minimal way very early in the boot in order to detect very early lockups.
>>>
>>> Keeping OF_EARLYCON_DECLARE for t7 would enable this.
>>>
>>> Neil
>>>
>>>>
>>>> Lucas Tanure
>>>>
>>>
>> But then we would need to add Earlycon for S4 too.
>> How can we add one Earlycon for all future SoCs, like S4 and T7?
>>
>
> Per my understanding, you just need to declare UART dts node with the
> following compatible string: "amlogic,meson-ao-uart". It will enabled
> earlycon. There is no neccessary to declare separate
> OF_EARLYCON_DECLARE(). It's working okay for A1 dts:
This works on A1 because uart_AO_B is an Always-On UART, and using amlogic,meson-ao-uart
is corrent.
But for S4 & T7, Amlogic dropped the Always-On power domain, so there's no more AO uarts,
so using amlogic,meson-ao-uart on those is abusing the DT to enable a driver functionality.
So the solution is to add those OF_EARLYCON_DECLARE and only use the correct
/chosen/stdout-path property.
Neil
>
> meson-a1.dtsi uart declaration:
> uart_AO_B: serial@2000 {
> compatible = "amlogic,meson-a1-uart",
> "amlogic,meson-ao-uart";
> reg = <0x0 0x2000 0x0 0x18>;
> interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
> clocks = <&xtal>, <&xtal>, <&xtal>;
> clock-names = "xtal", "pclk", "baud";
> status = "disabled";
> };
>
> earlycon declaration from dts:
> aliases {
> serial0 = &uart_AO_B;
> };
>
> chosen {
> stdout-path = "serial0:115200n8";
> };
>
>>
>> _______________________________________________
>> linux-amlogic mailing list
>> linux-amlogic@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-amlogic
>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-28 8:23 ` Neil Armstrong
@ 2023-08-28 8:46 ` Dmitry Rokosov
2023-08-28 8:47 ` Lucas Tanure
0 siblings, 1 reply; 13+ messages in thread
From: Dmitry Rokosov @ 2023-08-28 8:46 UTC (permalink / raw)
To: Neil Armstrong
Cc: Lucas Tanure, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman,
linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
On Mon, Aug 28, 2023 at 10:23:45AM +0200, Neil Armstrong wrote:
> Hi,
>
> On 28/08/2023 10:20, Dmitry Rokosov wrote:
> > On Sun, Aug 27, 2023 at 11:31:35AM +0100, Lucas Tanure wrote:
> > > On 27-08-2023 11:23, Neil Armstrong wrote:
> > > > Hi Lucas,
> > > >
> > > > Le 27/08/2023 à 12:04, Lucas Tanure a écrit :
> > > > > On 27-08-2023 10:48, Neil Armstrong wrote:
> > > > > > Hi Lucas,
> > > > > >
> > > > > > Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
> > > > > > > This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
> > > > > > > New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't
> > > > > > > need a OF_EARLYCON_DECLARE.
> > > > > > >
> > > > > > > Signed-off-by: Lucas Tanure <tanure@linux.com>
> > > > > > > ---
> > > > > > > Since V1:
> > > > > > > - add Signed-off-by:
> > > > > > >
> > > > > > > drivers/tty/serial/meson_uart.c | 2 --
> > > > > > > 1 file changed, 2 deletions(-)
> > > > > > >
> > > > > > > diff --git a/drivers/tty/serial/meson_uart.c
> > > > > > > b/drivers/tty/serial/meson_uart.c
> > > > > > > index c4f61d82fb727..790d910dafa5d 100644
> > > > > > > --- a/drivers/tty/serial/meson_uart.c
> > > > > > > +++ b/drivers/tty/serial/meson_uart.c
> > > > > > > @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct
> > > > > > > earlycon_device *device, const char *opt
> > > > > > > OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> > > > > > > meson_serial_early_console_setup);
> > > > > > > -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
> > > > > > > - meson_serial_early_console_setup);
> > > > > > > #define MESON_SERIAL_CONSOLE_PTR(_devname)
> > > > > > > (&meson_serial_console_##_devname)
> > > > > > > #else
> > > > > >
> > > > > > How do you use earlycon with this removed ?
> > > > > >
> > > > > > Neil
> > > > > This is my kernel cmdline:
> > > > > console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
> > > > >
> > > > > And I can see my log:
> > > > > boot 64bit kernel
> > > > > [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
> > > > > [ 0.000000] Linux version 6.5.0-rc7-next-20230825+
> > > > > (tanureal@ryzen) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the
> > > > > A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621,
> > > > > GNU ld (GNU Toolchain fo3
> > > > > [ 0.000000] KASLR disabled due to lack of seed
> > > > > [ 0.000000] Machine model: Khadas vim4
> > > > > [ 0.000000] OF: reserved mem:
> > > > > 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable
> > > > > secmon@5000000
> > > > > [ 0.000000] OF: reserved mem:
> > > > > 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap
> > > > > non-reusable secmon@5300000
> > > > > ...
> > > > > [ 0.079368] io scheduler mq-deadline registered
> > > > > [ 0.079374] io scheduler kyber registered
> > > > > [ 0.079549] io scheduler bfq registered
> > > > > [ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14,
> > > > > base_baud = 1500000) is a meson_uart
> > > > > [ 0.083403] printk: console [ttyS0] enabled
> > > > >
> > > > > As the log is OK, and T7 for now is binding against S4 code we
> > > > > should drop this patch and add a S4 one if needed.
> > > > >
> > > > > But just having this log is not enough for testing earlycon?
> > > > > I am assuming that by just having the log since 0.0000 is a good
> > > > > sign that earlycon is working.
> > > > > Could you give further guidance?
> > > >
> > > > First the kernel argument is simply "earlycon" with no other options,
> > > > the earlycon code will fetch the first uart using the DT
> > > > /chosen/stdout-path property.
> > > >
> > > > Then you should see something like right after "Machine model":
> > > > [ 0.000000] earlycon: meson0 at MMIO 0x00000000ff803000 (options
> > > > '115200n8')
> > > >
> > > > The boot log you share doesn't use earlycon, it waits until all
> > > > depedency of the UART
> > > > has been probed before probing the UART driver and prints the whole boot
> > > > log.
> > > >
> > > > Earlycon is a mechanism to use the UART HW as configured by the
> > > > bootloader in
> > > > a minimal way very early in the boot in order to detect very early lockups.
> > > >
> > > > Keeping OF_EARLYCON_DECLARE for t7 would enable this.
> > > >
> > > > Neil
> > > >
> > > > >
> > > > > Lucas Tanure
> > > > >
> > > >
> > > But then we would need to add Earlycon for S4 too.
> > > How can we add one Earlycon for all future SoCs, like S4 and T7?
> > >
> >
> > Per my understanding, you just need to declare UART dts node with the
> > following compatible string: "amlogic,meson-ao-uart". It will enabled
> > earlycon. There is no neccessary to declare separate
> > OF_EARLYCON_DECLARE(). It's working okay for A1 dts:
>
> This works on A1 because uart_AO_B is an Always-On UART, and using amlogic,meson-ao-uart
> is corrent.
> But for S4 & T7, Amlogic dropped the Always-On power domain, so there's no more AO uarts,
> so using amlogic,meson-ao-uart on those is abusing the DT to enable a driver functionality.
>
> So the solution is to add those OF_EARLYCON_DECLARE and only use the correct
> /chosen/stdout-path property.
Oh, I didn't know about missing Always-On UART AO power domain. In this
situation I'm fully agree with separate OF_EARLYCON_DECLARE(). Thank you
for explanation!
> >
> > meson-a1.dtsi uart declaration:
> > uart_AO_B: serial@2000 {
> > compatible = "amlogic,meson-a1-uart",
> > "amlogic,meson-ao-uart";
> > reg = <0x0 0x2000 0x0 0x18>;
> > interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
> > clocks = <&xtal>, <&xtal>, <&xtal>;
> > clock-names = "xtal", "pclk", "baud";
> > status = "disabled";
> > };
> >
> > earlycon declaration from dts:
> > aliases {
> > serial0 = &uart_AO_B;
> > };
> >
> > chosen {
> > stdout-path = "serial0:115200n8";
> > };
> >
> > >
> > > _______________________________________________
> > > linux-amlogic mailing list
> > > linux-amlogic@lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/linux-amlogic
> >
>
--
Thank you,
Dmitry
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-28 8:46 ` Dmitry Rokosov
@ 2023-08-28 8:47 ` Lucas Tanure
2023-08-28 8:50 ` Neil Armstrong
0 siblings, 1 reply; 13+ messages in thread
From: Lucas Tanure @ 2023-08-28 8:47 UTC (permalink / raw)
To: Dmitry Rokosov
Cc: Neil Armstrong, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman,
linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
On Mon, Aug 28, 2023 at 9:46 AM Dmitry Rokosov <ddrokosov@sberdevices.ru> wrote:
>
> On Mon, Aug 28, 2023 at 10:23:45AM +0200, Neil Armstrong wrote:
> > Hi,
> >
> > On 28/08/2023 10:20, Dmitry Rokosov wrote:
> > > On Sun, Aug 27, 2023 at 11:31:35AM +0100, Lucas Tanure wrote:
> > > > On 27-08-2023 11:23, Neil Armstrong wrote:
> > > > > Hi Lucas,
> > > > >
> > > > > Le 27/08/2023 à 12:04, Lucas Tanure a écrit :
> > > > > > On 27-08-2023 10:48, Neil Armstrong wrote:
> > > > > > > Hi Lucas,
> > > > > > >
> > > > > > > Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
> > > > > > > > This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
> > > > > > > > New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't
> > > > > > > > need a OF_EARLYCON_DECLARE.
> > > > > > > >
> > > > > > > > Signed-off-by: Lucas Tanure <tanure@linux.com>
> > > > > > > > ---
> > > > > > > > Since V1:
> > > > > > > > - add Signed-off-by:
> > > > > > > >
> > > > > > > > drivers/tty/serial/meson_uart.c | 2 --
> > > > > > > > 1 file changed, 2 deletions(-)
> > > > > > > >
> > > > > > > > diff --git a/drivers/tty/serial/meson_uart.c
> > > > > > > > b/drivers/tty/serial/meson_uart.c
> > > > > > > > index c4f61d82fb727..790d910dafa5d 100644
> > > > > > > > --- a/drivers/tty/serial/meson_uart.c
> > > > > > > > +++ b/drivers/tty/serial/meson_uart.c
> > > > > > > > @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct
> > > > > > > > earlycon_device *device, const char *opt
> > > > > > > > OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> > > > > > > > meson_serial_early_console_setup);
> > > > > > > > -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
> > > > > > > > - meson_serial_early_console_setup);
> > > > > > > > #define MESON_SERIAL_CONSOLE_PTR(_devname)
> > > > > > > > (&meson_serial_console_##_devname)
> > > > > > > > #else
> > > > > > >
> > > > > > > How do you use earlycon with this removed ?
> > > > > > >
> > > > > > > Neil
> > > > > > This is my kernel cmdline:
> > > > > > console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
> > > > > >
> > > > > > And I can see my log:
> > > > > > boot 64bit kernel
> > > > > > [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
> > > > > > [ 0.000000] Linux version 6.5.0-rc7-next-20230825+
> > > > > > (tanureal@ryzen) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the
> > > > > > A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621,
> > > > > > GNU ld (GNU Toolchain fo3
> > > > > > [ 0.000000] KASLR disabled due to lack of seed
> > > > > > [ 0.000000] Machine model: Khadas vim4
> > > > > > [ 0.000000] OF: reserved mem:
> > > > > > 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable
> > > > > > secmon@5000000
> > > > > > [ 0.000000] OF: reserved mem:
> > > > > > 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap
> > > > > > non-reusable secmon@5300000
> > > > > > ...
> > > > > > [ 0.079368] io scheduler mq-deadline registered
> > > > > > [ 0.079374] io scheduler kyber registered
> > > > > > [ 0.079549] io scheduler bfq registered
> > > > > > [ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14,
> > > > > > base_baud = 1500000) is a meson_uart
> > > > > > [ 0.083403] printk: console [ttyS0] enabled
> > > > > >
> > > > > > As the log is OK, and T7 for now is binding against S4 code we
> > > > > > should drop this patch and add a S4 one if needed.
> > > > > >
> > > > > > But just having this log is not enough for testing earlycon?
> > > > > > I am assuming that by just having the log since 0.0000 is a good
> > > > > > sign that earlycon is working.
> > > > > > Could you give further guidance?
> > > > >
> > > > > First the kernel argument is simply "earlycon" with no other options,
> > > > > the earlycon code will fetch the first uart using the DT
> > > > > /chosen/stdout-path property.
> > > > >
> > > > > Then you should see something like right after "Machine model":
> > > > > [ 0.000000] earlycon: meson0 at MMIO 0x00000000ff803000 (options
> > > > > '115200n8')
> > > > >
> > > > > The boot log you share doesn't use earlycon, it waits until all
> > > > > depedency of the UART
> > > > > has been probed before probing the UART driver and prints the whole boot
> > > > > log.
> > > > >
> > > > > Earlycon is a mechanism to use the UART HW as configured by the
> > > > > bootloader in
> > > > > a minimal way very early in the boot in order to detect very early lockups.
> > > > >
> > > > > Keeping OF_EARLYCON_DECLARE for t7 would enable this.
> > > > >
> > > > > Neil
> > > > >
> > > > > >
> > > > > > Lucas Tanure
> > > > > >
> > > > >
> > > > But then we would need to add Earlycon for S4 too.
> > > > How can we add one Earlycon for all future SoCs, like S4 and T7?
> > > >
> > >
> > > Per my understanding, you just need to declare UART dts node with the
> > > following compatible string: "amlogic,meson-ao-uart". It will enabled
> > > earlycon. There is no neccessary to declare separate
> > > OF_EARLYCON_DECLARE(). It's working okay for A1 dts:
> >
> > This works on A1 because uart_AO_B is an Always-On UART, and using amlogic,meson-ao-uart
> > is corrent.
> > But for S4 & T7, Amlogic dropped the Always-On power domain, so there's no more AO uarts,
> > so using amlogic,meson-ao-uart on those is abusing the DT to enable a driver functionality.
> >
> > So the solution is to add those OF_EARLYCON_DECLARE and only use the correct
> > /chosen/stdout-path property.
>
> Oh, I didn't know about missing Always-On UART AO power domain. In this
> situation I'm fully agree with separate OF_EARLYCON_DECLARE(). Thank you
> for explanation!
>
> > >
> > > meson-a1.dtsi uart declaration:
> > > uart_AO_B: serial@2000 {
> > > compatible = "amlogic,meson-a1-uart",
> > > "amlogic,meson-ao-uart";
> > > reg = <0x0 0x2000 0x0 0x18>;
> > > interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
> > > clocks = <&xtal>, <&xtal>, <&xtal>;
> > > clock-names = "xtal", "pclk", "baud";
> > > status = "disabled";
> > > };
> > >
> > > earlycon declaration from dts:
> > > aliases {
> > > serial0 = &uart_AO_B;
> > > };
> > >
> > > chosen {
> > > stdout-path = "serial0:115200n8";
> > > };
> > >
> > > >
> > > > _______________________________________________
> > > > linux-amlogic mailing list
> > > > linux-amlogic@lists.infradead.org
> > > > http://lists.infradead.org/mailman/listinfo/linux-amlogic
> > >
> >
>
> --
> Thank you,
> Dmitry
So let's add:
OF_EARLYCON_DECLARE(meson, "amlogic,meson-s4-uart",
meson_serial_early_console_setup);
ok?
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-28 8:47 ` Lucas Tanure
@ 2023-08-28 8:50 ` Neil Armstrong
0 siblings, 0 replies; 13+ messages in thread
From: Neil Armstrong @ 2023-08-28 8:50 UTC (permalink / raw)
To: tanure, Dmitry Rokosov
Cc: Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman, linux-kernel,
linux-serial, linux-arm-kernel, linux-amlogic
On 28/08/2023 10:47, Lucas Tanure wrote:
> On Mon, Aug 28, 2023 at 9:46 AM Dmitry Rokosov <ddrokosov@sberdevices.ru> wrote:
>>
>> On Mon, Aug 28, 2023 at 10:23:45AM +0200, Neil Armstrong wrote:
>>> Hi,
>>>
>>> On 28/08/2023 10:20, Dmitry Rokosov wrote:
>>>> On Sun, Aug 27, 2023 at 11:31:35AM +0100, Lucas Tanure wrote:
>>>>> On 27-08-2023 11:23, Neil Armstrong wrote:
>>>>>> Hi Lucas,
>>>>>>
>>>>>> Le 27/08/2023 à 12:04, Lucas Tanure a écrit :
>>>>>>> On 27-08-2023 10:48, Neil Armstrong wrote:
>>>>>>>> Hi Lucas,
>>>>>>>>
>>>>>>>> Le 27/08/2023 à 10:29, Lucas Tanure a écrit :
>>>>>>>>> This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
>>>>>>>>> New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't
>>>>>>>>> need a OF_EARLYCON_DECLARE.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Lucas Tanure <tanure@linux.com>
>>>>>>>>> ---
>>>>>>>>> Since V1:
>>>>>>>>> - add Signed-off-by:
>>>>>>>>>
>>>>>>>>> drivers/tty/serial/meson_uart.c | 2 --
>>>>>>>>> 1 file changed, 2 deletions(-)
>>>>>>>>>
>>>>>>>>> diff --git a/drivers/tty/serial/meson_uart.c
>>>>>>>>> b/drivers/tty/serial/meson_uart.c
>>>>>>>>> index c4f61d82fb727..790d910dafa5d 100644
>>>>>>>>> --- a/drivers/tty/serial/meson_uart.c
>>>>>>>>> +++ b/drivers/tty/serial/meson_uart.c
>>>>>>>>> @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct
>>>>>>>>> earlycon_device *device, const char *opt
>>>>>>>>> OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
>>>>>>>>> meson_serial_early_console_setup);
>>>>>>>>> -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
>>>>>>>>> - meson_serial_early_console_setup);
>>>>>>>>> #define MESON_SERIAL_CONSOLE_PTR(_devname)
>>>>>>>>> (&meson_serial_console_##_devname)
>>>>>>>>> #else
>>>>>>>>
>>>>>>>> How do you use earlycon with this removed ?
>>>>>>>>
>>>>>>>> Neil
>>>>>>> This is my kernel cmdline:
>>>>>>> console=ttyS0,921600 no_console_suspend earlycon=ttyS0,0xfe078000
>>>>>>>
>>>>>>> And I can see my log:
>>>>>>> boot 64bit kernel
>>>>>>> [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd092]
>>>>>>> [ 0.000000] Linux version 6.5.0-rc7-next-20230825+
>>>>>>> (tanureal@ryzen) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the
>>>>>>> A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621,
>>>>>>> GNU ld (GNU Toolchain fo3
>>>>>>> [ 0.000000] KASLR disabled due to lack of seed
>>>>>>> [ 0.000000] Machine model: Khadas vim4
>>>>>>> [ 0.000000] OF: reserved mem:
>>>>>>> 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable
>>>>>>> secmon@5000000
>>>>>>> [ 0.000000] OF: reserved mem:
>>>>>>> 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap
>>>>>>> non-reusable secmon@5300000
>>>>>>> ...
>>>>>>> [ 0.079368] io scheduler mq-deadline registered
>>>>>>> [ 0.079374] io scheduler kyber registered
>>>>>>> [ 0.079549] io scheduler bfq registered
>>>>>>> [ 0.083373] fe078000.serial: ttyS0 at MMIO 0xfe078000 (irq = 14,
>>>>>>> base_baud = 1500000) is a meson_uart
>>>>>>> [ 0.083403] printk: console [ttyS0] enabled
>>>>>>>
>>>>>>> As the log is OK, and T7 for now is binding against S4 code we
>>>>>>> should drop this patch and add a S4 one if needed.
>>>>>>>
>>>>>>> But just having this log is not enough for testing earlycon?
>>>>>>> I am assuming that by just having the log since 0.0000 is a good
>>>>>>> sign that earlycon is working.
>>>>>>> Could you give further guidance?
>>>>>>
>>>>>> First the kernel argument is simply "earlycon" with no other options,
>>>>>> the earlycon code will fetch the first uart using the DT
>>>>>> /chosen/stdout-path property.
>>>>>>
>>>>>> Then you should see something like right after "Machine model":
>>>>>> [ 0.000000] earlycon: meson0 at MMIO 0x00000000ff803000 (options
>>>>>> '115200n8')
>>>>>>
>>>>>> The boot log you share doesn't use earlycon, it waits until all
>>>>>> depedency of the UART
>>>>>> has been probed before probing the UART driver and prints the whole boot
>>>>>> log.
>>>>>>
>>>>>> Earlycon is a mechanism to use the UART HW as configured by the
>>>>>> bootloader in
>>>>>> a minimal way very early in the boot in order to detect very early lockups.
>>>>>>
>>>>>> Keeping OF_EARLYCON_DECLARE for t7 would enable this.
>>>>>>
>>>>>> Neil
>>>>>>
>>>>>>>
>>>>>>> Lucas Tanure
>>>>>>>
>>>>>>
>>>>> But then we would need to add Earlycon for S4 too.
>>>>> How can we add one Earlycon for all future SoCs, like S4 and T7?
>>>>>
>>>>
>>>> Per my understanding, you just need to declare UART dts node with the
>>>> following compatible string: "amlogic,meson-ao-uart". It will enabled
>>>> earlycon. There is no neccessary to declare separate
>>>> OF_EARLYCON_DECLARE(). It's working okay for A1 dts:
>>>
>>> This works on A1 because uart_AO_B is an Always-On UART, and using amlogic,meson-ao-uart
>>> is corrent.
>>> But for S4 & T7, Amlogic dropped the Always-On power domain, so there's no more AO uarts,
>>> so using amlogic,meson-ao-uart on those is abusing the DT to enable a driver functionality.
>>>
>>> So the solution is to add those OF_EARLYCON_DECLARE and only use the correct
>>> /chosen/stdout-path property.
>>
>> Oh, I didn't know about missing Always-On UART AO power domain. In this
>> situation I'm fully agree with separate OF_EARLYCON_DECLARE(). Thank you
>> for explanation!
>>
>>>>
>>>> meson-a1.dtsi uart declaration:
>>>> uart_AO_B: serial@2000 {
>>>> compatible = "amlogic,meson-a1-uart",
>>>> "amlogic,meson-ao-uart";
>>>> reg = <0x0 0x2000 0x0 0x18>;
>>>> interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
>>>> clocks = <&xtal>, <&xtal>, <&xtal>;
>>>> clock-names = "xtal", "pclk", "baud";
>>>> status = "disabled";
>>>> };
>>>>
>>>> earlycon declaration from dts:
>>>> aliases {
>>>> serial0 = &uart_AO_B;
>>>> };
>>>>
>>>> chosen {
>>>> stdout-path = "serial0:115200n8";
>>>> };
>>>>
>>>>>
>>>>> _______________________________________________
>>>>> linux-amlogic mailing list
>>>>> linux-amlogic@lists.infradead.org
>>>>> http://lists.infradead.org/mailman/listinfo/linux-amlogic
>>>>
>>>
>>
>> --
>> Thank you,
>> Dmitry
> So let's add:
>
> OF_EARLYCON_DECLARE(meson, "amlogic,meson-s4-uart",
> meson_serial_early_console_setup);
>
> ok?
Yes
Neil
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-27 8:29 [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC" Lucas Tanure
2023-08-27 9:48 ` Neil Armstrong
@ 2023-08-28 12:31 ` Neil Armstrong
2023-08-28 14:47 ` Greg Kroah-Hartman
1 sibling, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2023-08-28 12:31 UTC (permalink / raw)
To: Lucas Tanure, Greg Kroah-Hartman, Jiri Slaby, Kevin Hilman
Cc: linux-kernel, linux-serial, linux-arm-kernel, linux-amlogic
Hi Greg,
On 27/08/2023 10:29, Lucas Tanure wrote:
> This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
> New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't need a OF_EARLYCON_DECLARE.
>
> Signed-off-by: Lucas Tanure <tanure@linux.com>
> ---
> Since V1:
> - add Signed-off-by:
>
> drivers/tty/serial/meson_uart.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
> index c4f61d82fb727..790d910dafa5d 100644
> --- a/drivers/tty/serial/meson_uart.c
> +++ b/drivers/tty/serial/meson_uart.c
> @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct earlycon_device *device, const char *opt
>
> OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> meson_serial_early_console_setup);
> -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
> - meson_serial_early_console_setup);
>
> #define MESON_SERIAL_CONSOLE_PTR(_devname) (&meson_serial_console_##_devname)
> #else
After some clarifications, it's ok to merge the revert:
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
2023-08-28 12:31 ` Neil Armstrong
@ 2023-08-28 14:47 ` Greg Kroah-Hartman
0 siblings, 0 replies; 13+ messages in thread
From: Greg Kroah-Hartman @ 2023-08-28 14:47 UTC (permalink / raw)
To: Neil Armstrong
Cc: Lucas Tanure, Jiri Slaby, Kevin Hilman, linux-kernel,
linux-serial, linux-arm-kernel, linux-amlogic
On Mon, Aug 28, 2023 at 02:31:06PM +0200, Neil Armstrong wrote:
> Hi Greg,
>
> On 27/08/2023 10:29, Lucas Tanure wrote:
> > This reverts commit 6a4197f9763325043abf7690a21124a9facbf52e.
> > New SoC will use ttyS0 instead of ttyAML, so T7 SoC doesn't need a OF_EARLYCON_DECLARE.
> >
> > Signed-off-by: Lucas Tanure <tanure@linux.com>
> > ---
> > Since V1:
> > - add Signed-off-by:
> >
> > drivers/tty/serial/meson_uart.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
> > index c4f61d82fb727..790d910dafa5d 100644
> > --- a/drivers/tty/serial/meson_uart.c
> > +++ b/drivers/tty/serial/meson_uart.c
> > @@ -648,8 +648,6 @@ meson_serial_early_console_setup(struct earlycon_device *device, const char *opt
> > OF_EARLYCON_DECLARE(meson, "amlogic,meson-ao-uart",
> > meson_serial_early_console_setup);
> > -OF_EARLYCON_DECLARE(meson, "amlogic,t7-uart",
> > - meson_serial_early_console_setup);
> > #define MESON_SERIAL_CONSOLE_PTR(_devname) (&meson_serial_console_##_devname)
> > #else
>
> After some clarifications, it's ok to merge the revert:
>
> Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Already merged :)
thanks,
greg k-h
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-08-28 14:47 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-27 8:29 [PATCH v2] Revert "tty: serial: meson: Add a earlycon for the T7 SoC" Lucas Tanure
2023-08-27 9:48 ` Neil Armstrong
2023-08-27 10:04 ` Lucas Tanure
2023-08-27 10:23 ` Neil Armstrong
2023-08-27 10:31 ` Lucas Tanure
2023-08-28 7:58 ` Neil Armstrong
2023-08-28 8:20 ` Dmitry Rokosov
2023-08-28 8:23 ` Neil Armstrong
2023-08-28 8:46 ` Dmitry Rokosov
2023-08-28 8:47 ` Lucas Tanure
2023-08-28 8:50 ` Neil Armstrong
2023-08-28 12:31 ` Neil Armstrong
2023-08-28 14:47 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).