// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (C) 2021 PHYTEC Messtechnik GmbH * Author: Jens Lang * * Tauri-L RS232 + RS485: * - GPIO3_20 uart4_rs485_en needs to be driven high (active) * - GPIO3_25 RS485_DE Driver enable */ #include #include #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 >; }; };