ISSDK  1.7
IoT Sensing Software Development Kit
pin_mux.c
Go to the documentation of this file.
1 /*
2  * The Clear BSD License
3  * Copyright (c) 2015, Freescale Semiconductor, Inc.
4  * Copyright 2016-2017 NXP
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without modification,
8  * are permitted (subject to the limitations in the disclaimer below) provided
9  * that the following conditions are met:
10  *
11  * o Redistributions of source code must retain the above copyright notice, this list
12  * of conditions and the following disclaimer.
13  *
14  * o Redistributions in binary form must reproduce the above copyright notice, this
15  * list of conditions and the following disclaimer in the documentation and/or
16  * other materials provided with the distribution.
17  *
18  * o Neither the name of the copyright holder nor the names of its
19  * contributors may be used to endorse or promote products derived from this
20  * software without specific prior written permission.
21  *
22  * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE.
23  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
27  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
30  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  */
34 
35 /*
36  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
37 PinsProfile:
38 - !!product 'Pins v2.0'
39 - !!processor 'MKL25Z128xxx4'
40 - !!package 'MKL25Z128VLK4'
41 - !!mcu_data 'ksdk2_0'
42 - !!processor_version '0.2.6'
43  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
44  */
45 
46 #include "fsl_common.h"
47 #include "fsl_port.h"
48 #include "pin_mux.h"
49 
50 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
51 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
52 #define SOPT5_UART0RXSRC_UART_RX 0x00u /*!< UART0 receive data source select: UART0_RX pin */
53 #define SOPT5_UART0TXSRC_UART_TX 0x00u /*!< UART0 transmit data source select: UART0_TX pin */
54 
55 /*
56  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
57 BOARD_InitPins:
58 - options: {coreID: singlecore, enableClock: 'true'}
59 - pin_list:
60  - {pin_num: '27', peripheral: UART0, signal: RX, pin_signal: TSI0_CH2/PTA1/UART0_RX/TPM2_CH0}
61  - {pin_num: '28', peripheral: UART0, signal: TX, pin_signal: TSI0_CH3/PTA2/UART0_TX/TPM2_CH1, direction: OUTPUT}
62  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
63  */
64 
65 /*FUNCTION**********************************************************************
66  *
67  * Function Name : BOARD_InitPins
68  * Description : Configures pin routing and optionally pin electrical features.
69  *
70  *END**************************************************************************/
71 void BOARD_InitPins(void) {
72  CLOCK_EnableClock(kCLOCK_PortA); /* Port A Clock Gate Control: Clock enabled */
73 
74  PORT_SetPinMux(PORTA, PIN1_IDX, kPORT_MuxAlt2); /* PORTA1 (pin 27) is configured as UART0_RX */
75  PORT_SetPinMux(PORTA, PIN2_IDX, kPORT_MuxAlt2); /* PORTA2 (pin 28) is configured as UART0_TX */
76  SIM->SOPT5 = ((SIM->SOPT5 &
77  (~(SIM_SOPT5_UART0TXSRC_MASK | SIM_SOPT5_UART0RXSRC_MASK))) /* Mask bits to zero which are setting */
78  | SIM_SOPT5_UART0TXSRC(SOPT5_UART0TXSRC_UART_TX) /* UART0 transmit data source select: UART0_TX pin */
79  | SIM_SOPT5_UART0RXSRC(SOPT5_UART0RXSRC_UART_RX) /* UART0 receive data source select: UART0_RX pin */
80  );
81 }
82 
83 
84 #define PIN24_IDX 24u /*!< Pin number for pin 24 in a port */
85 #define PIN25_IDX 25u /*!< Pin number for pin 25 in a port */
86 
87 /*
88  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
89 I2C0_InitPins:
90 - options: {coreID: singlecore, enableClock: 'true'}
91 - pin_list:
92  - {pin_num: '24', peripheral: I2C0, signal: SCL, pin_signal: PTE24/TPM0_CH0/I2C0_SCL, pull_enable: enable}
93  - {pin_num: '25', peripheral: I2C0, signal: SDA, pin_signal: PTE25/TPM0_CH1/I2C0_SDA, pull_enable: enable}
94  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
95  */
96 
97 /*FUNCTION**********************************************************************
98  *
99  * Function Name : I2C0_InitPins
100  * Description : Configures pin routing and optionally pin electrical features.
101  *
102  *END**************************************************************************/
103 void I2C0_InitPins(void) {
104  CLOCK_EnableClock(kCLOCK_PortE); /* Port E Clock Gate Control: Clock enabled */
105 
106  const port_pin_config_t porte24_pin24_config = {
107  kPORT_PullUp, /* Internal pull-up resistor is enabled */
108  kPORT_SlowSlewRate, /* Slow slew rate is configured */
109  kPORT_PassiveFilterDisable, /* Passive filter is disabled */
110  kPORT_LowDriveStrength, /* Low drive strength is configured */
111  kPORT_MuxAlt5, /* Pin is configured as I2C0_SCL */
112  };
113  PORT_SetPinConfig(PORTE, PIN24_IDX, &porte24_pin24_config); /* PORTE24 (pin 24) is configured as I2C0_SCL */
114  const port_pin_config_t porte25_pin25_config = {
115  kPORT_PullUp, /* Internal pull-up resistor is enabled */
116  kPORT_SlowSlewRate, /* Slow slew rate is configured */
117  kPORT_PassiveFilterDisable, /* Passive filter is disabled */
118  kPORT_LowDriveStrength, /* Low drive strength is configured */
119  kPORT_MuxAlt5, /* Pin is configured as I2C0_SDA */
120  };
121  PORT_SetPinConfig(PORTE, PIN25_IDX, &porte25_pin25_config); /* PORTE25 (pin 25) is configured as I2C0_SDA */
122 }
123 
124 
125 
126 #define PIN24_IDX 24u /*!< Pin number for pin 24 in a port */
127 
128 #define PIN25_IDX 25u /*!< Pin number for pin 25 in a port */
129 /*
130  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
131 I2C0_DeinitPins:
132 - options: {coreID: singlecore, enableClock: 'false'}
133 - pin_list:
134  - {pin_num: '24', peripheral: n/a, signal: disabled, pin_signal: PTE24/TPM0_CH0/I2C0_SCL}
135  - {pin_num: '25', peripheral: n/a, signal: disabled, pin_signal: PTE25/TPM0_CH1/I2C0_SDA}
136  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
137  */
138 
139 /*FUNCTION**********************************************************************
140  *
141  * Function Name : I2C0_DeinitPins
142  * Description : Configures pin routing and optionally pin electrical features.
143  *
144  *END**************************************************************************/
145 void I2C0_DeinitPins(void) {
146  PORT_SetPinMux(PORTE, PIN24_IDX, kPORT_PinDisabledOrAnalog); /* PORTE24 (pin 24) is disabled */
147  PORT_SetPinMux(PORTE, PIN25_IDX, kPORT_PinDisabledOrAnalog); /* PORTE25 (pin 25) is disabled */
148 }
149 
150 
151 
152 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
153 
154 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
155 /*
156  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
157 I2C1_InitPins:
158 - options: {coreID: singlecore, enableClock: 'true'}
159 - pin_list:
160  - {pin_num: '56', peripheral: I2C1, signal: SCL, pin_signal: ADC0_SE15/TSI0_CH14/PTC1/LLWU_P6/RTC_CLKIN/I2C1_SCL/TPM0_CH0, pull_enable: enable}
161  - {pin_num: '57', peripheral: I2C1, signal: SDA, pin_signal: ADC0_SE11/TSI0_CH15/PTC2/I2C1_SDA/TPM0_CH1, pull_enable: enable}
162  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
163  */
164 
165 /*FUNCTION**********************************************************************
166  *
167  * Function Name : I2C1_InitPins
168  * Description : Configures pin routing and optionally pin electrical features.
169  *
170  *END**************************************************************************/
171 void I2C1_InitPins(void) {
172  CLOCK_EnableClock(kCLOCK_PortC); /* Port C Clock Gate Control: Clock enabled */
173 
174  const port_pin_config_t portc1_pin56_config = {
175  kPORT_PullUp, /* Internal pull-up resistor is enabled */
176  kPORT_SlowSlewRate, /* Slow slew rate is configured */
177  kPORT_PassiveFilterDisable, /* Passive filter is disabled */
178  kPORT_LowDriveStrength, /* Low drive strength is configured */
179  kPORT_MuxAlt2, /* Pin is configured as I2C1_SCL */
180  };
181  PORT_SetPinConfig(PORTC, PIN1_IDX, &portc1_pin56_config); /* PORTC1 (pin 56) is configured as I2C1_SCL */
182  const port_pin_config_t portc2_pin57_config = {
183  kPORT_PullUp, /* Internal pull-up resistor is enabled */
184  kPORT_SlowSlewRate, /* Slow slew rate is configured */
185  kPORT_PassiveFilterDisable, /* Passive filter is disabled */
186  kPORT_LowDriveStrength, /* Low drive strength is configured */
187  kPORT_MuxAlt2, /* Pin is configured as I2C1_SDA */
188  };
189  PORT_SetPinConfig(PORTC, PIN2_IDX, &portc2_pin57_config); /* PORTC2 (pin 57) is configured as I2C1_SDA */
190 }
191 
192 
193 
194 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
195 
196 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
197 /*
198  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
199 I2C1_DeinitPins:
200 - options: {coreID: singlecore, enableClock: 'false'}
201 - pin_list:
202  - {pin_num: '56', peripheral: ADC0, signal: 'SE, 15', pin_signal: ADC0_SE15/TSI0_CH14/PTC1/LLWU_P6/RTC_CLKIN/I2C1_SCL/TPM0_CH0, pull_enable: no_init}
203  - {pin_num: '57', peripheral: ADC0, signal: 'SE, 11', pin_signal: ADC0_SE11/TSI0_CH15/PTC2/I2C1_SDA/TPM0_CH1, pull_enable: no_init}
204  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
205  */
206 
207 /*FUNCTION**********************************************************************
208  *
209  * Function Name : I2C1_DeinitPins
210  * Description : Configures pin routing and optionally pin electrical features.
211  *
212  *END**************************************************************************/
213 void I2C1_DeinitPins(void) {
214  PORT_SetPinMux(PORTC, PIN1_IDX, kPORT_PinDisabledOrAnalog); /* PORTC1 (pin 56) is configured as ADC0_SE15 */
215  PORT_SetPinMux(PORTC, PIN2_IDX, kPORT_PinDisabledOrAnalog); /* PORTC2 (pin 57) is configured as ADC0_SE11 */
216 }
217 
218 
219 
220 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
221 
222 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
223 #define PIN3_IDX 3u /*!< Pin number for pin 3 in a port */
224 
225 /*
226  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
227 SPI0_InitPins:
228 - options: {coreID: singlecore, enableClock: 'true'}
229 - pin_list:
230  - {pin_num: '74', peripheral: SPI0, signal: SCK, pin_signal: ADC0_SE5b/PTD1/SPI0_SCK/TPM0_CH1}
231  - {pin_num: '75', peripheral: SPI0, signal: SOUT, pin_signal: PTD2/SPI0_MOSI/UART2_RX/TPM0_CH2/SPI0_MISO}
232  - {pin_num: '76', peripheral: SPI0, signal: SIN, pin_signal: PTD3/SPI0_MISO/UART2_TX/TPM0_CH3/SPI0_MOSI}
233  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
234  */
235 
236 /*FUNCTION**********************************************************************
237  *
238  * Function Name : SPI0_InitPins
239  * Description : Configures pin routing and optionally pin electrical features.
240  *
241  *END**************************************************************************/
242 void SPI0_InitPins(void) {
243  CLOCK_EnableClock(kCLOCK_PortD); /* Port D Clock Gate Control: Clock enabled */
244 
245  PORT_SetPinMux(PORTD, PIN1_IDX, kPORT_MuxAlt2); /* PORTD1 (pin 74) is configured as SPI0_SCK */
246  PORT_SetPinMux(PORTD, PIN2_IDX, kPORT_MuxAlt2); /* PORTD2 (pin 75) is configured as SPI0_MOSI */
247  PORT_SetPinMux(PORTD, PIN3_IDX, kPORT_MuxAlt2); /* PORTD3 (pin 76) is configured as SPI0_MISO */
248 }
249 
250 
251 
252 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
253 
254 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
255 
256 #define PIN3_IDX 3u /*!< Pin number for pin 3 in a port */
257 /*
258  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
259 SPI0_DeinitPins:
260 - options: {coreID: singlecore, enableClock: 'false'}
261 - pin_list:
262  - {pin_num: '74', peripheral: ADC0, signal: 'SE, 5b', pin_signal: ADC0_SE5b/PTD1/SPI0_SCK/TPM0_CH1}
263  - {pin_num: '75', peripheral: n/a, signal: disabled, pin_signal: PTD2/SPI0_MOSI/UART2_RX/TPM0_CH2/SPI0_MISO}
264  - {pin_num: '76', peripheral: n/a, signal: disabled, pin_signal: PTD3/SPI0_MISO/UART2_TX/TPM0_CH3/SPI0_MOSI}
265  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
266  */
267 
268 /*FUNCTION**********************************************************************
269  *
270  * Function Name : SPI0_DeinitPins
271  * Description : Configures pin routing and optionally pin electrical features.
272  *
273  *END**************************************************************************/
274 void SPI0_DeinitPins(void) {
275  PORT_SetPinMux(PORTD, PIN1_IDX, kPORT_PinDisabledOrAnalog); /* PORTD1 (pin 74) is configured as ADC0_SE5b */
276  PORT_SetPinMux(PORTD, PIN2_IDX, kPORT_PinDisabledOrAnalog); /* PORTD2 (pin 75) is disabled */
277  PORT_SetPinMux(PORTD, PIN3_IDX, kPORT_PinDisabledOrAnalog); /* PORTD3 (pin 76) is disabled */
278 }
279 
280 
281 #define PIN5_IDX 5u /*!< Pin number for pin 5 in a port */
282 #define PIN6_IDX 6u /*!< Pin number for pin 6 in a port */
283 #define PIN7_IDX 7u /*!< Pin number for pin 7 in a port */
284 
285 /*
286  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
287 SPI1_InitPins:
288 - options: {coreID: singlecore, enableClock: 'true'}
289 - pin_list:
290  - {pin_num: '78', peripheral: SPI1, signal: SCK, pin_signal: ADC0_SE6b/PTD5/SPI1_SCK/UART2_TX/TPM0_CH5}
291  - {pin_num: '79', peripheral: SPI1, signal: SOUT, pin_signal: ADC0_SE7b/PTD6/LLWU_P15/SPI1_MOSI/UART0_RX/SPI1_MISO}
292  - {pin_num: '80', peripheral: SPI1, signal: SIN, pin_signal: PTD7/SPI1_MISO/UART0_TX/SPI1_MOSI}
293  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
294  */
295 
296 /*FUNCTION**********************************************************************
297  *
298  * Function Name : SPI1_InitPins
299  * Description : Configures pin routing and optionally pin electrical features.
300  *
301  *END**************************************************************************/
302 void SPI1_InitPins(void) {
303  CLOCK_EnableClock(kCLOCK_PortD); /* Port D Clock Gate Control: Clock enabled */
304 
305  PORT_SetPinMux(PORTD, PIN5_IDX, kPORT_MuxAlt2); /* PORTD5 (pin 78) is configured as SPI1_SCK */
306  PORT_SetPinMux(PORTD, PIN6_IDX, kPORT_MuxAlt2); /* PORTD6 (pin 79) is configured as SPI1_MOSI */
307  PORT_SetPinMux(PORTD, PIN7_IDX, kPORT_MuxAlt2); /* PORTD7 (pin 80) is configured as SPI1_MISO */
308 }
309 
310 
311 
312 #define PIN5_IDX 5u /*!< Pin number for pin 5 in a port */
313 
314 #define PIN6_IDX 6u /*!< Pin number for pin 6 in a port */
315 
316 #define PIN7_IDX 7u /*!< Pin number for pin 7 in a port */
317 /*
318  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
319 SPI1_DeinitPins:
320 - options: {coreID: singlecore, enableClock: 'false'}
321 - pin_list:
322  - {pin_num: '78', peripheral: ADC0, signal: 'SE, 6b', pin_signal: ADC0_SE6b/PTD5/SPI1_SCK/UART2_TX/TPM0_CH5}
323  - {pin_num: '79', peripheral: ADC0, signal: 'SE, 7b', pin_signal: ADC0_SE7b/PTD6/LLWU_P15/SPI1_MOSI/UART0_RX/SPI1_MISO}
324  - {pin_num: '80', peripheral: n/a, signal: disabled, pin_signal: PTD7/SPI1_MISO/UART0_TX/SPI1_MOSI}
325  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
326  */
327 
328 /*FUNCTION**********************************************************************
329  *
330  * Function Name : SPI1_DeinitPins
331  * Description : Configures pin routing and optionally pin electrical features.
332  *
333  *END**************************************************************************/
334 void SPI1_DeinitPins(void) {
335  PORT_SetPinMux(PORTD, PIN5_IDX, kPORT_PinDisabledOrAnalog); /* PORTD5 (pin 78) is configured as ADC0_SE6b */
336  PORT_SetPinMux(PORTD, PIN6_IDX, kPORT_PinDisabledOrAnalog); /* PORTD6 (pin 79) is configured as ADC0_SE7b */
337  PORT_SetPinMux(PORTD, PIN7_IDX, kPORT_PinDisabledOrAnalog); /* PORTD7 (pin 80) is disabled */
338 }
339 
340 
341 
342 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
343 
344 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
345 
346 #define SOPT5_UART0RXSRC_UART_RX 0x00u /*!< UART0 receive data source select: UART0_RX pin */
347 
348 #define SOPT5_UART0TXSRC_UART_TX 0x00u /*!< UART0 transmit data source select: UART0_TX pin */
349 /*
350  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
351 UART0_InitPins:
352 - options: {coreID: singlecore, enableClock: 'true'}
353 - pin_list:
354  - {pin_num: '27', peripheral: UART0, signal: RX, pin_signal: TSI0_CH2/PTA1/UART0_RX/TPM2_CH0}
355  - {pin_num: '28', peripheral: UART0, signal: TX, pin_signal: TSI0_CH3/PTA2/UART0_TX/TPM2_CH1}
356  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
357  */
358 
359 /*FUNCTION**********************************************************************
360  *
361  * Function Name : UART0_InitPins
362  * Description : Configures pin routing and optionally pin electrical features.
363  *
364  *END**************************************************************************/
365 void UART0_InitPins(void) {
366  CLOCK_EnableClock(kCLOCK_PortA); /* Port A Clock Gate Control: Clock enabled */
367 
368  PORT_SetPinMux(PORTA, PIN1_IDX, kPORT_MuxAlt2); /* PORTA1 (pin 27) is configured as UART0_RX */
369  PORT_SetPinMux(PORTA, PIN2_IDX, kPORT_MuxAlt2); /* PORTA2 (pin 28) is configured as UART0_TX */
370  SIM->SOPT5 = ((SIM->SOPT5 &
371  (~(SIM_SOPT5_UART0TXSRC_MASK | SIM_SOPT5_UART0RXSRC_MASK))) /* Mask bits to zero which are setting */
372  | SIM_SOPT5_UART0TXSRC(SOPT5_UART0TXSRC_UART_TX) /* UART0 transmit data source select: UART0_TX pin */
373  | SIM_SOPT5_UART0RXSRC(SOPT5_UART0RXSRC_UART_RX) /* UART0 receive data source select: UART0_RX pin */
374  );
375 }
376 
377 
378 
379 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
380 
381 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
382 /*
383  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
384 UART0_DeinitPins:
385 - options: {coreID: singlecore, enableClock: 'false'}
386 - pin_list:
387  - {pin_num: '27', peripheral: TSI0, signal: 'CH, 2', pin_signal: TSI0_CH2/PTA1/UART0_RX/TPM2_CH0}
388  - {pin_num: '28', peripheral: TSI0, signal: 'CH, 3', pin_signal: TSI0_CH3/PTA2/UART0_TX/TPM2_CH1}
389  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
390  */
391 
392 /*FUNCTION**********************************************************************
393  *
394  * Function Name : UART0_DeinitPins
395  * Description : Configures pin routing and optionally pin electrical features.
396  *
397  *END**************************************************************************/
398 void UART0_DeinitPins(void) {
399  PORT_SetPinMux(PORTA, PIN1_IDX, kPORT_PinDisabledOrAnalog); /* PORTA1 (pin 27) is configured as TSI0_CH2 */
400  PORT_SetPinMux(PORTA, PIN2_IDX, kPORT_PinDisabledOrAnalog); /* PORTA2 (pin 28) is configured as TSI0_CH3 */
401 }
402 
403 
404 #define PIN0_IDX 0u /*!< Pin number for pin 0 in a port */
405 
406 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
407 #define SOPT5_UART1RXSRC_UART_RX 0x00u /*!< UART1 receive data source select: UART1_RX pin */
408 #define SOPT5_UART1TXSRC_UART_TX 0x00u /*!< UART1 transmit data source select: UART1_TX pin */
409 
410 /*
411  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
412 UART1_InitPins:
413 - options: {coreID: singlecore, enableClock: 'true'}
414 - pin_list:
415  - {pin_num: '1', peripheral: UART1, signal: TX, pin_signal: PTE0/UART1_TX/RTC_CLKOUT/CMP0_OUT/I2C1_SDA}
416  - {pin_num: '2', peripheral: UART1, signal: RX, pin_signal: PTE1/SPI1_MOSI/UART1_RX/SPI1_MISO/I2C1_SCL}
417  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
418  */
419 
420 /*FUNCTION**********************************************************************
421  *
422  * Function Name : UART1_InitPins
423  * Description : Configures pin routing and optionally pin electrical features.
424  *
425  *END**************************************************************************/
426 void UART1_InitPins(void) {
427  CLOCK_EnableClock(kCLOCK_PortE); /* Port E Clock Gate Control: Clock enabled */
428 
429  PORT_SetPinMux(PORTE, PIN0_IDX, kPORT_MuxAlt3); /* PORTE0 (pin 1) is configured as UART1_TX */
430  PORT_SetPinMux(PORTE, PIN1_IDX, kPORT_MuxAlt3); /* PORTE1 (pin 2) is configured as UART1_RX */
431  SIM->SOPT5 = ((SIM->SOPT5 &
432  (~(SIM_SOPT5_UART1TXSRC_MASK | SIM_SOPT5_UART1RXSRC_MASK))) /* Mask bits to zero which are setting */
433  | SIM_SOPT5_UART1TXSRC(SOPT5_UART1TXSRC_UART_TX) /* UART1 transmit data source select: UART1_TX pin */
434  | SIM_SOPT5_UART1RXSRC(SOPT5_UART1RXSRC_UART_RX) /* UART1 receive data source select: UART1_RX pin */
435  );
436 }
437 
438 
439 
440 #define PIN0_IDX 0u /*!< Pin number for pin 0 in a port */
441 
442 #define PIN1_IDX 1u /*!< Pin number for pin 1 in a port */
443 /*
444  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
445 UART1_DeinitPins:
446 - options: {coreID: singlecore, enableClock: 'false'}
447 - pin_list:
448  - {pin_num: '1', peripheral: n/a, signal: disabled, pin_signal: PTE0/UART1_TX/RTC_CLKOUT/CMP0_OUT/I2C1_SDA}
449  - {pin_num: '2', peripheral: n/a, signal: disabled, pin_signal: PTE1/SPI1_MOSI/UART1_RX/SPI1_MISO/I2C1_SCL}
450  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
451  */
452 
453 /*FUNCTION**********************************************************************
454  *
455  * Function Name : UART1_DeinitPins
456  * Description : Configures pin routing and optionally pin electrical features.
457  *
458  *END**************************************************************************/
459 void UART1_DeinitPins(void) {
460  PORT_SetPinMux(PORTE, PIN0_IDX, kPORT_PinDisabledOrAnalog); /* PORTE0 (pin 1) is disabled */
461  PORT_SetPinMux(PORTE, PIN1_IDX, kPORT_PinDisabledOrAnalog); /* PORTE1 (pin 2) is disabled */
462 }
463 
464 
465 
466 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
467 
468 #define PIN3_IDX 3u /*!< Pin number for pin 3 in a port */
469 /*
470  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
471 UART2_InitPins:
472 - options: {coreID: singlecore, enableClock: 'true'}
473 - pin_list:
474  - {pin_num: '75', peripheral: UART2, signal: RX, pin_signal: PTD2/SPI0_MOSI/UART2_RX/TPM0_CH2/SPI0_MISO}
475  - {pin_num: '76', peripheral: UART2, signal: TX, pin_signal: PTD3/SPI0_MISO/UART2_TX/TPM0_CH3/SPI0_MOSI}
476  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
477  */
478 
479 /*FUNCTION**********************************************************************
480  *
481  * Function Name : UART2_InitPins
482  * Description : Configures pin routing and optionally pin electrical features.
483  *
484  *END**************************************************************************/
485 void UART2_InitPins(void) {
486  CLOCK_EnableClock(kCLOCK_PortD); /* Port D Clock Gate Control: Clock enabled */
487 
488  PORT_SetPinMux(PORTD, PIN2_IDX, kPORT_MuxAlt3); /* PORTD2 (pin 75) is configured as UART2_RX */
489  PORT_SetPinMux(PORTD, PIN3_IDX, kPORT_MuxAlt3); /* PORTD3 (pin 76) is configured as UART2_TX */
490 }
491 
492 
493 
494 #define PIN2_IDX 2u /*!< Pin number for pin 2 in a port */
495 
496 #define PIN3_IDX 3u /*!< Pin number for pin 3 in a port */
497 /*
498  * TEXT BELOW IS USED AS SETTING FOR THE PINS TOOL *****************************
499 UART2_DeinitPins:
500 - options: {coreID: singlecore, enableClock: 'false'}
501 - pin_list:
502  - {pin_num: '75', peripheral: n/a, signal: disabled, pin_signal: PTD2/SPI0_MOSI/UART2_RX/TPM0_CH2/SPI0_MISO}
503  - {pin_num: '76', peripheral: n/a, signal: disabled, pin_signal: PTD3/SPI0_MISO/UART2_TX/TPM0_CH3/SPI0_MOSI}
504  * BE CAREFUL MODIFYING THIS COMMENT - IT IS YAML SETTINGS FOR THE PINS TOOL ***
505  */
506 
507 /*FUNCTION**********************************************************************
508  *
509  * Function Name : UART2_DeinitPins
510  * Description : Configures pin routing and optionally pin electrical features.
511  *
512  *END**************************************************************************/
513 void UART2_DeinitPins(void) {
514  PORT_SetPinMux(PORTD, PIN2_IDX, kPORT_PinDisabledOrAnalog); /* PORTD2 (pin 75) is disabled */
515  PORT_SetPinMux(PORTD, PIN3_IDX, kPORT_PinDisabledOrAnalog); /* PORTD3 (pin 76) is disabled */
516 }
517 
518 /*******************************************************************************
519  * EOF
520  ******************************************************************************/
void I2C0_DeinitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:438
void UART2_DeinitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:255
void UART0_DeinitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:139
#define SOPT5_UART0TXSRC_UART_TX
Definition: pin_mux.c:348
void I2C0_InitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:392
#define PIN1_IDX
Definition: pin_mux.c:442
#define PIN5_IDX
Definition: pin_mux.c:312
#define SOPT5_UART0RXSRC_UART_RX
Definition: pin_mux.c:346
void UART1_InitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:168
void I2C1_DeinitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:513
#define PIN6_IDX
Definition: pin_mux.c:314
void UART0_InitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:107
#define PIN24_IDX
Definition: pin_mux.c:126
#define PIN3_IDX
Definition: pin_mux.c:496
void UART2_InitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:227
void SPI1_InitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:302
#define PIN2_IDX
Definition: pin_mux.c:494
void UART1_DeinitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:200
void SPI0_DeinitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:274
#define PIN25_IDX
Definition: pin_mux.c:128
#define PIN0_IDX
Definition: pin_mux.c:440
#define PIN7_IDX
Definition: pin_mux.c:316
#define SOPT5_UART1RXSRC_UART_RX
Definition: pin_mux.c:407
void I2C1_InitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:467
#define SOPT5_UART1TXSRC_UART_TX
Definition: pin_mux.c:408
void BOARD_InitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:73
void SPI1_DeinitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:334
void SPI0_InitPins(void)
Configures pin routing and optionally pin electrical features.
Definition: pin_mux.c:242