InES Hardware Abstraction Layer
Data Structures | Enumerations | Functions
hal_rcc.h File Reference

Interface of module hal_rcc. More...

#include "hal_common.h"

Go to the source code of this file.

Data Structures

struct  hal_rcc_pll_init_t
 Initialization structure for pll configuration. More...
 
struct  hal_rcc_clk_init_t
 Initialization structure for system clock configuration. More...
 

Enumerations

enum  hal_rcc_osc_t {
  HAL_RCC_OSC_HSI = 0u, HAL_RCC_OSC_HSE = 16u, HAL_RCC_OSC_PLL = 24u, HAL_RCC_OSC_PLLI2S = 26u,
  HAL_RCC_OSC_PLLSAI = 28u
}
 Defines the different oscillators of the SoC.
 
enum  hal_rcc_hpre_t {
  HAL_RCC_HPRE_1 = 0u, HAL_RCC_HPRE_2 = 8u, HAL_RCC_HPRE_4 = 9u, HAL_RCC_HPRE_8 = 10u,
  HAL_RCC_HPRE_16 = 11u, HAL_RCC_HPRE_64 = 12u, HAL_RCC_HPRE_128 = 13u, HAL_RCC_HPRE_256 = 14u,
  HAL_RCC_HPRE_512 = 15u
}
 Defines available divider for the advanced high-performance bus.
 
enum  hal_rcc_ppre_t { HAL_RCC_PPRE_2 = 4u, HAL_RCC_PPRE_4 = 5u, HAL_RCC_PPRE_8 = 6u, HAL_RCC_PPRE_16 = 7u }
 Defines available divider for the advanced peripheral buses.
 

Functions

void hal_rcc_reset (void)
 Resets all involved registers.
 
void hal_rcc_set_peripheral (hal_peripheral_t peripheral, hal_bool_t status) __attribute__((deprecated("Please use XXX_ENABLE() or XXX_DISABLE().")))
 Enables/Disables the defined periphery. More...
 
hal_bool_t hal_rcc_set_osc (hal_rcc_osc_t osc, hal_bool_t status)
 Enables the defined clock source. If a pll is choosen, make sure the configured source clock is up and running. More...
 
void hal_rcc_setup_pll (hal_rcc_osc_t pll, hal_rcc_pll_init_t init)
 Configures the different pll settings. Don't forget to enable the pll after configuration. More...
 
void hal_rcc_setup_clock (hal_rcc_clk_init_t init)
 Configure the system clocks. More...
 

Detailed Description

Interface of module hal_rcc.

The hardware abstraction layer for the reset and clock control unit.

$Id$

Function Documentation

◆ hal_rcc_set_osc()

hal_bool_t hal_rcc_set_osc ( hal_rcc_osc_t  osc,
hal_bool_t  status 
)

Enables the defined clock source. If a pll is choosen, make sure the configured source clock is up and running.

Parameters
osc: Defines the oscillator to ENABLE/DISABLE.
status: ENABLE/DISABLE the oscillator.
Returns
If successful ENABLED, else DISABLED.

◆ hal_rcc_set_peripheral()

void hal_rcc_set_peripheral ( hal_peripheral_t  peripheral,
hal_bool_t  status 
)

Enables/Disables the defined periphery.

Parameters
peripheral: Defines the peripheral to ENABLE/DISABLE.
status: ENABLE/DISABLE the peripheral clock.

◆ hal_rcc_setup_clock()

void hal_rcc_setup_clock ( hal_rcc_clk_init_t  init)

Configure the system clocks.

Parameters
init: Initialisation structure for the system clock.

◆ hal_rcc_setup_pll()

void hal_rcc_setup_pll ( hal_rcc_osc_t  pll,
hal_rcc_pll_init_t  init 
)

Configures the different pll settings. Don't forget to enable the pll after configuration.

Parameters
pll: Defines the pll to setup.
init: Initialisation structure for pll.