void BOARD_InitPins(void) { port_pin_config_t config = {0}; /* Initialize UART1 pins below */ /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortE); /* Affects PORTE_PCR0 register */ PORT_SetPinMux(PORTE, 0U, kPORT_MuxAlt3); /* Affects PORTE_PCR1 register */ PORT_SetPinMux(PORTE, 1U, kPORT_MuxAlt3); CLOCK_EnableClock(kCLOCK_PortB); CLOCK_EnableClock(kCLOCK_PortC); /* Sets PORTC_PCR3 as SPI_PCS */ config.mux = kPORT_MuxAlt2; PORT_SetPinConfig(PORTB, 10U, &config); /* Sets PORTC_PCR5 as SPI_SCK. */ PORT_SetPinConfig(PORTB, 11U, &config); /* Sets PORTD_PCR3 as SPI_MISO */ PORT_SetPinConfig(PORTB, 16U, &config); /* Sets PORTD_PCR2 as SPI_MOSI */ PORT_SetPinConfig(PORTB, 17U, &config); /* Sets card detection pin as GPIO */ config.pullSelect = kPORT_PullUp; config.mux = kPORT_MuxAsGpio; PORT_SetPinConfig(PORTE, 6U, &config); }
/******************************************************************************* * Code ******************************************************************************/ void BOARD_InitPins(void) { /* Declare and initialise for pull up configuration */ port_pin_config_t pinConfig = {0}; pinConfig.pullSelect = kPORT_PullUp; pinConfig.openDrainEnable = kPORT_OpenDrainEnable; /* Initialize UART1 pins below */ /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortE); /* Affects PORTE_PCR0 register */ PORT_SetPinMux(PORTE, 0U, kPORT_MuxAlt3); /* Affects PORTE_PCR1 register */ PORT_SetPinMux(PORTE, 1U, kPORT_MuxAlt3); /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortB); /* I2C0 pull up resistor setting */ PORT_SetPinConfig(PORTB, 2U, &pinConfig); PORT_SetPinConfig(PORTB, 3U, &pinConfig); /* I2C0 PIN_MUX Configuration */ PORT_SetPinMux(PORTB, 2U, kPORT_MuxAlt2); PORT_SetPinMux(PORTB, 3U, kPORT_MuxAlt2); /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortC); /* I2C1 pull up resistor setting */ PORT_SetPinConfig(PORTC, 10U, &pinConfig); PORT_SetPinConfig(PORTC, 11U, &pinConfig); /* I2C1 PIN_MUX Configuration */ PORT_SetPinMux(PORTC, 10U, kPORT_MuxAlt2); PORT_SetPinMux(PORTC, 11U, kPORT_MuxAlt2); }
void BOARD_InitPins(void) { /* Declare and initialise for pull up configuration */ port_pin_config_t pinConfig = {0}; pinConfig.pullSelect = kPORT_PullUp; #if defined(FSL_FEATURE_PORT_HAS_OPEN_DRAIN) && FSL_FEATURE_PORT_HAS_OPEN_DRAIN pinConfig.openDrainEnable = kPORT_OpenDrainEnable; #endif /* FSL_FEATURE_PORT_HAS_OPEN_DRAIN */ /* Initialize LPUART0 pins below */ /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortA); /* Affects PORTA_PCR1 register */ PORT_SetPinMux(PORTA, 1u, kPORT_MuxAlt2); /* Affects PORTA_PCR2 register */ PORT_SetPinMux(PORTA, 2u, kPORT_MuxAlt2); /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortB); /* I2C0 pull up resistor setting */ PORT_SetPinConfig(PORTB, 2U, &pinConfig); PORT_SetPinConfig(PORTB, 3U, &pinConfig); /* I2C0 PIN_MUX Configuration */ PORT_SetPinMux(PORTB, 2U, kPORT_MuxAlt2); PORT_SetPinMux(PORTB, 3U, kPORT_MuxAlt2); /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortE); /* I2C1 pull up resistor setting */ PORT_SetPinConfig(PORTE, 0U, &pinConfig); PORT_SetPinConfig(PORTE, 1U, &pinConfig); /* I2C1 PIN_MUX Configuration */ PORT_SetPinMux(PORTE, 0U, kPORT_MuxAlt6); PORT_SetPinMux(PORTE, 1U, kPORT_MuxAlt6); }
int hal_gpio_init_out(int pin, int val) { gpio_pin_config_t gconfig; port_pin_config_t pconfig; gconfig.pinDirection = kGPIO_DigitalOutput; pconfig.mux = kPORT_MuxAsGpio; CLOCK_EnableClock(s_portClocks[GPIO_PORT(pin)]); PORT_SetPinConfig(s_portBases[GPIO_PORT(pin)], GPIO_INDEX(pin), &pconfig); GPIO_PinInit(s_gpioBases[GPIO_PORT(pin)], GPIO_INDEX(pin), &gconfig); return 0; }
/******************************************************************************* * Code ******************************************************************************/ void initialize_enet_hardware(void) { port_pin_config_t configENET = {0}; /* Disable MPU. */ MPU->CESR &= ~MPU_CESR_VLD_MASK; CLOCK_EnableClock(kCLOCK_PortC); CLOCK_EnableClock(kCLOCK_PortB); /* Affects PORTC_PCR16 register */ PORT_SetPinMux(PORTC, 16u, kPORT_MuxAlt4); /* Affects PORTC_PCR17 register */ PORT_SetPinMux(PORTC, 17u, kPORT_MuxAlt4); /* Affects PORTC_PCR18 register */ PORT_SetPinMux(PORTC, 18u, kPORT_MuxAlt4); /* Affects PORTC_PCR19 register */ PORT_SetPinMux(PORTC, 19u, kPORT_MuxAlt4); /* Affects PORTB_PCR1 register */ PORT_SetPinMux(PORTB, 1u, kPORT_MuxAlt4); configENET.openDrainEnable = kPORT_OpenDrainEnable; configENET.mux = kPORT_MuxAlt4; configENET.pullSelect = kPORT_PullUp; /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortA); /* Affects PORTB_PCR0 register */ PORT_SetPinConfig(PORTB, 0u, &configENET); /* Affects PORTA_PCR13 register */ PORT_SetPinMux(PORTA, 13u, kPORT_MuxAlt4); /* Affects PORTA_PCR12 register */ PORT_SetPinMux(PORTA, 12u, kPORT_MuxAlt4); /* Affects PORTA_PCR14 register */ PORT_SetPinMux(PORTA, 14u, kPORT_MuxAlt4); /* Affects PORTA_PCR5 register */ PORT_SetPinMux(PORTA, 5u, kPORT_MuxAlt4); /* Affects PORTA_PCR16 register */ PORT_SetPinMux(PORTA, 16u, kPORT_MuxAlt4); /* Affects PORTA_PCR17 register */ PORT_SetPinMux(PORTA, 17u, kPORT_MuxAlt4); /* Affects PORTA_PCR15 register */ PORT_SetPinMux(PORTA, 15u, kPORT_MuxAlt4); /* Affects PORTA_PCR28 register */ PORT_SetPinMux(PORTA, 28u, kPORT_MuxAlt4); /* Select the Ethernet timestamp clock source */ CLOCK_SetEnetTime0Clock(0x2); }
int hal_gpio_init_in(int pin, hal_gpio_pull_t pull) { gpio_pin_config_t gconfig; port_pin_config_t pconfig; gconfig.pinDirection = kGPIO_DigitalInput; pconfig.pullSelect = hal_to_fsl_pull(pull); pconfig.mux = kPORT_MuxAsGpio; CLOCK_EnableClock(s_portClocks[GPIO_PORT(pin)]); PORT_SetPinConfig(s_portBases[GPIO_PORT(pin)], GPIO_INDEX(pin), &pconfig); GPIO_PinInit(s_gpioBases[GPIO_PORT(pin)], GPIO_INDEX(pin), &gconfig); return 0; }
void BOARD_InitPins(void) { /* Debug uart port mux config */ /* Enable uart port clock */ CLOCK_EnableClock(kCLOCK_PortB); /* Affects PORTB_PCR16 register */ PORT_SetPinMux(PORTB, 16U, kPORT_MuxAlt3); /* Affects PORTB_PCR17 register */ PORT_SetPinMux(PORTB, 17U, kPORT_MuxAlt3); /* Enable SW port clock */ CLOCK_EnableClock(kCLOCK_PortC); /* Affects PORTC_PCR6 register */ port_pin_config_t config = {0}; config.pullSelect = kPORT_PullUp; config.mux = kPORT_MuxAsGpio; PORT_SetPinConfig(PORTC, 6U, &config); }
void BOARD_InitPins(void) { /* Initialize UART1 pins below */ /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortE); /* Affects PORTE_PCR0 register */ PORT_SetPinMux(PORTE, 0u, kPORT_MuxAlt3); /* Affects PORTE_PCR1 register */ PORT_SetPinMux(PORTE, 1u, kPORT_MuxAlt3); /* Enable SW1 port clock */ CLOCK_EnableClock(kCLOCK_PortC); /* Affects PORTC_PCR6 register */ port_pin_config_t config = {0}; config.pullSelect = kPORT_PullUp; config.mux = kPORT_MuxAsGpio; PORT_SetPinConfig(PORTC, 6U, &config); }
/*! * @brief Initialize all pins used in this example * * @param disablePortClockAfterInit disable port clock after pin * initialization or not. */ void BOARD_InitPins(void) { port_pin_config_t config = {0}; /* Initialize UART1 pins below */ /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortB); /* Affects PORTB_PCR16 register */ PORT_SetPinMux(PORTB, 16u, kPORT_MuxAlt3); /* Affects PORTB_PCR17 register */ PORT_SetPinMux(PORTB, 17u, kPORT_MuxAlt3); config.pullSelect = kPORT_PullUp; config.driveStrength = kPORT_HighDriveStrength; config.mux = kPORT_MuxAlt4; /* Initializes SDHC pins below. */ /* Ungates the port clock. */ CLOCK_EnableClock(kCLOCK_PortE); CLOCK_EnableClock(kCLOCK_PortB); /* Affects PORTE_PCR0 register */ PORT_SetPinConfig(PORTE, 0U, &config); /* Affects PORTE_PCR1 register */ PORT_SetPinConfig(PORTE, 1U, &config); /* Affects PORTE_PCR2 register */ PORT_SetPinConfig(PORTE, 2U, &config); /* Affects PORTE_PCR3 register */ PORT_SetPinConfig(PORTE, 3U, &config); /* Affects PORTE_PCR4 register */ PORT_SetPinConfig(PORTE, 4U, &config); /* Affects PORTE_PCR5 register */ PORT_SetPinConfig(PORTE, 5U, &config); /* Card detection pin */ config.driveStrength = 0U; config.mux = kPORT_MuxAsGpio; PORT_SetPinConfig(PORTE, 6U, &config); }
/******************************************************************************* * Code ******************************************************************************/ void BOARD_InitPins(void) { /* Debug uart port mux config */ /* Ungate the port clock */ CLOCK_EnableClock(kCLOCK_PortE); /* Affects PORTE_PCR22 register */ PORT_SetPinMux(PORTE, 22U, kPORT_MuxAlt4); /* Affects PORTA_PCR23 register */ PORT_SetPinMux(PORTE, 23U, kPORT_MuxAlt4); /* Ungate the SW port clock */ CLOCK_EnableClock(kCLOCK_PortA); /* Affects PORTA_PCR5 register */ port_pin_config_t config = {0}; config.pullSelect = kPORT_PullUp; config.mux = kPORT_MuxAsGpio; PORT_SetPinConfig(PORTA, 5U, &config); /* LED PIN_MUX Configuration */ PORT_SetPinMux(PORTA, 13U, kPORT_MuxAsGpio); }
void BOARD_InitPins(void) { /* Debug uart port mux config */ /* Enable uart port clock */ CLOCK_EnableClock(kCLOCK_PortE); /* Affects PORTE_PCR0 register */ PORT_SetPinMux(PORTE, 0U, kPORT_MuxAlt3); /* Affects PORTE_PCR1 register */ PORT_SetPinMux(PORTE, 1U, kPORT_MuxAlt3); /* Enable SW port clock */ CLOCK_EnableClock(kCLOCK_PortC); /* Affects PORTC_PCR7 register */ port_pin_config_t config = {0}; config.pullSelect = kPORT_PullUp; config.mux = kPORT_MuxAsGpio; PORT_SetPinConfig(PORTC, 7U, &config); /* Enable GPIO port clock */ CLOCK_EnableClock(kCLOCK_PortD); /* LED PIN_MUX Configuration */ PORT_SetPinMux(PORTD, 6U, kPORT_MuxAsGpio); }
void init_sdhc_pins() { port_pin_config_t config = {0}; config.pullSelect = kPORT_PullUp; config.driveStrength = kPORT_HighDriveStrength; config.mux = kPORT_MuxAlt4; CLOCK_EnableClock(kCLOCK_PortE); // SD pins PORT_SetPinConfig(PORTE, 0U, &config); PORT_SetPinConfig(PORTE, 1U, &config); PORT_SetPinConfig(PORTE, 2U, &config); PORT_SetPinConfig(PORTE, 3U, &config); PORT_SetPinConfig(PORTE, 4U, &config); PORT_SetPinConfig(PORTE, 5U, &config); // SD CD pin config.driveStrength = kPORT_LowDriveStrength; config.mux = kPORT_MuxAsGpio; PORT_SetPinConfig(PORTE, 7U, &config); const gpio_pin_config_t IN = {kGPIO_DigitalInput, false}; GPIO_PinInit(GPIOE, 7U, &IN); }