I am trying to send and receive data from my PC to BeagleBone Black via RS485. I used a 'ISO3082' transceiver in between to make the signals compatible. I used UART2 of BBB. The RE/DE pin is not getting toggled for Tx and Rx. My dts code is as below:
&am33xx_pinmux {
uart2_pins: pinmux_uart2_pins {
pinctrl-single,pins = <
0x154 (PIN_OUTPUT_PULLDOWN | MUX_MODE1)/* P9_21: uart2_txd */
0x150 (PIN_INPUT_PULLUP | MUX_MODE1) /* P9_22: uart2_rxd */
0x04c (PIN_INPUT_PULLDOWN | MUX_MODE7) /*P9_16: gpio1[19] */
>;
};
};
};
&uart2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
rts-gpio = <&gpio1 19 GPIO_ACTIVE_HIGH>;
rs485-rts-active-high;
/* rs485-rx-during-tx; */
rs485-rts-delay = <1 1>;
linux,rs485-enabled-at-boot-time;
};
No data transfer is happening. What may have gone wrong? Please help.
BBB kernel version:
uname -a
Linux arm 4.1.15-ti-rt-r40 #1 SMP PREEMPT RT Fri Jan 8 09:44:57 UTC 2016 armv7l a