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@xxxxxxxxxxxxxx> > Cc: Rouven Czerwinski <rcz@xxxxxxxxxxxxxx> > Cc: Robert Carnecky <robert@xxxxxxxxxxx> > Cc: Andrew John <andrew@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Ahmad Fatoum <ahmad@xxxxxx> > --- > 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@RaspberryPi Zero W:/ cat /boot/config.txt enable_uart=1 kernel=barebox.img uart_2ndstage=1 barebox@RaspberryPi Zero W:/ global bootm.image=/boot/kernel.img barebox@RaspberryPi Zero W:/ global bootm.oftree=/boot/bcm2708-rpi-0-w.dtb barebox@RaspberryPi Zero W:/ global linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootfstype=ext4 rootwait rw" barebox@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@xxxxxxxxxxxxxx | Steuerwalder Str. 21 | https://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox