/* Set up and initialize all required blocks and functions related to the board hardware */ void Board_Init(void) { /* Sets up DEBUG UART */ DEBUGINIT(); /* Updates SystemCoreClock global var with current clock speed */ SystemCoreClockUpdate(); /* Initializes GPIO */ Chip_GPIO_Init(LPC_GPIO_PORT); /* Setup GPIOs for USB demos */ Chip_SCU_PinMuxSet(0x2, 6, (SCU_MODE_PULLUP | SCU_MODE_INBUFF_EN | SCU_MODE_FUNC4)); /* P2_6 USB1_PWR_EN, USB1 VBus function */ Chip_SCU_PinMuxSet(0x2, 5, (SCU_MODE_INACT | SCU_MODE_INBUFF_EN | SCU_MODE_ZIF_DIS | SCU_MODE_FUNC2)); /* P2_5 USB1_VBUS, MUST CONFIGURE THIS SIGNAL FOR USB1 NORMAL OPERATION */ Chip_SCU_PinMuxSet(0x1, 7, (SCU_MODE_PULLUP | SCU_MODE_INBUFF_EN | SCU_MODE_FUNC4)); /* P1_7 USB0_PWR_EN, USB0 VBus function Xplorer */ Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, 5, 6); /* GPIO5[6] = USB1_PWR_EN */ Chip_GPIO_SetPinState(LPC_GPIO_PORT, 5, 6, true); /* GPIO5[6] output high */ /* Initialize LEDs */ Board_LED_Init(); #if defined(USE_RMII) Chip_ENET_RMIIEnable(LPC_ETHERNET); #else Chip_ENET_MIIEnable(LPC_ETHERNET); #endif }
/** * Post wake up initialisation function */ static void PMC_Post_Wakeup(uint8_t buffer) { int i; #ifdef BOARD_KEIL_MCB_18574357 /* Setup FLASH acceleration to target clock rate prior to clock switch */ Chip_CREG_SetFlashAcceleration(MAX_CLOCK_FREQ); #endif /* Reinitialise Clocks */ Chip_Clock_SetBaseClock(CLK_BASE_MX, CLKIN_CRYSTAL, true, false); /* Setup PLL for 100MHz and switch main system clocking */ Chip_Clock_SetupMainPLLHz(CLKIN_CRYSTAL, CRYSTAL_MAIN_FREQ_IN, 100 * 1000000, 100 * 1000000); Chip_Clock_SetBaseClock(CLK_BASE_MX, CLKIN_MAINPLL, true, false); /* Setup PLL for maximum clock */ Chip_Clock_SetupMainPLLHz(CLKIN_CRYSTAL, CRYSTAL_MAIN_FREQ_IN, MAX_CLOCK_FREQ, MAX_CLOCK_FREQ); /* Restore the base clock states */ for (i = 0; i < (sizeof(InitClkStates) / sizeof(InitClkStates[0])); i++) { Chip_Clock_SetBaseClock(InitClkStates[i].clk, InitClkStates[i].clkin, InitClkStates[i].autoblock_enab, InitClkStates[i].powerdn); } /* Reset and enable 32Khz oscillator */ LPC_CREG->CREG0 &= ~((1 << 3) | (1 << 2)); LPC_CREG->CREG0 |= (1 << 1) | (1 << 0); /* Setup a divider E for main PLL clock switch SPIFI clock to that divider. Divide rate is based on CPU speed and speed of SPI FLASH part. */ #if (MAX_CLOCK_FREQ > 180000000) Chip_Clock_SetDivider(CLK_IDIV_E, CLKIN_MAINPLL, 5); #else Chip_Clock_SetDivider(CLK_IDIV_E, CLKIN_MAINPLL, 4); #endif Chip_Clock_SetBaseClock(CLK_BASE_SPIFI, CLKIN_IDIVE, true, false); /* Attach main PLL clock to divider C with a divider of 2 */ Chip_Clock_SetDivider(CLK_IDIV_C, CLKIN_MAINPLL, 2); /* Re-Initialize debug UART * � 115200bps * � 8 data bit * � No parity * � 1 stop bit * � No flow control */ DEBUGINIT(); #ifndef BOARD_NGX_XPLORER_18304330 /* SDRAM in NORMAL mode, only for Keil & Hitex boards */ LPC_EMC->DYNAMICCONTROL &= ~(1 << 2); while (LPC_EMC->STATUS & (1 << 2)) {} #endif }
/* Set up and initialize all required blocks and functions related to the board hardware */ void Board_Init(void) { /* Sets up DEBUG UART */ DEBUGINIT(); /* Initialize GPIO */ Chip_GPIO_Init(LPC_GPIO); /* Initialize LEDs */ Board_LED_Init(); }
/* Set up and initialize all required blocks and functions related to the board hardware */ void Board_Init(void) { /* Sets up DEBUG UART */ DEBUGINIT(); /* Initializes GPIO */ Chip_GPIO_Init(LPC_GPIO_PORT); /* Initialize LEDs */ Board_LED_Init(); Chip_ENET_RMIIEnable(LPC_ETHERNET); }
/* Set up and initialize all required blocks and functions related to the board hardware */ void Board_Init(void) { /* Initialize the system core clock variable */ SystemCoreClockUpdate(); /* Sets up DEBUG UART */ DEBUGINIT(); /* Initialize GPIO */ Chip_GPIO_Init(LPC_GPIO_PORT); /* Initialize the LEDs */ Board_LED_Init(); }
/* Set up and initialize all required blocks and functions related to the board hardware */ void Board_Init(void) { /* INMUX and IOCON are used by many apps, enable both INMUX and IOCON clock bits here. */ Chip_Clock_EnablePeriphClock(SYSCON_CLOCK_INPUTMUX); Chip_Clock_EnablePeriphClock(SYSCON_CLOCK_IOCON); /* Sets up DEBUG UART */ DEBUGINIT(); /* Initialize GPIO */ Chip_GPIO_Init(LPC_GPIO); /* Initialize the LEDs. Be careful with below routine, once it's called some of the I/O will be set to output. */ Board_LED_Init(); }
/* Set up and initialize all required blocks and functions related to the board hardware */ void Board_Init(void) { /* Sets up DEBUG UART */ DEBUGINIT(); /* Updates SystemCoreClock global var with current clock speed */ SystemCoreClockUpdate(); /* Initializes GPIO */ Chip_GPIO_Init(LPC_GPIO); Chip_IOCON_Init(LPC_IOCON); /* Initialize LEDs */ Board_LED_Init(); }
/* Set up and initialize all required blocks and functions related to the board hardware */ void Board_Init(void) { /* Sets up DEBUG UART */ DEBUGINIT(); /* Initializes GPIO */ Chip_GPIO_Init(LPC_GPIO_PORT); Board_GPIOs_Init(); /* Initialize LEDs */ Board_LED_Init(); /* Initialize uarts */ Board_UART_Init(LPC_USART0); //RS 485 Board_UART_Init(LPC_USART3); // rs232 /* Initialize buttons */ Board_Buttons_Init(); /* Initialize DAC */ Board_DAC_Init(); /* Initialize Timers */ Board_TIMER_Init(); /* Initialize ADCs */ Board_ADC_Init(); /* Initialize Keyboard disabled */ Board_KEYBOARD_disable(); /* Initilize EEPROM */ Board_EEPROM_init(); /* Initialize SPI pins */ Board_SSP_Init(); /* Initialize RTC module */ //Board_RTC_Init(); /* Initialize I2C0 module */ Board_I2C_Master_Init(); Chip_ENET_RMIIEnable(LPC_ETHERNET); }