The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/freescale/imx8mm-venice-gw72xx-0x-rs422.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
    2 /*
    3  * Copyright 2022 Gateworks Corporation
    4  *
    5  * GW72xx RS422 (RS485 full duplex):
    6  *  - GPIO1_0 rs485_term selects on-chip termination
    7  *  - GPIO4_0 rs485_en needs to be driven high (active)
    8  *  - GPIO4_2 rs485_hd needs to be driven low (in-active)
    9  *  - UART4_TX is DE for RS485 transmitter
   10  *  - RS485_EN needs to be pulled high
   11  *  - RS485_HALF needs to be low
   12  */
   13 
   14 #include <dt-bindings/gpio/gpio.h>
   15 
   16 #include "imx8mm-pinfunc.h"
   17 
   18 /dts-v1/;
   19 /plugin/;
   20 
   21 &{/} {
   22         compatible = "gw,imx8mm-gw72xx-0x";
   23 };
   24 
   25 &gpio4 {
   26         rs485_en {
   27                 gpio-hog;
   28                 gpios = <0 GPIO_ACTIVE_HIGH>;
   29                 output-high;
   30                 line-name = "rs485_en";
   31         };
   32 
   33         rs485_hd {
   34                 gpio-hog;
   35                 gpios = <2 GPIO_ACTIVE_HIGH>;
   36                 output-low;
   37                 line-name = "rs485_hd";
   38         };
   39 };
   40 
   41 &uart2 {
   42         pinctrl-names = "default";
   43         pinctrl-0 = <&pinctrl_uart2>;
   44         rts-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
   45         linux,rs485-enabled-at-boot-time;
   46         status = "okay";
   47 };
   48 
   49 &uart4 {
   50         status = "disabled";
   51 };
   52 
   53 &iomuxc {
   54         pinctrl_uart2: uart2grp {
   55                 fsl,pins = <
   56                         MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
   57                         MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
   58                         MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29       0x140
   59                 >;
   60         };
   61 };

Cache object: 991fa5c4c4c69b119b7a9cd1eb743f08


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.