Serial driver 16550a on Beaglebone Black

Greg Gallagher greg at embeddedgreg.com
Mon Mar 30 18:34:56 CEST 2020


On Mon, Mar 30, 2020 at 12:21 PM Michał Hanusek
<mhanusek at energotest.com.pl> wrote:
>
>
> On Mon, Mar 30, 2020 at 11:08 AM Michał Hanusek via Xenomai
> <xenomai at xenomai.org> wrote:
> >
> >
> > Hello.
> > How to enable a driver 16550a (xeno_16550A) and configure the serial port?
> >
> > I loaded the driver to the kernel (for the /dev/ttyS4 port) but the device in the /dev/rtdm/rtser... location did not appear.
>
> Do you have the vanilla kernel driver loaded as well?  You need to
> unbind the serial port you want the 16550A to work with.
> I don't think this has been tested on beaglebone black but I could be wrong.
>
> I'm use kernel from https://github.com/beagleboard/linux/tree/4.9-xenomai

Since the linux drivers bind to this hardware interface you'll need to
unbind and then load the RT driver.  This is older but it helps:
https://wiki.emacinc.com/wiki/Xenomai_RTSerial

I guess once this gets tested out we should add official docs at some point.

>
> >
> > Please help.
> >
> > Linux kernel 4.9.88 + Xenomai patch
> >
> I would use a newer kernel and ipipe patch, 4.9 is currently no
> supported.  I don't think it get the gpio fixes either.
>
> Newer kernel? The newest kernel for BBB (with xenomai) is:
>
> https://github.com/beagleboard/linux/tree/4.14-xenomai

The ipipe-arm kernel that is maintained by this community and is
tested with Xenomai is at 4.19 and supports the beaglebone black.
It's based off the CIP kernel or the stable tree depending on the
patch you pick.
The documentation on gitlab goes over using a mainline kernel.

>
>
>
> > root at beaglebone:/home/debian# lsmod
> > Module                  Size  Used by
> > xeno_16550A            17350  0
> >
> > root at beaglebone:/home/debian# modprobe xeno_16550A io=0x481A8000 irq=159 baud_base=115200 start_index=0
> >
> > root at beaglebone:/home/debian# cat /proc/tty/driver/serial
> > serinfo:1.0 driver revision:
> > 0: uart:8250 mmio:0x44E09000 irq:158 tx:11568 rx:98 brk:63 RTS|CTS|DTR|DSR
> > 1: uart:unknown port:00000000 irq:0
> > 2: uart:unknown port:00000000 irq:0
> > 3: uart:unknown port:00000000 irq:0
> > 4: uart:8250 mmio:0x481A8000 irq:159 tx:2 rx:1 brk:1 CTS|DSR
> > 5: uart:unknown port:00000000 irq:0
> >
> > root at beaglebone:/home/debian# setserial /dev/ttyS4
> > /dev/ttyO4, UART: 8250, Port: 0x0000, IRQ: 159
> >
> > root at beaglebone:/home/debian# ls /dev/rtdm/
> > autotune        memdev-private  memdev-shared   memdev-sys      switchtest      timerbench
> > Szanujemy Twoją prywatność, dbamy o bezpieczeństwo Twoich danych osobowych,  Sprawdź szczegóły !
>
> -Greg
> >
>
> Szanujemy Twoją prywatność, dbamy o bezpieczeństwo Twoich danych osobowych, Sprawdź szczegóły!

Thanks

Greg



More information about the Xenomai mailing list