[PATCH 11/11] doc: bcm283x: document use of mini-uart on Raspberry Pi Zero W / CM3
Ahmad Fatoum
a.fatoum at pengutronix.de
Sun Nov 29 15:20:04 EST 2020
Hello,
On 29.11.20 20:50, Roland Hieber wrote:
> On Sat, Nov 28, 2020 at 10:39:34PM +0100, Ahmad Fatoum wrote:
>> As described in the UART configuration[1] article in the Raspberry Pi
>> Foundation documentation, Raspberry Pi 3 & 4 as well as Zero W use the
>> mini-uart as primary (easily user-accessible) UART. At least on the
>> Raspberry Zero W and CM3, we need to pass uart_2ndstage=1, so the
>> BootROM leaves the 8250 IP in a suitable state for use by barebox.
>> Document this.
>>
>> [1]: https://www.raspberrypi.org/documentation/configuration/uart.md
>>
>> Cc: Roland Hieber <rhi at pengutronix.de>
>> Cc: Rouven Czerwinski <rcz at pengutronix.de>
>> Cc: Robert Carnecky <robert at neopsis.com>
>> Cc: Andrew John <andrew at mobius-embedded-systems.co.uk>
>> Signed-off-by: Ahmad Fatoum <ahmad at a3f.at>
>> ---
>> Documentation/boards/bcm2835.rst | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/Documentation/boards/bcm2835.rst b/Documentation/boards/bcm2835.rst
>> index c896871e0d82..dbdfc2633173 100644
>> --- a/Documentation/boards/bcm2835.rst
>> +++ b/Documentation/boards/bcm2835.rst
>> @@ -23,6 +23,13 @@ Raspberry Pi
>> kernel=barebox.img
>> enable_uart=1
>>
>> + If you want to use the mini-uart instead of the PL011, you might need to additionally set::
>> +
>> + uart_2ndstage=1
>> +
>> + This is useful on newer boards like the Raspberry Pi Zero W and CM3, which route the
>> + more easily accessible primary UART to the mini-uart.
>
> This seems to be non-optional on RPi Zero W, so I would word it more
> strongly.
>
> With this series, at least barebox boots, which is better than in master
> :-) However, I cannot get the stock kernel (/boot/kernel.img) to boot on
> Zero W, and I cannot figure out why:
>
> barebox at RaspberryPi Zero W:/ cat /boot/config.txt
> enable_uart=1
> kernel=barebox.img
> uart_2ndstage=1
> barebox at RaspberryPi Zero W:/ global bootm.image=/boot/kernel.img
> barebox at RaspberryPi Zero W:/ global bootm.oftree=/boot/bcm2708-rpi-0-w.dtb
> barebox at RaspberryPi Zero W:/ global linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rw"
> barebox at RaspberryPi Zero W:/ bootm -v
>
> Loading ARM Linux zImage '/boot/kernel.img'
> OS image not yet relocated
> Passing control to ARM zImage handler
> no OS load address, defaulting to 0x014e9000
> no initrd load address, defaulting to 0x01a18000
> Loading devicetree from '/boot/bcm2708-rpi-0-w.dtb'
> commandline: console=ttyS1,115200n8 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rw
>
> Starting kernel at 0x014e9000, oftree at 0x01a18000...
> Starting kernel in secure mode
>
> and then nothing happens at least for a minute.
>
> I tried leaving 'uart_2ndstage=1' out, leaving 'enable_uart=1' out, setting
> 'console=ttyS1,115200n8' on the kernel command line, and setting
> 'console=ttyAMA0,115200n8' (as before), but nothing helped.
>
> The same setup works on a RPI-1B (with bootm.oftree=/boot/bcm2708-rpi-b.dtb),
> so at least there's that :)
>
> Did you do anything else for your Zero W?
Can you try `boot rpi` instead?
>
> - Roland
>
>> +
>> (For more information, refer to the `documentation for config.txt`_.)
>>
>> 5. Connect to board's UART (115200 8N1);
>> --
>> 2.28.0
>>
>>
>
--
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 |
More information about the barebox
mailing list