void init_pins() { MCF_GPIO_PANPAR = MCF_GPIO_PANPAR_PANPAR0; MCF_GPIO_DDRQS = 0; MCF_GPIO_PQSPAR = MCF_GPIO_PQSPAR_PQSPAR6(0x1) | MCF_GPIO_PQSPAR_PQSPAR5(0x1) | MCF_GPIO_PQSPAR_PQSPAR4(0x1) | MCF_GPIO_PQSPAR_PQSPAR3(0x1) | MCF_GPIO_PQSPAR_PQSPAR2(0x1) | MCF_GPIO_PQSPAR_PQSPAR1(0x1) | MCF_GPIO_PQSPAR_PQSPAR0(0x1); }
/***************************************************************************** * @name GPIO_Init * * @brief: Initialization of the GPIO. * * @param : None * * @return : None ***************************************************************************** * * ****************************************************************************/ void GPIO_Init(void) { /*************************************************************************** * GPIO Init for LED * ****************************************************************************/ /* Configure LED io pins to be outputs. * M52221DEMO: LED to port mapping * LED1 LED2 LED3 LED4 * | | | | * ^ ^ ^ ^ * PTC0 PTC1 PTC2 PTC3 */ MCF_GPIO_DDRTC = (MCF_GPIO_DDRTC_DDRTC0 | MCF_GPIO_DDRTC_DDRTC1 | MCF_GPIO_DDRTC_DDRTC2 | MCF_GPIO_DDRTC_DDRTC3); /* Assign PORTC[0-3] as GPIO */ MCF_GPIO_PTCPAR = MCF_GPIO_PTCPAR_PTCPAR0(MCF_GPIO_PTCPAR_DTIN0_GPIO) | MCF_GPIO_PTCPAR_PTCPAR1(MCF_GPIO_PTCPAR_DTIN1_GPIO) | MCF_GPIO_PTCPAR_PTCPAR2(MCF_GPIO_PTCPAR_DTIN2_GPIO) | MCF_GPIO_PTCPAR_PTCPAR3(MCF_GPIO_PTCPAR_DTIN3_GPIO); /*************************************************************************** * GPIO Init for USB * ****************************************************************************/ /* setup gpio state, func and dirrections */ MCF_GPIO_PUAPAR &= 0x3f; MCF_GPIO_PORTUA |= MCF_GPIO_PORTUA_PORTUA3; /* turn Vbus off */ MCF_GPIO_DDRUA |= MCF_GPIO_DDRUA_DDRUA3; /* CTS0 as output */ MCF_GPIO_PUAPAR &= 0xcf; MCF_GPIO_DDRUA &= ~MCF_GPIO_DDRUA_DDRUA2; /* RTS0 as input */ MCF_GPIO_PORTUA &= ~MCF_GPIO_PORTUA_PORTUA3; /* turn Vbus on */ MCF_GPIO_PQSPAR |= MCF_GPIO_PQSPAR_PQSPAR5(3) | MCF_GPIO_PQSPAR_PQSPAR6(3); /*************************************************************************** * GPIO Init for KBI * ****************************************************************************/ /* Configure switch buttons */ /* M52221DEMO: SW1 & SW2 connected to PNQ[1] & PNQ[7] */ /* Pin assignement registers: IRQ */ /* Assure that PDDPAR[5-7] are configured to GPIO regardless of the reset state */ MCF_GPIO_PNQPAR &= ~(MCF_GPIO_PNQPAR_PNQPAR1(3) | MCF_GPIO_PNQPAR_PNQPAR7(3)); MCF_GPIO_PNQPAR |= (MCF_GPIO_PNQPAR_IRQ1_IRQ1 | MCF_GPIO_PNQPAR_IRQ7_IRQ7); /* Configure IRQ[1] & IRQ[7] as input */ MCF_EPORT_EPDDR &= ~(MCF_EPORT_EPDDR_EPDD1 | MCF_EPORT_EPDDR_EPDD7); /* Configure IRQ1 & IRQ7 as falling-edge sense */ MCF_EPORT_EPPAR = MCF_EPORT_EPPAR_EPPA1_FALLING | MCF_EPORT_EPPAR_EPPA7_FALLING; /* Enable Interrupt for IRQ1 & IRQ7 */ MCF_EPORT_EPIER = MCF_EPORT_EPIER_EPIE1 | MCF_EPORT_EPIER_EPIE7; /*************************************************************************** * GPIO Init for QSPI * ****************************************************************************/ /* Configure the pins for QSPI for specialized purpose */ /* QSPI_CLK, QSPI_DOUT, QSPI_DIN, QSPI_CS0 */ MCF_GPIO_PQSPAR &= ~(MCF_GPIO_PQSPAR_PQSPAR0(3) | MCF_GPIO_PQSPAR_PQSPAR1(3) | MCF_GPIO_PQSPAR_PQSPAR2(3) | MCF_GPIO_PQSPAR_PQSPAR3(3)); MCF_GPIO_PQSPAR |= (MCF_GPIO_PQSPAR_QSPI_DOUT_DOUT | MCF_GPIO_PQSPAR_QSPI_DIN_DIN | MCF_GPIO_PQSPAR_QSPI_CLK_CLK | MCF_GPIO_PQSPAR_QSPI_CS0_CS0); }