Mini UART on RaspberryPi CM3/CM3+
Robert Carnecky (Neopsis)
robert at neopsis.com
Fri Oct 9 08:30:12 EDT 2020
> Try adding to arch/arm/dts/bcm2837-rpi-cm3.dts:
>
> &uart1 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart1_gpio14>;
> status = "okay";
> };
I extended arch/arm/dts/bcm2837-rpi-cm3.dts as advised +
additionally I set UART0 to pins 32/33.
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_gpio32>;
status = "okay";
};
I still cannot see Barebox console on boot, however, the Barebox loader
starts in 3 seconds my kernel and I get the Linux console output on
UART1/ttyS0. Now my Linux boots as expected, unfortunately without
visible Barebox console. I tried all Barebox console setting
(NONE/ALL/FIRST), same result, no Barebox console output on UART0
or UART1.
> If that doesn't help, use CONSOLE_ACTIVATE_ALL and listen
> on UART0 before the RS-485 transceiver and paste the
> dmesg and devinfo input you get.
# dmesg | grep tty
[ 0.000000] Kernel command line: console=ttyS0,115200
coherent_pool=1M snd_bcm2835.enable_compat_alsa=0
snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1
8250.nr_uarts=1 bcm2708_fb.fbwidth=656
bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1
smsc95xx.macaddr=B8:27:EB:C5:7D:E3 vc_mem.mem_base=0x3ec00000
vc_mem.mem_size=0x40000000 root=/dev/mmcblk0p2 console=ttyS0,115200
rootfstype=ext4 elevator=deadline rootwait
[ 1.289058] printk: console [ttyS0] disabled
[ 1.289175] 3f215040.serial: ttyS0 at MMIO 0x0 (irq = 53, base_baud
= 50000000) is a 16550
[ 1.945483] printk: console [ttyS0] enabled
[ 2.432604] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 81,
base_baud = 0) is a PL011 rev2
# stty -F /dev/ttyAMA0 115200
# cat /etc/inittab > /dev/ttyAMA0 <- OK
Robert
On Mon, Oct 5, 2020 at 1:16 PM Ahmad Fatoum <a.fatoum at pengutronix.de> wrote:
>
> Hello Robert,
>
> On 10/5/20 12:07 PM, Robert Carnecky (Neopsis) wrote:
> > Did anybody successfully configured Raspberry CM3/CM3+ mini-UART as
> > the Barebox console? I found a thread
> > on this list discussing the issue
> > (https://www.mail-archive.com/barebox@lists.infradead.org/msg35235.html),
> > unfortunately without any solution.
> >
> > What I need:
> >
> > * UART0 on pins 32/33 (technology access over rs-485)
> > * UART1 (miniUART) on pins 14/15 (console)
> >
> > My current config.txt boots fine my raspberry kernel (zImage built
> > using builroot):
> >
> > kernel=zImage
> > enable_uart=1
> > dtoverlay=uart0,txd0_pin=32,rxd0_pin=33,pin_func=7
> > dtoverlay=uart1,txd1_pin=14,rxd1_pin=15
> >
> > Now I would like to switch to Barebox as a bootloader. I compiled the
> > barebox image with
> >
> > * CONSOLE_ACTIVATE_NONE = Y
> > * 'stdout-path=&uart1;' in 'arch/arm/dts/bcm2837-rpi-cm3.dts' .
>
> I don't have a CM3, but are you sure uart1 is enabled?
>
> Try adding to arch/arm/dts/bcm2837-rpi-cm3.dts:
>
> &uart1 {
> pinctrl-names = "default";
> pinctrl-0 = <&uart1_gpio14>;
> status = "okay";
> };
>
> If that doesn't help, use CONSOLE_ACTIVATE_ALL and listen
> on UART0 before the RS-485 transceiver and paste the
> dmesg and devinfo input you get.
>
> Cheers,
> Ahmad
>
>
> >
> > and changed my kernel in config.txt
> >
> > kernel=barebox.img
> >
> > I cannot see any output on pins 14/15 e.g. UART1, no barebox console,
> > no kernel console.
> > Any idea what's wrong here?
> >
> > Robert
> >
> > _______________________________________________
> > barebox mailing list
> > barebox at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/barebox
> >
>
> --
> 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