What kernel version are you using?

On Tue, Jan 19, 2021, 9:01 PM Jørgen Sirum <[email protected]> wrote:

> I have to use the pins P9_24 TX, P9_26 RX and P8_14 de/re as my beaglebone
> is mounted on a prewired "IO board".
>
> Tried installing 4.14.71-ti-r80 kernel (8250 driver) and using my
> UART1-RS485 overlay. But thats not working.
>
> Is it possible to use whatever pin for de/re?
> Tried adding some printk() lines in the omap-serial.c on the modified
> "stock image" kernel before compiling, but nothing related to RS485 in that
> code seems to get executed. (Dont see any of the printk() in syslog)
>
> tirsdag 19. januar 2021 kl. 09:33:05 UTC+1 skrev [email protected]:
>
>> 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/8e094f34-39ee-4ec1-a069-465cadea75f4n%40googlegroups.com
> <https://groups.google.com/d/msgid/beagleboard/8e094f34-39ee-4ec1-a069-465cadea75f4n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAOzcuAg4Uf0gyJ%3DtXrXkwnBxeD5B8Fpb%3DuiZ-hN6k54eca%2BFNw%40mail.gmail.com.

Reply via email to