mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
59 lines
1.6 KiB
C
59 lines
1.6 KiB
C
/*
|
|
* Copyright (C) 2013 INRIA
|
|
* 2014 Freie Universität Berlin
|
|
* 2016 TriaGnoSys GmbH
|
|
* 2018 Kaspar Schleiser <kaspar@schleiser.de>
|
|
* 2018 OTA keys S.A.
|
|
*
|
|
*
|
|
* This file is subject to the terms and conditions of the GNU Lesser General
|
|
* Public License v2.1. See the file LICENSE in the top level directory for more
|
|
* details.
|
|
*/
|
|
|
|
/**
|
|
* @ingroup cpu_stm32_common
|
|
* @{
|
|
*
|
|
* @file
|
|
* @brief Implementation of the kernel cpu functions
|
|
*
|
|
* @author Stefan Pfeiffer <stefan.pfeiffer@fu-berlin.de>
|
|
* @author Alaeddine Weslati <alaeddine.weslati@inria.fr>
|
|
* @author Thomas Eichinger <thomas.eichinger@fu-berlin.de>
|
|
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
|
* @author Nick van IJzendoorn <nijzendoorn@engineering-spirit.nl>
|
|
* @author Víctor Ariño <victor.arino@zii.aero>
|
|
* @author Kaspar Schleiser <kaspar@schleiser.de>
|
|
* @author Vincent Dupont <vincent@otakeys.com>
|
|
*
|
|
* @}
|
|
*/
|
|
|
|
#include "cpu.h"
|
|
#include "stmclk.h"
|
|
#include "periph_cpu.h"
|
|
#include "periph/init.h"
|
|
|
|
#if defined (CPU_FAM_STM32L4)
|
|
#define BIT_APB_PWREN RCC_APB1ENR1_PWREN
|
|
#else
|
|
#define BIT_APB_PWREN RCC_APB1ENR_PWREN
|
|
#endif
|
|
|
|
void cpu_init(void)
|
|
{
|
|
/* initialize the Cortex-M core */
|
|
cortexm_init();
|
|
/* enable PWR module */
|
|
periph_clk_en(APB1, BIT_APB_PWREN);
|
|
/* initialize the system clock as configured in the periph_conf.h */
|
|
stmclk_init_sysclk();
|
|
#ifdef MODULE_PERIPH_DMA
|
|
/* initialize DMA streams */
|
|
dma_init();
|
|
#endif
|
|
/* trigger static peripheral initialization */
|
|
periph_init();
|
|
}
|