/*FUNCTION********************************************************************** * * Function Name : configure_i2c_pins * Description : I2C method sets registers according routing settings. * Call this method code to route desired pins. *END**************************************************************************/ void configure_i2c_pins(uint32_t instance) { switch(instance) { case I2C1_IDX: /* I2C1_IDX */ /* Affects PORTC_PCR10 register */ PORT_HAL_SetMuxMode(PORTC,10UL,kPortMuxAlt2); PORT_HAL_SetOpenDrainCmd(PORTC,10UL,true); /* Affects PORTC_PCR11 register */ PORT_HAL_SetMuxMode(PORTC,11UL,kPortMuxAlt2); PORT_HAL_SetOpenDrainCmd(PORTC,11UL,true); break; default: break; } }
void configure_enet_pins(uint32_t instance) { /* Affects PORTC_PCR16 register */ PORT_HAL_SetMuxMode(PORTC_BASE,16u,kPortMuxAlt4); /* Affects PORTC_PCR17 register */ PORT_HAL_SetMuxMode(PORTC_BASE,17u,kPortMuxAlt4); /* Affects PORTC_PCR18 register */ PORT_HAL_SetMuxMode(PORTC_BASE,18u,kPortMuxAlt4); /* Affects PORTC_PCR19 register */ PORT_HAL_SetMuxMode(PORTC_BASE,19u,kPortMuxAlt4); /* Affects PORTB_PCR1 register */ PORT_HAL_SetMuxMode(PORTB_BASE,1u,kPortMuxAlt4); /* Affects PORTB_PCR0 register */ PORT_HAL_SetMuxMode(PORTB_BASE,0u,kPortMuxAlt4); PORT_HAL_SetOpenDrainCmd(PORTB_BASE,0u,true); PORT_HAL_SetPullMode(PORTB_BASE,0u,kPortPullUp); PORT_HAL_SetPullCmd(PORTB_BASE,0u,true); /* Affects PORTA_PCR13 register */ PORT_HAL_SetMuxMode(PORTA_BASE,13u,kPortMuxAlt4); /* Affects PORTA_PCR12 register */ PORT_HAL_SetMuxMode(PORTA_BASE,12u,kPortMuxAlt4); /* Affects PORTA_PCR14 register */ PORT_HAL_SetMuxMode(PORTA_BASE,14u,kPortMuxAlt4); /* Affects PORTA_PCR5 register */ PORT_HAL_SetMuxMode(PORTA_BASE,5u,kPortMuxAlt4); /* Affects PORTA_PCR16 register */ PORT_HAL_SetMuxMode(PORTA_BASE,16u,kPortMuxAlt4); /* Affects PORTA_PCR17 register */ PORT_HAL_SetMuxMode(PORTA_BASE,17u,kPortMuxAlt4); /* Affects PORTA_PCR15 register */ PORT_HAL_SetMuxMode(PORTA_BASE,15u,kPortMuxAlt4); /* Affects PORTA_PCR28 register */ PORT_HAL_SetMuxMode(PORTA_BASE,28u,kPortMuxAlt4); }
/*FUNCTION********************************************************************** * * Function Name : GPIO_DRV_OutputPinInit * Description : Initialize one GPIO output pin used by board. * *END**************************************************************************/ void GPIO_DRV_OutputPinInit(const gpio_output_pin_user_config_t *outputPin) { /* Get actual port and pin number.*/ uint32_t port = GPIO_EXTRACT_PORT(outputPin->pinName); uint32_t pin = GPIO_EXTRACT_PIN(outputPin->pinName); GPIO_Type * gpioBase = g_gpioBase[port]; PORT_Type * portBase = g_portBase[port]; /* Un-gate port clock*/ CLOCK_SYS_EnablePortClock(port); /* Set current pin as gpio.*/ PORT_HAL_SetMuxMode(portBase, pin, kPortMuxAsGpio); /* Set current pin as digital output.*/ GPIO_HAL_SetPinDir(gpioBase, pin, kGpioDigitalOutput); /* Configure GPIO output features. */ GPIO_HAL_WritePinOutput(gpioBase, pin, outputPin->config.outputLogic); #if FSL_FEATURE_PORT_HAS_SLEW_RATE PORT_HAL_SetSlewRateMode(portBase, pin, outputPin->config.slewRate); #endif #if FSL_FEATURE_PORT_HAS_DRIVE_STRENGTH PORT_HAL_SetDriveStrengthMode(portBase, pin, outputPin->config.driveStrength); #endif #if FSL_FEATURE_PORT_HAS_OPEN_DRAIN PORT_HAL_SetOpenDrainCmd(portBase, pin, outputPin->config.isOpenDrainEnabled); #endif }
void configure_i2c_pins(uint32_t instance) { switch(instance) { case HW_I2C0: /* I2C0 */ /* Affects PORTE_PCR24 register */ PORT_HAL_SetMuxMode(PORTE_BASE,24u,kPortMuxAlt5); PORT_HAL_SetOpenDrainCmd(PORTE_BASE,24u,true); /* Affects PORTE_PCR25 register */ PORT_HAL_SetMuxMode(PORTE_BASE,25u,kPortMuxAlt5); PORT_HAL_SetOpenDrainCmd(PORTE_BASE,25u,true); break; case HW_I2C1: /* I2C1 */ /* Affects PORTC_PCR10 register */ PORT_HAL_SetMuxMode(PORTC_BASE,10u,kPortMuxAlt2); PORT_HAL_SetOpenDrainCmd(PORTC_BASE,10u,true); /* Affects PORTC_PCR11 register */ PORT_HAL_SetMuxMode(PORTC_BASE,11u,kPortMuxAlt2); PORT_HAL_SetOpenDrainCmd(PORTC_BASE,11u,true); break; default: break; } }
void configure_i2c_pins(uint32_t instance) { switch(instance) { case I2C0_IDX: /* I2C0 */ /* PORTE_PCR24 */ PORT_HAL_SetMuxMode(PORTE,24u,kPortMuxAlt5); PORT_HAL_SetOpenDrainCmd(PORTE,24u,true); /* PORTE_PCR25 */ PORT_HAL_SetMuxMode(PORTE,25u,kPortMuxAlt5); PORT_HAL_SetOpenDrainCmd(PORTE,25u,true); break; case I2C1_IDX: /* I2C1 */ /* PORTC_PCR10 */ PORT_HAL_SetMuxMode(PORTC,10u,kPortMuxAlt2); PORT_HAL_SetOpenDrainCmd(PORTC,10u,true); /* PORTC_PCR11 */ PORT_HAL_SetMuxMode(PORTC,11u,kPortMuxAlt2); PORT_HAL_SetOpenDrainCmd(PORTC,11u,true); break; default: break; } }