| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
| /* |
| * Copyright (C) 2021 PHYTEC Messtechnik GmbH |
| * Author: Jens Lang <j.lang@phytec.de> |
| * |
| * Tauri-L RS232 + RS485: |
| * - GPIO3_20 uart4_rs485_en needs to be driven high (active) |
| * - GPIO3_25 RS485_DE Driver enable |
| */ |
| |
| #include <dt-bindings/clock/imx8mm-clock.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include "imx8mm-pinfunc.h" |
| |
| /dts-v1/; |
| /plugin/; |
| |
| &gpio3 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_gpio3_hog>; |
| |
| uart4-rs485-en-hog { |
| gpio-hog; |
| gpios = <20 GPIO_ACTIVE_HIGH>; |
| output-high; |
| line-name = "uart4_rs485_en"; |
| }; |
| }; |
| |
| /* UART2 - RS232 */ |
| &uart2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_uart2>; |
| assigned-clocks = <&clk IMX8MM_CLK_UART2>; |
| assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>; |
| status = "okay"; |
| }; |
| |
| /* UART4 - RS485 */ |
| &uart4 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_uart4>; |
| assigned-clocks = <&clk IMX8MM_CLK_UART4>; |
| assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>; |
| rts-gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; |
| linux,rs485-enabled-at-boot-time; |
| status = "okay"; |
| }; |
| |
| &iomuxc { |
| pinctrl_gpio3_hog: gpio3hoggrp { |
| fsl,pins = < |
| MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x49 |
| >; |
| }; |
| |
| pinctrl_uart2: uart2grp { |
| fsl,pins = < |
| MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x00 |
| MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x00 |
| >; |
| }; |
| |
| pinctrl_uart4: uart4grp { |
| fsl,pins = < |
| MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX 0x49 |
| MX8MM_IOMUXC_UART4_TXD_UART4_DCE_TX 0x49 |
| MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x49 |
| >; |
| }; |
| }; |