/* pins function GPIO BB PINS RXD GPIO0_2 P9.22 TXD GPIO0_3 P9.21 LCD_DATA9/RTSN GPIO2_15 P8.38*/ /dts-v1/; /plugin/; #include #include / { compatible = "ti,beaglebone", "ti,beaglebone-black", "ti,beaglebone-green"; // identification part-number = "BB-UART2-RS485"; version = "00A4"; // resources this cape uses exclusive-use = //edw ta dika mas pins 8a htan "P9.21", // uart2_txd //GPIO0_3 "P9.22", // uart2_rxd //GPIO0_2 "P8.38", // uart2_rtsn //GPIO2_15 //uart2_rtsn "uart2"; // hardware ip used /* * Helper to show loaded overlays under: /proc/device-tree/chosen/overlays/ */ fragment@0 { target-path="/"; __overlay__ { chosen { overlays { BB-UART2-RS485-00A4 = __TIMESTAMP__; }; }; }; }; /* * Free up the pins used by the cape from the pinmux helpers. */ fragment@1 { target = <&ocp>; __overlay__ { P9_21_pinmux { status = "disabled"; }; P9_22_pinmux { status = "disabled"; }; P8_38_pinmux { status = "disabled"; }; }; }; fragment@2 { target = <&am33xx_pinmux>; __overlay__ { bb_uart2_rs485_pins: pinmux_bb_uart2_rs485_pins { pinctrl-single,pins = < BONE_P9_21 (PIN_OUTPUT | MUX_MODE1) BONE_P9_22 (PIN_INPUT | MUX_MODE1) BONE_P8_38 (MUX_MODE6) //0x06 >; }; }; }; fragment@3 { target = <&uart2>; __overlay__ { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&bb_uart2_rs485_pins>; rs485-rts-delay = <0 0>; rts-gpio = <&gpio2 15 1>; /* GPIO_ACTIVE_HIGH>; */ rs485-rts-active-high; // // rs485-rts-before-send = <&gpio2 15 1>; // // rs485-rts-after-send = <&gpio2 15 0>; // // rs485-rts-after-recv = <&gpio2 15 1>; linux,rs485-enabled-at-boot-time; }; }; };