rusEFI
The most advanced open source ECU
Loading...
Searching...
No Matches
Functions | Variables
board.c File Reference

Functions

static void gpio_init (stm32_gpio_t *gpiop, const gpio_setup_t *config)
 
static void stm32_gpio_init (void)
 
void __early_init (void)
 
void boardInit (void)
 Board-specific initialization code.
 

Variables

static const gpio_config_t gpio_default_config
 STM32 GPIO static initialization data.
 

Function Documentation

◆ __early_init()

void __early_init ( void  )

Definition at line 113 of file board.c.

114{
116 stm32_clock_init();
117}
static void stm32_gpio_init(void)
Definition board.c:181
Here is the call graph for this function:

◆ boardInit()

void boardInit ( void  )

Board-specific initialization code.

Definition at line 122 of file board.c.

122 {
123}

◆ gpio_init()

static void gpio_init ( stm32_gpio_t *  gpiop,
const gpio_setup_t *  config 
)
static

Definition at line 78 of file board.c.

78 {
79
80 gpiop->OTYPER = config->otyper;
81 gpiop->OSPEEDR = config->ospeedr;
82 gpiop->PUPDR = config->pupdr;
83 gpiop->ODR = config->odr;
84 gpiop->AFRL = config->afrl;
85 gpiop->AFRH = config->afrh;
86 gpiop->MODER = config->moder;
87}
static constexpr persistent_config_s * config

◆ stm32_gpio_init()

static void stm32_gpio_init ( void  )
static

Definition at line 89 of file board.c.

89 {
90
91 /* Enabling GPIO-related clocks, the mask comes from the
92 * registry header file.*/
93 rccResetAHB1(STM32_GPIO_EN_MASK);
94 rccEnableAHB1(STM32_GPIO_EN_MASK, true);
95
96 /* Initializing all the defined GPIO ports.*/
97 gpio_init(GPIOA, &gpio_default_config.PAData);
98 gpio_init(GPIOB, &gpio_default_config.PBData);
99 gpio_init(GPIOC, &gpio_default_config.PCData);
100 gpio_init(GPIOD, &gpio_default_config.PDData);
101 gpio_init(GPIOE, &gpio_default_config.PEData);
102 gpio_init(GPIOF, &gpio_default_config.PFData);
103 gpio_init(GPIOG, &gpio_default_config.PGData);
104 gpio_init(GPIOH, &gpio_default_config.PHData);
105 gpio_init(GPIOI, &gpio_default_config.PIData);
106}
static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config)
Definition board.c:170
static const gpio_config_t gpio_default_config
STM32 GPIO static initialization data.
Definition board.c:119
Here is the call graph for this function:

Variable Documentation

◆ gpio_default_config

const gpio_config_t gpio_default_config
static
Initial value:
= {
{VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
{VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
{VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
{VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
{VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
{VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
{VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
{VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
{VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH},
}

STM32 GPIO static initialization data.

Definition at line 53 of file board.c.

53 {
54 {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
55 VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
56 {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
57 VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
58 {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
59 VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
60 {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
61 VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
62 {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
63 VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
64 {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
65 VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
66 {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
67 VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
68 {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
69 VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
70 {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
71 VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH},
72};

Go to the source code of this file.