This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 7730201689 imxrt: Extend FlexIO support to 117x
7730201689 is described below

commit 77302016897e36f87d26640fe2b24b038f67f5b4
Author: Peter van der Perk <peter.vanderp...@nxp.com>
AuthorDate: Thu Dec 14 09:51:37 2023 +0100

    imxrt: Extend FlexIO support to 117x
---
 arch/arm/src/imxrt/Kconfig                         | 10 +++-
 .../src/imxrt/hardware/rt117x/imxrt117x_pinmux.h   | 68 ++++++++++++++++++++++
 2 files changed, 76 insertions(+), 2 deletions(-)

diff --git a/arch/arm/src/imxrt/Kconfig b/arch/arm/src/imxrt/Kconfig
index daffebf2c7..5de5cb6a44 100644
--- a/arch/arm/src/imxrt/Kconfig
+++ b/arch/arm/src/imxrt/Kconfig
@@ -178,6 +178,7 @@ config ARCH_FAMILY_IMXRT106x
        select ARMV7M_HAVE_DTCM
        select IMXRT_HIGHSPEED_GPIO
        select IMXRT_HAVE_FLEXSPI2
+       select IMXRT_HAVE_FLEXIO3
 
 config IMXRT_HAVE_OTA_PARTITION
        bool
@@ -284,6 +285,10 @@ config IMXRT_FLEXSPI
        bool
        default n
 
+config IMXRT_HAVE_FLEXIO3
+       bool
+       default n
+
 config IMXRT_HAVE_FLEXSPI2
        bool
        default n
@@ -360,7 +365,7 @@ config IMXRT_FLEXIO1
        default n
        select IMXRT_FLEXIO
 
-if IMXRT_FLEXIO1
+if (IMXRT_FLEXIO1 && !IMXRT_CLOCKCONFIG_VER2)
 
 choice
        prompt "FLEXIO1 Clock Source"
@@ -417,7 +422,7 @@ config IMXRT_FLEXIO2
        default n
        select IMXRT_FLEXIO
 
-if IMXRT_FLEXIO2 || IMXRT_FLEXIO3
+if (IMXRT_FLEXIO2 || IMXRT_FLEXIO3) && !IMXRT_CLOCKCONFIG_VER2
 
 choice
        prompt "FLEXIO2 Clock Source"
@@ -471,6 +476,7 @@ config IMXRT_FLEXIO3
        bool "FLEXIO3"
        default n
        select IMXRT_FLEXIO
+       depends on IMXRT_HAVE_FLEXIO3
        ---help---
                FLEXIO3 uses the FLEXIO2 clock settings.
 
diff --git a/arch/arm/src/imxrt/hardware/rt117x/imxrt117x_pinmux.h 
b/arch/arm/src/imxrt/hardware/rt117x/imxrt117x_pinmux.h
index d3482b174a..e0ac9cb929 100644
--- a/arch/arm/src/imxrt/hardware/rt117x/imxrt117x_pinmux.h
+++ b/arch/arm/src/imxrt/hardware/rt117x/imxrt117x_pinmux.h
@@ -197,6 +197,74 @@
 #define GPIO_FLEXCAN3_TX_2             (GPIO_PERIPH | GPIO_ALT1 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_LPSR_08_INDEX))
 #define GPIO_FLEXCAN3_TX_3             (GPIO_PERIPH | GPIO_ALT6 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_LPSR_06_INDEX))
 
+/* Flexible I/O (FlexIO) */
+
+#define GPIO_FLEXIO1_FLEXIO00_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_00_INDEX))
+#define GPIO_FLEXIO1_FLEXIO01_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_01_INDEX))
+#define GPIO_FLEXIO1_FLEXIO02_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_02_INDEX))
+#define GPIO_FLEXIO1_FLEXIO03_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_03_INDEX))
+#define GPIO_FLEXIO1_FLEXIO04_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_04_INDEX))
+#define GPIO_FLEXIO1_FLEXIO05_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_05_INDEX))
+#define GPIO_FLEXIO1_FLEXIO06_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_06_INDEX))
+#define GPIO_FLEXIO1_FLEXIO07_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_07_INDEX))
+#define GPIO_FLEXIO1_FLEXIO08_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_08_INDEX))
+#define GPIO_FLEXIO1_FLEXIO09_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_09_INDEX))
+#define GPIO_FLEXIO1_FLEXIO10_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_10_INDEX))
+#define GPIO_FLEXIO1_FLEXIO11_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_11_INDEX))
+#define GPIO_FLEXIO1_FLEXIO12_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_12_INDEX))
+#define GPIO_FLEXIO1_FLEXIO13_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_13_INDEX))
+#define GPIO_FLEXIO1_FLEXIO14_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_14_INDEX))
+#define GPIO_FLEXIO1_FLEXIO15_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_15_INDEX))
+#define GPIO_FLEXIO1_FLEXIO16_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_16_INDEX))
+#define GPIO_FLEXIO1_FLEXIO17_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_17_INDEX))
+#define GPIO_FLEXIO1_FLEXIO18_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_18_INDEX))
+#define GPIO_FLEXIO1_FLEXIO19_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_19_INDEX))
+#define GPIO_FLEXIO1_FLEXIO20_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_20_INDEX))
+#define GPIO_FLEXIO1_FLEXIO21_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_21_INDEX))
+#define GPIO_FLEXIO1_FLEXIO22_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_22_INDEX))
+#define GPIO_FLEXIO1_FLEXIO23_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_23_INDEX))
+#define GPIO_FLEXIO1_FLEXIO24_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_24_INDEX))
+#define GPIO_FLEXIO1_FLEXIO25_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_25_INDEX))
+#define GPIO_FLEXIO1_FLEXIO26_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_26_INDEX))
+#define GPIO_FLEXIO1_FLEXIO27_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_27_INDEX))
+#define GPIO_FLEXIO1_FLEXIO28_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_28_INDEX))
+#define GPIO_FLEXIO1_FLEXIO29_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_29_INDEX))
+#define GPIO_FLEXIO1_FLEXIO30_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_30_INDEX))
+#define GPIO_FLEXIO1_FLEXIO31_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_31_INDEX))
+
+#define GPIO_FLEXIO2_FLEXIO00_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_00_INDEX))
+#define GPIO_FLEXIO2_FLEXIO01_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_01_INDEX))
+#define GPIO_FLEXIO2_FLEXIO02_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_02_INDEX))
+#define GPIO_FLEXIO2_FLEXIO03_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_03_INDEX))
+#define GPIO_FLEXIO2_FLEXIO04_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_04_INDEX))
+#define GPIO_FLEXIO2_FLEXIO05_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_05_INDEX))
+#define GPIO_FLEXIO2_FLEXIO06_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_06_INDEX))
+#define GPIO_FLEXIO2_FLEXIO07_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_07_INDEX))
+#define GPIO_FLEXIO2_FLEXIO08_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_08_INDEX))
+#define GPIO_FLEXIO2_FLEXIO09_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_09_INDEX))
+#define GPIO_FLEXIO2_FLEXIO10_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_10_INDEX))
+#define GPIO_FLEXIO2_FLEXIO11_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_11_INDEX))
+#define GPIO_FLEXIO2_FLEXIO12_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_12_INDEX))
+#define GPIO_FLEXIO2_FLEXIO13_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_13_INDEX))
+#define GPIO_FLEXIO2_FLEXIO14_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_14_INDEX))
+#define GPIO_FLEXIO2_FLEXIO15_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_15_INDEX))
+#define GPIO_FLEXIO2_FLEXIO16_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_16_INDEX))
+#define GPIO_FLEXIO2_FLEXIO17_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_17_INDEX))
+#define GPIO_FLEXIO2_FLEXIO18_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_18_INDEX))
+#define GPIO_FLEXIO2_FLEXIO19_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_19_INDEX))
+#define GPIO_FLEXIO2_FLEXIO20_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_20_INDEX))
+#define GPIO_FLEXIO2_FLEXIO21_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_21_INDEX))
+#define GPIO_FLEXIO2_FLEXIO22_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_22_INDEX))
+#define GPIO_FLEXIO2_FLEXIO23_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_23_INDEX))
+#define GPIO_FLEXIO2_FLEXIO24_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_24_INDEX))
+#define GPIO_FLEXIO2_FLEXIO25_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_25_INDEX))
+#define GPIO_FLEXIO2_FLEXIO26_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_26_INDEX))
+#define GPIO_FLEXIO2_FLEXIO27_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_27_INDEX))
+#define GPIO_FLEXIO2_FLEXIO28_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_28_INDEX))
+#define GPIO_FLEXIO2_FLEXIO29_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_29_INDEX))
+#define GPIO_FLEXIO2_FLEXIO30_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_30_INDEX))
+#define GPIO_FLEXIO2_FLEXIO31_1        (GPIO_PERIPH | GPIO_ALT8 | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_AD_31_INDEX))
+
 /* Enhanced Flex Pulse Width Modulator (eFlexPWM) */
 
 #define GPIO_FLEXPWM1_PWM0_A_1           (GPIO_PERIPH | GPIO_ALT1  | 
GPIO_PADMUX(IMXRT_PADMUX_GPIO_EMC_B1_23_INDEX))

Reply via email to