I forget mention the kernel version: 4.14.71-ti-r80
On Tue, Jan 19, 2021 at 7:30 PM Atique Rehman <[email protected]> wrote:
> Hi,
>
> Here is sample of UART4 RS485:
> dts-v1/;
> /plugin/;
>
> #include <dt-bindings/board/am335x-bbw-bbb-base.h>
> #include <dt-bindings/pinctrl/am33xx.h>
>
> / {
> compatible = "ti,beaglebone", "ti,beaglebone-black", "ti,beaglebone-green";
>
> // identification
> part-number = "BB-UART4-COM0";
> version = "00A0";
>
> // resources this cape uses
> exclusive-use =
> "P9.13", // uart4_txd
> "P9.11", // uart4_rxd
> "P8.35", // uart4_de/re
> "gpio0_8",
>
> "uart4"; // hardware ip used
>
> /*
> * Free up the pins used by the cape from the pinmux helpers.
> */
> fragment@0 {
> target = <&ocp>;
> __overlay__ {
> P9_13_pinmux { status = "disabled"; }; /* P9_13: gpmc_wpn.uart4_txd_mux2 */
> P9_11_pinmux { status = "disabled"; }; /* P9_11: gpmc_wait0.uart4_rxd_mux2
> */
> P8_35_pinmux { status = "disabled"; }; /* P8_35: PIN_OUTPUT_PULLDOWN |
> MUX_MODE7 (GPIO0_8) */
> };
> };
>
> fragment@1 {
> target = <&am33xx_pinmux>;
> __overlay__ {
> bb_uart4_rs485_pins: pinmux_bb_uart4_rs485_pins {
> pinctrl-single,pins = <
> BONE_P9_13 (PIN_OUTPUT | MUX_MODE6) /* P9_13: gpmc_wpn.uart4_txd_mux2 */
> BONE_P9_11 (PIN_INPUT | MUX_MODE6) /* P9_11: gpmc_wait0.uart4_rxd_mux2 */
> BONE_P8_35 0x07 /* P8_35: PIN_OUTPUT_PULLDOWN | MUX_MODE7 (GPIO0_8) */
> >;
> };
> };
> };
>
> fragment@2 {
> target = <&uart4>;
> __overlay__ {
> status = "okay";
> pinctrl-names = "default";
> pinctrl-0 = <&bb_uart4_rs485_pins>;
> rs485-rts-delay = <0 0>;
>
> rts-gpio = <&gpio0 8 1>; /* GPIO_ACTIVE_HIGH>; */
> rs485-rts-active-high;
> linux,rs485-enabled-at-boot-time;
> };
> };
> };
>
> Regards,
> Atique
>
> On Tue, Jan 19, 2021 at 7:19 PM Jørgen Sirum <[email protected]>
> wrote:
>
>> Struggling to get RS485 to work with overlays
>> I have been using kernel 3.8.13 (enabling RS485 with python script) with
>> no issues but wanted to upgrade into the modern world.
>> Used default image and did the steps suggested in this post:
>> https://groups.google.com/g/beagleboard/c/nMtRpdWSJu0/m/USjb8sF-AgAJ
>>
>> - Swapped from CONFIG_SERIAL_8250_OMAP to CONFIG_SERIAL_OMAP and rebuild
>> - Used BB-UART4-RS485-00A0.dts but modified it to be for UART1 and the
>> direction pin I am using
>> Everything else is untouched
>>
>> BB-UART1-RS485-00A0.dts:
>> /dts-v1/;
>> /plugin/;
>>
>> #include <dt-bindings/board/am335x-bbw-bbb-base.h>
>> #include <dt-bindings/pinctrl/am33xx.h>
>>
>> / {
>> compatible = "ti,beaglebone", "ti,beaglebone-black",
>> "ti,beaglebone-green";
>>
>> // identification
>> part-number = "BB-UART1-RS485";
>> version = "00A0";
>>
>> // resources this cape uses
>> exclusive-use =
>> "P9.24", // uart1_txd
>> "P9.26", // uart1_rxd
>> "P8.14", // uart1_de/re
>> "gpio0_26",
>>
>> "uart1"; // hardware ip used
>>
>> /*
>> * Helper to show loaded overlays under:
>> /proc/device-tree/chosen/overlays/
>> */
>> fragment@0 {
>> target-path="/";
>> __overlay__ {
>>
>> chosen {
>> overlays {
>> BB-UART1-RS485-00A0 = __TIMESTAMP__;
>> };
>> };
>> };
>> };
>>
>> /*
>> * Free up the pins used by the cape from the pinmux helpers.
>> */
>> fragment@1 {
>> target = <&ocp>;
>> __overlay__ {
>> P9_24_pinmux { status = "disabled"; };
>> P9_26_pinmux { status = "disabled"; };
>> P8_14_pinmux { status = "disabled"; };
>> };
>> };
>>
>> fragment@2 {
>> target = <&am33xx_pinmux>;
>> __overlay__ {
>> bb_uart1_rs485_pins: pinmux_bb_uart1_rs485_pins {
>> pinctrl-single,pins = <
>> BONE_P9_24 (PIN_OUTPUT | MUX_MODE6)
>> BONE_P9_26 (PIN_INPUT | MUX_MODE6)
>> BONE_P8_14 0x07
>> >;
>> };
>> };
>> };
>>
>> fragment@3 {
>> target = <&uart1>;
>> __overlay__ {
>> status = "okay";
>> pinctrl-names = "default";
>> pinctrl-0 = <&bb_uart1_rs485_pins>;
>> rs485-rts-delay = <0 0>;
>>
>> rts-gpio = <&gpio0 26 1>; /* GPIO_ACTIVE_HIGH>; */
>> rs485-rts-active-high;
>> linux,rs485-enabled-at-boot-time;
>> };
>> };
>> };
>>
>> /boot/uEnv.txt:
>>
>> enable_uboot_overlays=1
>> uboot_overlay_addr0=/lib/firmware/BB-UART1-RS485-00A0.dtbo
>> disable_uboot_overlay_video=1
>> disable_uboot_overlay_audio=1
>> disable_uboot_overlay_wireless=1
>> disable_uboot_overlay_adc=1
>>
>>
>> When I boot:
>>
>> [ 0.460625] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 30,
>> base_baud = 3000000) is a OMAP UART0
>> [ 0.472149] 48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 31,
>> base_baud = 3000000) is a OMAP UART1
>>
>> But it doesnt work.
>> If I use the normal overlay BB-UART1-00A0.dtbo and swap the direction pin
>> manually it works.
>>
>> Any help would be very appreciatied!
>>
>> Jørgen
>>
>>
>> --
>> 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].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/beagleboard/cfc7f9c4-2c72-44ff-976e-2ec69db2c7efn%40googlegroups.com
>> <https://groups.google.com/d/msgid/beagleboard/cfc7f9c4-2c72-44ff-976e-2ec69db2c7efn%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> Regards,
> Atique u Rehman
>
--
Regards,
Atique u Rehman
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/CAOzcuAjeAqdTVYM4Jr-%3D6HaPvFGEM6t39iQzsyWOV2vFRJ9zkA%40mail.gmail.com.