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))