From 95c2dfce94fd38cbc5114f44cf5d3d5d1fc30825 Mon Sep 17 00:00:00 2001 From: Sumit Batra Date: Fri, 19 May 2023 12:34:23 +0530 Subject: [PATCH] board: MIMXRT1062-FMURT6: Add pinmux support for uart ports used for gps and telemtry. This patch configures the correct pinmux settings for lpuart2, lpuart3, lpuart5 ports used for gps and telemetry modules. It also adds software pull up for the UART console port lpuart7. Signed-off-by: Sumit Batra Co-authored-by: Benjamin Perseghetti Co-authored-by: Iain Galloway --- .../mimxrt1062_fmurt6-pinctrl.dtsi | 72 ++++++++++++++++--- .../mimxrt1062_fmurt6/mimxrt1062_fmurt6.dts | 27 +++++++ 2 files changed, 91 insertions(+), 8 deletions(-) diff --git a/boards/arm/mimxrt1062_fmurt6/mimxrt1062_fmurt6-pinctrl.dtsi b/boards/arm/mimxrt1062_fmurt6/mimxrt1062_fmurt6-pinctrl.dtsi index 83899828bdf..587c66ac287 100644 --- a/boards/arm/mimxrt1062_fmurt6/mimxrt1062_fmurt6-pinctrl.dtsi +++ b/boards/arm/mimxrt1062_fmurt6/mimxrt1062_fmurt6-pinctrl.dtsi @@ -313,6 +313,8 @@ pinmux = <&iomuxc_gpio_emc_32_lpuart7_rx>, <&iomuxc_gpio_emc_31_lpuart7_tx>; drive-strength = "r0-6"; + bias-pull-up; + bias-pull-up-value = "100k"; slew-rate = "slow"; nxp,speed = "100-mhz"; }; @@ -330,10 +332,37 @@ }; }; + pinmux_lpuart2: pinmux_lpuart2 { + group0 { + pinmux = <&iomuxc_gpio_ad_b1_02_lpuart2_tx>, + <&iomuxc_gpio_ad_b1_03_lpuart2_rx>; + drive-strength = "r0-6"; + slew-rate = "slow"; + nxp,speed = "100-mhz"; + }; + }; + + pinmux_lpuart2_sleep: pinmux_lpuart2_sleep { + group0 { + pinmux = <&iomuxc_gpio_ad_b1_03_lpuart2_rx>; + drive-strength = "r0"; + bias-pull-up; + bias-pull-up-value = "100k"; + slew-rate = "slow"; + nxp,speed = "100-mhz"; + }; + group1 { + pinmux = <&iomuxc_gpio_ad_b1_02_lpuart2_tx>; + drive-strength = "r0-6"; + slew-rate = "slow"; + nxp,speed = "100-mhz"; + }; + }; + pinmux_lpuart3: pinmux_lpuart3 { group0 { - pinmux = <&iomuxc_gpio_ad_b1_06_lpuart3_tx>, - <&iomuxc_gpio_ad_b1_07_lpuart3_rx>; + pinmux = <&iomuxc_gpio_b0_08_lpuart3_tx>, + <&iomuxc_gpio_b0_09_lpuart3_rx>; drive-strength = "r0-6"; slew-rate = "slow"; nxp,speed = "100-mhz"; @@ -343,10 +372,10 @@ /* Flow control for lpuart3 */ pinmux_lpuart3_flow_control: pinmux_lpuart3_flow_control { group0 { - pinmux = <&iomuxc_gpio_ad_b1_06_lpuart3_tx>, - <&iomuxc_gpio_ad_b1_07_lpuart3_rx>, - <&iomuxc_gpio_ad_b1_04_lpuart3_cts_b>, - <&iomuxc_gpio_ad_b1_05_lpuart3_rts_b>; + pinmux = <&iomuxc_gpio_b0_08_lpuart3_tx>, + <&iomuxc_gpio_b0_09_lpuart3_rx>, + <&iomuxc_gpio_sd_b1_04_gpio3_io04>, + <&iomuxc_gpio_emc_24_gpio4_io24>; drive-strength = "r0-6"; slew-rate = "slow"; nxp,speed = "100-mhz"; @@ -355,7 +384,7 @@ pinmux_lpuart3_sleep: pinmux_lpuart3_sleep { group0 { - pinmux = <&iomuxc_gpio_ad_b1_06_gpio1_io22>; + pinmux = <&iomuxc_gpio_b0_09_lpuart3_rx>; drive-strength = "r0"; bias-pull-up; bias-pull-up-value = "100k"; @@ -363,7 +392,34 @@ nxp,speed = "100-mhz"; }; group1 { - pinmux = <&iomuxc_gpio_ad_b1_07_lpuart3_rx>; + pinmux = <&iomuxc_gpio_b0_08_lpuart3_tx>; + drive-strength = "r0-6"; + slew-rate = "slow"; + nxp,speed = "100-mhz"; + }; + }; + + pinmux_lpuart5: pinmux_lpuart5 { + group0 { + pinmux = <&iomuxc_gpio_emc_23_lpuart5_tx>, + <&iomuxc_gpio_b1_13_lpuart5_rx>; + drive-strength = "r0-6"; + slew-rate = "slow"; + nxp,speed = "100-mhz"; + }; + }; + + pinmux_lpuart5_sleep: pinmux_lpuart5_sleep { + group0 { + pinmux = <&iomuxc_gpio_b1_13_lpuart5_rx>; + drive-strength = "r0"; + bias-pull-up; + bias-pull-up-value = "100k"; + slew-rate = "slow"; + nxp,speed = "100-mhz"; + }; + group1 { + pinmux = <&iomuxc_gpio_emc_23_lpuart5_tx>; drive-strength = "r0-6"; slew-rate = "slow"; nxp,speed = "100-mhz"; diff --git a/boards/arm/mimxrt1062_fmurt6/mimxrt1062_fmurt6.dts b/boards/arm/mimxrt1062_fmurt6/mimxrt1062_fmurt6.dts index ceebc7e2e49..37bc9c8c127 100644 --- a/boards/arm/mimxrt1062_fmurt6/mimxrt1062_fmurt6.dts +++ b/boards/arm/mimxrt1062_fmurt6/mimxrt1062_fmurt6.dts @@ -21,6 +21,9 @@ watchdog0 = &wdog0; sdhc0 = &usdhc1; pwm-0 = &flexpwm2_pwm0; + gps1 = &lpuart2; + telem1 = &lpuart3; + telem4-gps2 = &lpuart5; }; chosen { @@ -284,6 +287,30 @@ pinctrl-names = "default", "sleep"; }; +&lpuart2 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&pinmux_lpuart2>; + pinctrl-1 = <&pinmux_lpuart2_sleep>; + pinctrl-names = "default", "sleep"; +}; + +&lpuart3 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&pinmux_lpuart3>; + pinctrl-1 = <&pinmux_lpuart3_sleep>; + pinctrl-names = "default", "sleep"; +}; + +&lpuart5 { + status = "okay"; + current-speed = <115200>; + pinctrl-0 = <&pinmux_lpuart5>; + pinctrl-1 = <&pinmux_lpuart5_sleep>; + pinctrl-names = "default", "sleep"; +}; + &lpspi1 { status = "okay"; pinctrl-0 = <&pinmux_lpspi1>;