[PATCH 11/11] doc: bcm283x: document use of mini-uart on Raspberry Pi Zero W / CM3
Roland Hieber
rhi at pengutronix.de
Sun Nov 29 14:50:42 EST 2020
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?
- Roland
> +
> (For more information, refer to the `documentation for config.txt`_.)
>
> 5. Connect to board's UART (115200 8N1);
> --
> 2.28.0
>
>
--
Roland Hieber, Pengutronix e.K. | r.hieber at pengutronix.de |
Steuerwalder Str. 21 | https://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