1 /* 2 * Copyright 2017 NXP 3 * All rights reserved. 4 * 5 * 6 * SPDX-License-Identifier: BSD-3-Clause 7 */ 8 9 #ifndef _FSL_SWM_CONNECTIONS_ 10 #define _FSL_SWM_CONNECTIONS_ 11 12 #include "fsl_common.h" 13 14 /******************************************************************************* 15 * Definitions 16 ******************************************************************************/ 17 /* Component ID definition, used by tools. */ 18 #ifndef FSL_COMPONENT_ID 19 #define FSL_COMPONENT_ID "platform.drivers.swm_connections" 20 #endif 21 22 /*! 23 * @addtogroup swm 24 * @{ 25 */ 26 27 /*! 28 * @name swm connections 29 * @{ 30 */ 31 32 /*! @brief SWM port_pin number */ 33 typedef enum _swm_port_pin_type_t 34 { 35 kSWM_PortPin_P0_0 = 0U, /*!< port_pin number P0_0. */ 36 kSWM_PortPin_P0_1 = 1U, /*!< port_pin number P0_1. */ 37 kSWM_PortPin_P0_2 = 2U, /*!< port_pin number P0_2. */ 38 kSWM_PortPin_P0_3 = 3U, /*!< port_pin number P0_3. */ 39 kSWM_PortPin_P0_4 = 4U, /*!< port_pin number P0_4. */ 40 kSWM_PortPin_P0_5 = 5U, /*!< port_pin number P0_5. */ 41 kSWM_PortPin_P0_6 = 6U, /*!< port_pin number P0_6. */ 42 kSWM_PortPin_P0_7 = 7U, /*!< port_pin number P0_7. */ 43 kSWM_PortPin_P0_8 = 8U, /*!< port_pin number P0_8. */ 44 kSWM_PortPin_P0_9 = 9U, /*!< port_pin number P0_9. */ 45 kSWM_PortPin_P0_10 = 10U, /*!< port_pin number P0_10. */ 46 kSWM_PortPin_P0_11 = 11U, /*!< port_pin number P0_11. */ 47 kSWM_PortPin_P0_12 = 12U, /*!< port_pin number P0_12. */ 48 kSWM_PortPin_P0_13 = 13U, /*!< port_pin number P0_13. */ 49 kSWM_PortPin_P0_14 = 14U, /*!< port_pin number P0_14. */ 50 kSWM_PortPin_P0_15 = 15U, /*!< port_pin number P0_15. */ 51 kSWM_PortPin_P0_16 = 16U, /*!< port_pin number P0_16. */ 52 kSWM_PortPin_P0_17 = 17U, /*!< port_pin number P0_17. */ 53 kSWM_PortPin_P0_18 = 18U, /*!< port_pin number P0_18. */ 54 kSWM_PortPin_P0_19 = 19U, /*!< port_pin number P0_19. */ 55 kSWM_PortPin_P0_20 = 20U, /*!< port_pin number P0_20. */ 56 kSWM_PortPin_P0_21 = 21U, /*!< port_pin number P0_21. */ 57 kSWM_PortPin_P0_22 = 22U, /*!< port_pin number P0_22. */ 58 kSWM_PortPin_P0_23 = 23U, /*!< port_pin number P0_23. */ 59 kSWM_PortPin_P0_24 = 24U, /*!< port_pin number P0_24. */ 60 kSWM_PortPin_P0_25 = 25U, /*!< port_pin number P0_25. */ 61 kSWM_PortPin_P0_26 = 26U, /*!< port_pin number P0_26. */ 62 kSWM_PortPin_P0_27 = 27U, /*!< port_pin number P0_27. */ 63 kSWM_PortPin_P0_28 = 28U, /*!< port_pin number P0_28. */ 64 kSWM_PortPin_P0_29 = 29U, /*!< port_pin number P0_29. */ 65 kSWM_PortPin_P0_30 = 30U, /*!< port_pin number P0_30. */ 66 kSWM_PortPin_P0_31 = 31U, /*!< port_pin number P0_31. */ 67 68 kSWM_PortPin_P1_0 = 32U, /*!< port_pin number P1_0. */ 69 kSWM_PortPin_P1_1 = 33U, /*!< port_pin number P1_1. */ 70 kSWM_PortPin_P1_2 = 34U, /*!< port_pin number P1_2. */ 71 kSWM_PortPin_P1_3 = 35U, /*!< port_pin number P1_3. */ 72 kSWM_PortPin_P1_4 = 36U, /*!< port_pin number P1_4. */ 73 kSWM_PortPin_P1_5 = 37U, /*!< port_pin number P1_5. */ 74 kSWM_PortPin_P1_6 = 38U, /*!< port_pin number P1_6. */ 75 kSWM_PortPin_P1_7 = 39U, /*!< port_pin number P1_7. */ 76 kSWM_PortPin_P1_8 = 40U, /*!< port_pin number P1_8. */ 77 kSWM_PortPin_P1_9 = 41U, /*!< port_pin number P1_9. */ 78 kSWM_PortPin_P1_10 = 42U, /*!< port_pin number P1_10. */ 79 kSWM_PortPin_P1_11 = 43U, /*!< port_pin number P1_11. */ 80 kSWM_PortPin_P1_12 = 44U, /*!< port_pin number P1_12. */ 81 kSWM_PortPin_P1_13 = 45U, /*!< port_pin number P1_13. */ 82 kSWM_PortPin_P1_14 = 46U, /*!< port_pin number P1_14. */ 83 kSWM_PortPin_P1_15 = 47U, /*!< port_pin number P1_15. */ 84 kSWM_PortPin_P1_16 = 48U, /*!< port_pin number P1_16. */ 85 kSWM_PortPin_P1_17 = 49U, /*!< port_pin number P1_17. */ 86 kSWM_PortPin_P1_18 = 50U, /*!< port_pin number P1_18. */ 87 kSWM_PortPin_P1_19 = 51U, /*!< port_pin number P1_19. */ 88 kSWM_PortPin_P1_20 = 52U, /*!< port_pin number P1_20. */ 89 kSWM_PortPin_P1_21 = 53U, /*!< port_pin number P1_21. */ 90 kSWM_PortPin_Reset = 0xffU /*!< port_pin reset number. */ 91 } swm_port_pin_type_t; 92 93 /*! @brief SWM movable selection */ 94 typedef enum _swm_select_movable_t 95 { 96 kSWM_USART0_TXD = 0U, /*!< Movable function as USART0_TXD. */ 97 kSWM_USART0_RXD = 1U, /*!< Movable function as USART0_RXD. */ 98 kSWM_USART0_RTS = 2U, /*!< Movable function as USART0_RTS. */ 99 kSWM_USART0_CTS = 3U, /*!< Movable function as USART0_CTS. */ 100 kSWM_USART0_SCLK = 4U, /*!< Movable function as USART0_SCLK. */ 101 102 kSWM_USART1_TXD = 5U, /*!< Movable function as USART1_TXD. */ 103 kSWM_USART1_RXD = 6U, /*!< Movable function as USART1_RXD. */ 104 kSWM_USART1_RTS = 7U, /*!< Movable function as USART1_RTS. */ 105 kSWM_USART1_CTS = 8U, /*!< Movable function as USART1_CTS. */ 106 kSWM_USART1_SCLK = 9U, /*!< Movable function as USART1_SCLK. */ 107 108 kSWM_USART2_TXD = 10U, /*!< Movable function as USART2_TXD. */ 109 kSWM_USART2_RXD = 11U, /*!< Movable function as USART2_RXD. */ 110 kSWM_USART2_RTS = 12U, /*!< Movable function as USART2_RTS. */ 111 kSWM_USART2_CTS = 13U, /*!< Movable function as USART2_CTS. */ 112 kSWM_USART2_SCLK = 14U, /*!< Movable function as USART2_SCLK. */ 113 114 kSWM_SPI0_SCK = 15U, /*!< Movable function as SPI0_SCK. */ 115 kSWM_SPI0_MOSI = 16U, /*!< Movable function as SPI0_MOSI. */ 116 kSWM_SPI0_MISO = 17U, /*!< Movable function as SPI0_MISO. */ 117 kSWM_SPI0_SSEL0 = 18U, /*!< Movable function as SPI0_SSEL0. */ 118 kSWM_SPI0_SSEL1 = 19U, /*!< Movable function as SPI0_SSEL1. */ 119 kSWM_SPI0_SSEL2 = 20U, /*!< Movable function as SPI0_SSEL2. */ 120 kSWM_SPI0_SSEL3 = 21U, /*!< Movable function as SPI0_SSEL3. */ 121 122 kSWM_SPI1_SCK = 22U, /*!< Movable function as SPI1_SCK. */ 123 kSWM_SPI1_MOSI = 23U, /*!< Movable function as SPI1_MOSI. */ 124 kSWM_SPI1_MISO = 24U, /*!< Movable function as SPI1_MISO. */ 125 kSWM_SPI1_SSEL0 = 25U, /*!< Movable function as SPI1_SSEL0. */ 126 kSWM_SPI1_SSEL1 = 26U, /*!< Movable function as SPI1_SSEL1. */ 127 128 kSWM_I2C0_SDA = 27U, /*!< Movable function as I2C0_SDA. */ 129 kSWM_I2C0_SCL = 28U, /*!< Movable function as I2C0_SCL. */ 130 kSWM_I3C0_SDA = 29U, /*!< Movable function as I3C0_SDA. */ 131 kSWM_I3C0_SCL = 30U, /*!< Movable function as I3C0_SCL. */ 132 kSWM_I3C0_PUR = 31U, /*!< Movable function as I3C0_PUR. */ 133 134 kSWM_ACMP_O = 32U, /*!< Movable function as COMP0_OUT. */ 135 kSWM_CLKOUT = 33U, /*!< Movable function as CLKOUT. */ 136 kSWM_GPIO_INT_BMAT = 34U, /*!< Movable function as GPIO_INT_BMAT. */ 137 138 kSWM_MOVABLE_NUM_FUNCS = 35U, /*!< Movable function number. */ 139 } swm_select_movable_t; 140 141 /*! @brief SWM fixed pin selection */ 142 typedef enum _swm_select_fixed_pin_t 143 { 144 kSWM_ACMP_INPUT1 = SWM_PINENABLE0_ACMP_I1_MASK, /*!< Fixed-pin function as ACMP_INPUT1. */ 145 kSWM_ACMP_INPUT2 = SWM_PINENABLE0_ACMP_I2_MASK, /*!< Fixed-pin function as ACMP_INPUT2. */ 146 kSWM_ACMP_INPUT3 = SWM_PINENABLE0_ACMP_I3_MASK, /*!< Fixed-pin function as ACMP_INPUT3. */ 147 kSWM_ACMP_INPUT4 = SWM_PINENABLE0_ACMP_I4_MASK, /*!< Fixed-pin function as ACMP_INPUT4. */ 148 kSWM_ACMP_INPUT5 = SWM_PINENABLE0_ACMP_I5_MASK, /*!< Fixed-pin function as ACMP_INPUT5. */ 149 kSWM_SWCLK = SWM_PINENABLE0_SWCLK_MASK, /*!< Fixed-pin function as SWCLK. */ 150 kSWM_SWDIO = SWM_PINENABLE0_SWDIO_MASK, /*!< Fixed-pin function as SWDIO. */ 151 kSWM_RESETN = SWM_PINENABLE0_RESETN_MASK, /*!< Fixed-pin function as RESETN. */ 152 kSWM_CLKIN = SWM_PINENABLE0_CLKIN_MASK, /*!< Fixed-pin function as CLKIN. */ 153 kSWM_CMPVREF = SWM_PINENABLE0_CMPVREF_MASK, /*!< Fixed-pin function as CMPVREF. */ 154 kSWM_XTALIN = SWM_PINENABLE0_XTALIN_MASK, /*!< Fixed-pin function as XTALIN. */ 155 kSWM_XTALOUT = SWM_PINENABLE0_XTALOUT_MASK, /*!< Fixed-pin function as XTALOUT. */ 156 kSWM_ADC_CHN0 = SWM_PINENABLE0_ADC_0_MASK, /*!< Fixed-pin function as ADC_CHN0. */ 157 kSWM_ADC_CHN1 = SWM_PINENABLE0_ADC_1_MASK, /*!< Fixed-pin function as ADC_CHN1. */ 158 kSWM_ADC_CHN2 = SWM_PINENABLE0_ADC_2_MASK, /*!< Fixed-pin function as ADC_CHN2. */ 159 kSWM_ADC_CHN3 = SWM_PINENABLE0_ADC_3_MASK, /*!< Fixed-pin function as ADC_CHN3. */ 160 kSWM_ADC_CHN4 = SWM_PINENABLE0_ADC_4_MASK, /*!< Fixed-pin function as ADC_CHN4. */ 161 kSWM_ADC_CHN5 = SWM_PINENABLE0_ADC_5_MASK, /*!< Fixed-pin function as ADC_CHN5. */ 162 kSWM_ADC_CHN6 = SWM_PINENABLE0_ADC_6_MASK, /*!< Fixed-pin function as ADC_CHN6. */ 163 kSWM_ADC_CHN7 = SWM_PINENABLE0_ADC_7_MASK, /*!< Fixed-pin function as ADC_CHN7. */ 164 kSWM_ADC_CHN8 = SWM_PINENABLE0_ADC_8_MASK, /*!< Fixed-pin function as ADC_CHN8. */ 165 kSWM_ADC_CHN9 = SWM_PINENABLE0_ADC_9_MASK, /*!< Fixed-pin function as ADC_CHN9. */ 166 kSWM_ADC_CHN10 = SWM_PINENABLE0_ADC_10_MASK, /*!< Fixed-pin function as ADC_CHN10. */ 167 kSWM_ADC_CHN11 = SWM_PINENABLE0_ADC_11_MASK, /*!< Fixed-pin function as ADC_CHN11. */ 168 169 kSWM_FIXEDPIN_NUM_FUNCS = (int)0x80000041U, /*!< Fixed-pin function number. */ 170 } swm_select_fixed_pin_t; 171 172 /*! @brief SWM flextimer pin function */ 173 typedef enum _swm_flextimer_pin_func_t 174 { 175 kSWM_FTM0_EXTCLK = 0, /*!< Flextimer function as FTM0_EXTCLK. */ 176 kSWM_FTM0_CH0 = 1, /*!< Flextimer function as FTM0_CH0. */ 177 kSWM_FTM0_CH1 = 2, /*!< Flextimer function as FTM0_CH1. */ 178 kSWM_FTM0_CH2 = 3, /*!< Flextimer function as FTM0_CH2. */ 179 kSWM_FTM0_CH3 = 4, /*!< Flextimer function as FTM0_CH3. */ 180 kSWM_FTM0_CH4 = 5, /*!< Flextimer function as FTM0_CH4. */ 181 kSWM_FTM0_CH5 = 6, /*!< Flextimer function as FTM0_CH5. */ 182 kSWM_FTM0_FAULT0 = 7, /*!< Flextimer function as FTM0_FAULT0. */ 183 kSWM_FTM0_FAULT1 = 8, /*!< Flextimer function as FTM0_FAULT1. */ 184 kSWM_FTM0_FAULT2 = 9, /*!< Flextimer function as FTM0_FAULT2. */ 185 kSWM_FTM0_FAULT3 = 10, /*!< Flextimer function as FTM0_FAULT3. */ 186 kSWM_FTM1_EXTCLK = 11, /*!< Flextimer function as FTM1_EXTCLK. */ 187 kSWM_FTM1_CH0 = 12, /*!< Flextimer function as FTM1_CH0. */ 188 kSWM_FTM1_CH1 = 13, /*!< Flextimer function as FTM1_CH1. */ 189 kSWM_FTM1_CH2 = 14, /*!< Flextimer function as FTM1_CH2. */ 190 kSWM_FTM1_CH3 = 15, /*!< Flextimer function as FTM1_CH3. */ 191 kSWM_FTM1_QD_PHA = 16, /*!< Flextimer function as FTM1_QD_PHA. */ 192 kSWM_FTM1_QD_PHB = 17, /*!< Flextimer function as FTM1_QD_PHB. */ 193 194 kSWM_FTM_NUM_FUNCS = 18, /*!< Flextimer function function number. */ 195 } swm_flextimer_pin_func_t; 196 197 /*! @brief SWM flextimer pin selection */ 198 typedef enum _swm_select_flextimer_pin_sel_t 199 { 200 kSWM_FTM_Selection0 = 0, /*!< Flextimer pin selection0. */ 201 kSWM_FTM_Selection1 = 1, /*!< Flextimer pin selection1. */ 202 kSWM_FTM_Selection2 = 2, /*!< Flextimer pin selection2. */ 203 kSWM_FTM_Selection3 = 3, /*!< Flextimer pin selection3, which is not connected by default on LPC86x. */ 204 } swm_flextimer_pin_sel_t; 205 206 /*@}*/ 207 208 /*@}*/ 209 210 #endif /* _FSL_SWM_CONNECTIONS_ */ 211