(Oh, BTW, Robert: I thought perhaps your site at https://eewiki.net/display/linuxonarm/BeagleBone+Black might add a couple lines about kernel 3.8.13. It explains 4.1, 4.4, and RT versions of those, but 3.8.13 is still being maintained and some things still only work there. Just a suggestion...)
On Wednesday, March 2, 2016 at 3:59:13 PM UTC-5, Richard Krehbiel wrote: > > USE KERNEL 3.8.13. I spent days trying to figure out why > 4.4.1/2/3-bone-rt-5 wasn't working. Selecting the omap-serial driver > (rather than the 8250-omap driver) won't work because some of the rs485 > patches didn't get included in later kernels. > > Since last Thursday, my job was getting RS485 working on BBB. > > I used a MikroElectrinika MikroBUS cape*, and an RS485 Click** plugged > into mikroBUS socket 1. I actually rather like this setup. > > *http://www.mikroe.com/click/mikrobus-cape/ > **http://www.mikroe.com/click/rs485-3.3v/ > > For mikroBUS socket 1, RX and TX pins are routed to the Sitara uart2, and > the data direction control connects to J9 pin 14 (a.k.a gpio1[18], a.k.a. > "echo 50 >/sys/class/gpio/exports"). It's only necessary to load the > BB-UART2 overlay ("echo BB-UART2 >/sys/devices/capemgr.*/slots" or > "capemgr.enable_partno=BB-UART2" in the uEnv.txt boot file) and do your > programming. > > Use this for the RS485 setup structure: > > struct omap_serial_rs485 { > __u32 flags; /* RS485 feature flags */ > #define OMAP_SER_RS485_ENABLED (1 << 0) /* If enabled */ > #define OMAP_SER_RS485_RTS_ON_SEND (1 << 1) /* Logical level for > RTS pin when > sending */ > #define OMAP_SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for > RTS pin after sent*/ > #define OMAP_SER_RS485_RTS_BEFORE_SEND (1 << 3) > #define OMAP_SER_RS485_USE_GPIO (1 << 5) > __u32 delay_rts_before_send; /* Delay before send (milliseconds) */ > __u32 delay_rts_after_send; /* Delay after send (milliseconds) */ > __u32 gpio_pin; /* GPIO Pin Index */ > __u32 padding[4]; /* Memory is cheap, new structs > are a royal PITA .. */ > }; > > ... because the omap-serial rs485 patches slightly enhanced the regular > struct serial_rs485 you find in sys/serial.h > > Here's my rs485 setup code (error checking omitted): > > struct omap_serial_rs485 rs485; > i = ioctl(m_fd, TIOCGRS485, &rs485); // whats' the current setup? > rs485.flags |= OMAP_SER_RS485_ENABLED; // Enable RS485 mode > rs485.flags |= OMAP_SER_RS485_USE_GPIO; // use a GPIO pin for > // direction control > rs485.flags &= > ~(OMAP_SER_RS485_RTS_AFTER_SEND|OMAP_SER_RS485_RTS_ON_SEND); > rs485.delay_rts_before_send = 0; // No delay from RTS-assert > before xmit > rs485.delay_rts_after_send = 0; // No delay after xmit until > RTS-negate > rs485.gpio_pin = m_pin; // select the direction control pin > > i = ioctl(m_fd, TIOCSRS485, &rs485); // establish > > I built and installed kernel 3.8.13-bone79 this morning. Finally I'm > working well. > > On Friday, February 12, 2016 at 10:42:24 AM UTC-5, RobertCNelson wrote: >> >> On Fri, Feb 12, 2016 at 9:33 AM, Taceant Omnes <[email protected]> wrote: >> > I would like to use RS485 with the BBB. >> > >> > root@beaglebone:~/test# uname -a >> > Linux beaglebone 4.1.15-ti-r40 #1 SMP PREEMPT Thu Jan 7 23:32:17 UTC >> > 2016 armv7l GNU/Linux >> > >> > I am using the kernel above. Its source code is at >> > >> https://github.com/RobertCNelson/linux-stable-rcn-ee/tree/4.1.15-ti-rt-r40 >> >> You need to rebuild and swap these two configs: >> >> disable: CONFIG_SERIAL_8250_OMAP >> >> enable: CONFIG_SERIAL_OMAP >> >> > ... however it does not include the changes in this patch: >> > >> https://github.com/RobertCNelson/bb-kernel/blob/am33x-v3.8/patches/fixes/0007-omap-RS485-support-by-Michael-Musset.patch#L30 >> >> >> 485 is pretty much built-in to CONFIG_SERIAL_OMAP >> >> It's the last thing still being talked about for integration into >> CONFIG_SERIAL_8250_* for possibly 4.6.x >> >> > Which kernel should I use that includes the changes in the patch or >> > something similar? >> >> and use this overlay as reference, as it's been reported to work with >> that config chanage above.. >> >> >> https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/BB-UART4-RS485-00A0.dts >> >> >> Regards, >> >> -- >> Robert Nelson >> https://rcn-ee.com/ >> > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
