Subject: Mini UART support for Raspberry Pi CM3 ?

From: "[email-masked]" <[email-masked]>
Date: Tue, 2 Jun 2020 10:14:12 +0100

Hi

I have been trying to get the mini UART (UART1) to work in Barebox on the
RPI Compute Module 3+.  I already have the changes made in config.txt and
this works fine when I boot into the main Linux code.  However, in Barebox,
the output always comes out on the main UART (UART0) and that is wired to
the Bluetooth module on my platform.  I have tried modifying the device
trees and cannot seem to get any output.   I also ensured that I added the
RPI CM3 output target as a config in rpi_defconfig.   

I've tried turning off the PL011 config option and also changing the device
tree to reference UART1 and set the chosen stdout-path to point to this
UART, but when I do this I just get a lack of any serial output.

I am also wanting to use the alternate pins (32 & 33) for UART1, so I am
thinking that something else needs to be changed.  Has anyone managed to get
this to work?

Regards

John

_______________________________________________
barebox mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/barebox

---

From: Ahmad Fatoum <[email-masked]>
Date: Tue, 2 Jun 2020 11:43:46 +0200

> thinking that something else needs to be changed.  Has anyone managed to get

Which barebox version are you on? v2020.03.0 contains a series for mini UART
support culminating in ab76f9d09d3b ("ARM: rpi: choose miniuart as stdout"),
which sounds like something you will want to have.

Also what's you "Console activation strategy"? (Kconfig symbols
CONSOLE_ACTIVATE_.*) You'll want to have CONSOLE_ACTIVATE_NONE, so only
the stdout-path from the device tree is activated by default.

Cheers
Ahmad

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

---

From: Ahmad Fatoum <[email-masked]>
Date: Tue, 2 Jun 2020 11:54:37 +0200

> which sounds like something you will want to have.

Oh, I see now that this is in since v2019.03.0. I assume you are already
on a newer version?

---

From: "[email-masked]" <[email-masked]>
Date: Tue, 2 Jun 2020 10:57:44 +0100

Hi Ahmad

I have been using v2020.05 but I believe I had enabled all consoles so I'll
try setting it to none and see how that goes.

Thanks

John

-----Original Message-----
From: barebox <[email-masked]> On Behalf Of Ahmad
Fatoum
Sent: 02 June 2020 10:55
To: [email-masked]
<[email-masked]>; [email-masked]
Subject: Re: Mini UART support for Raspberry Pi CM3 ?

On 6/2/20 11:43 AM, Ahmad Fatoum wrote:
>> I have been trying to get the mini UART (UART1) to work in Barebox on 
>> the RPI Compute Module 3+.  I already have the changes made in 
>> config.txt and this works fine when I boot into the main Linux code.  
>> However, in Barebox, the output always comes out on the main UART 
>> (UART0) and that is wired to the Bluetooth module on my platform.  I have
tried modifying the device
>> I've tried turning off the PL011 config option and also changing the 
>> device tree to reference UART1 and set the chosen stdout-path to 
>> point to this UART, but when I do this I just get a lack of any serial
output.
>>
>> I am also wanting to use the alternate pins (32 & 33) for UART1, so I 
>> am thinking that something else needs to be changed.  Has anyone 
>> managed to get this to work?
> 
> Which barebox version are you on? v2020.03.0 contains a series for 
> mini UART support culminating in ab76f9d09d3b ("ARM: rpi: choose 
> miniuart as stdout"), which sounds like something you will want to have.

Oh, I see now that this is in since v2019.03.0. I assume you are already on
a newer version?

> CONSOLE_ACTIVATE_.*) You'll want to have CONSOLE_ACTIVATE_NONE, so 
> only the stdout-path from the device tree is activated by default.
> 
> Cheers
> Ahmad
> 
>>
>> Regards
>>
>> John
>>
>>

---

From: Ahmad Fatoum <[email-masked]>
Date: Tue, 2 Jun 2020 12:11:53 +0200

> try setting it to none and see how that goes.

This will only fix the use of UART0 as output. To use UART1, you'll need
to set stdout-path = &uart1 like ab76f9d09d3b ("ARM: rpi: choose miniuart as
stdout") does.

Cheers
Ahmad

---

From: "[email-masked]" <[email-masked]>
Date: Wed, 3 Jun 2020 23:14:00 +0100

Hi Ahmad

I got a little further and although there's still no serial output on UART1, I at least now see an error message about it (on UART0 still).  

ns16550_serial [email-masked]: probe failed: Device or resource busy

So your point about setting CONSOLE_ACTIVATE_NONE was correct 😊.  Maybe I've missed something in the device trees, but am at least heartened to see something printed.  

Thanks

John

-----Original Message-----
From: barebox <[email-masked]> On Behalf Of Ahmad Fatoum
Sent: 02 June 2020 11:12
To: [email-masked] <[email-masked]>; [email-masked]
Subject: Re: Mini UART support for Raspberry Pi CM3 ?

On 6/2/20 11:57 AM, [email-masked] wrote:
> Hi Ahmad
> 
> I have been using v2020.05 but I believe I had enabled all consoles so 
> I'll try setting it to none and see how that goes.

This will only fix the use of UART0 as output. To use UART1, you'll need to set stdout-path = &uart1 like ab76f9d09d3b ("ARM: rpi: choose miniuart as
stdout") does.

Cheers
Ahmad

>>> I have been trying to get the mini UART (UART1) to work in Barebox 
>>> on the RPI Compute Module 3+.  I already have the changes made in 
>>> I am also wanting to use the alternate pins (32 & 33) for UART1, so 
>>> I am thinking that something else needs to be changed.  Has anyone 
> Oh, I see now that this is in since v2019.03.0. I assume you are 
> already on a newer version?
>

---

From: Ahmad Fatoum <[email-masked]>
Date: Thu, 4 Jun 2020 08:22:22 +0200

Hello,

> ns16550_serial [email-masked]: probe failed: Device or resource busy
Drivers request the MMIO region they want to work with. Try the iomem command to see
if the EBUSY is due to a resource clash on 0x7e215040. Although I wonder how that
came about. Normally, with device tree, this shouldn't happen unless the device
tree is faulty.
> So your point about setting CONSOLE_ACTIVATE_NONE was correct 😊.  Maybe I've missed something in the device trees, but am at least heartened to see something printed.  

Can't take credit, because I don't know why this would cause an error message to be
printed, when none was printed before.

Keep us posted.

Cheers
Ahmad