Hello Charles, I have now carefully checked your suggestions.
- I have checked that the UART dtbo are loaded at boot-time (by uEnv.txt) - I have built (and booted) the kernel with the xeno_16550A as loadable module. - I have checked the functionality of the /dev/ttyOx by running physical loop-back data traffic. The sudo cat /proc/tty/driver/OMAP-SERIAL reports the correct amount of traffic and the sent data is echoed correctly in another terminal window. - I have crawled the /proc/device-tree/ocp/serial* and cannot find any discrepancies. Everything seem correct. But the UARTs are now occupied by the omap_serial driver. According to Xenomai (http://xenomai.org/serial-16550a-driver/) the driver should be disabled by the setserial command. I can't get this command working. It reports the serial port but changing it results in error (regardless of the ttyO -number): debian@beaglebone:~$ setserial /dev/ttyO2 /dev/ttyO2, UART: undefined, Port: 0x0000, IRQ: 74 debian@beaglebone:/boot$ sudo setserial /dev/ttyO2 uart none Cannot set serial info: *Invalid argument* Consequently, I cannot load the xeno_16550A.ko module. I have browsed the net for the same problem, but have not found relevant subjects. There are no shared irq's in my problem (closest subject I found). Do you have any idea for a solution? Best regards Terje Froysa On Tuesday, November 11, 2014 3:59:51 PM UTC+1, Charles Steinkuehler wrote: > > On 11/11/2014 8:42 AM, Terje Froysa wrote: > > > > > > Dear forum, > > > > I have struggled for 4 days and I am out of ideas/suggestions on how to > > make this xeno_16550A driver work. > > 1. I have successfully installed the Xenomai 2.6.4 and the Debian > 3.8.13. > > 2. Self-developed RTDM driver is working satisfactory. > > 3. But when irq numbers are defined for the kernel installed xeno_16550A > > driver the boot process crashes (attached log). > > > > > > Questions from Xenomai forum is: > > > > > > 1. The xeno_16550A driver uses byte access, have you checked the > AM33xx > > TRM to check that this is valid? > > 2. Is the interface clock for the serial device you want to use > enabled? > > > > From the TRM it seems that the 16550 compliant UART accommodates byte > > accesses. > > > > When installing and removing serial port drivers I can't see any > associated > > clock enabling options in the menuconfig. > > I haven't tried getting the UARTs working with Xenomai, but have some > general suggestions if you haven't tried them already, mostly focused on > making sure the UART is actually enabled in the device-tree: > > * Do you have the UART enabled in the default device-tree being loaded > by U-Boot? This should setup the clocks and other house-keeping > required to make the UART actually work at the hardware level. > > * Can you build the Xenomai driver as a loadable module and try to load > it after the system boots? If so, this will make it much easier to test > variations on the running system. > > * Have you tried booting without the Xenomai serial module enabled and > talking directly to the memory region used by the UART (via mmap() of > /dev/mem or similar)? This could help you get your device tree properly > setup so you know the UART is enabled before trying to boot the kernel > with the serial driver enabled. > > * If it's a device-tree problem, you can boot with a working kernel and > crawl through the live device-tree (via /proc/device-tree/ocp/serial*/) > and make sure everything is as you expect. > > -- > Charles Steinkuehler > cha...@steinkuehler.net <javascript:> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.