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

Detailed Description

Date
Feb 06, 2021
Author
Andrey Gusakov, 2021

Definition in file board.c.

Functions

static void gpio_init (stm32_gpio_t *gpiop, const gpio_setup_t *config)
 
static void stm32_gpio_init (void)
 
void __early_init (void)
 Early initialization code.
 
bool sdc_lld_is_card_inserted (SDCDriver *sdcp)
 SDC card detection.
 
bool sdc_lld_is_write_protected (SDCDriver *sdcp)
 SDC card write protection detection.
 
bool mmc_lld_is_card_inserted (MMCDriver *mmcp)
 MMC_SPI card detection.
 
bool mmc_lld_is_write_protected (MMCDriver *mmcp)
 MMC_SPI card write protection detection.
 

Variables

static const gpio_config_t gpio_default_config
 STM32 GPIO static initialization data.
 

Function Documentation

◆ __early_init()

void __early_init ( void  )

Early initialization code.

GPIO ports and system clocks are initialized before everything else.

Definition at line 127 of file board.c.

128{
129 /* allow debug in all low-power modes */
130 DBGMCU->CR |= DBGMCU_CR_DBG_SLEEP | DBGMCU_CR_DBG_STOP | DBGMCU_CR_DBG_STANDBY;
131
133 stm32_clock_init();
134}
static void stm32_gpio_init(void)
Definition board.c:181
Here is the call graph for this function:

◆ gpio_init()

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

Definition at line 84 of file board.c.

84 {
85
86 gpiop->OTYPER = config->otyper;
87 gpiop->OSPEEDR = config->ospeedr;
88 gpiop->PUPDR = config->pupdr;
89 gpiop->ODR = config->odr;
90 gpiop->AFRL = config->afrl;
91 gpiop->AFRH = config->afrh;
92 gpiop->MODER = config->moder;
93}
static constexpr persistent_config_s * config

◆ mmc_lld_is_card_inserted()

bool mmc_lld_is_card_inserted ( MMCDriver *  mmcp)

MMC_SPI card detection.

Definition at line 162 of file board.c.

163{
164 UNUSED(mmcp);
165 /* TODO: Fill the implementation.*/
166 return true;
167}
UNUSED(samplingTimeSeconds)
Here is the call graph for this function:

◆ mmc_lld_is_write_protected()

bool mmc_lld_is_write_protected ( MMCDriver *  mmcp)

MMC_SPI card write protection detection.

Definition at line 172 of file board.c.

173{
174 UNUSED(mmcp);
175 /* TODO: Fill the implementation.*/
176 return false;
177}
Here is the call graph for this function:

◆ sdc_lld_is_card_inserted()

bool sdc_lld_is_card_inserted ( SDCDriver *  sdcp)

SDC card detection.

Definition at line 140 of file board.c.

141{
142 UNUSED(sdcp);
143 /* TODO: Fill the implementation.*/
144 return true;
145}
Here is the call graph for this function:

◆ sdc_lld_is_write_protected()

bool sdc_lld_is_write_protected ( SDCDriver *  sdcp)

SDC card write protection detection.

Definition at line 150 of file board.c.

151{
152 UNUSED(sdcp);
153 /* TODO: Fill the implementation.*/
154 return false;
155}
Here is the call graph for this function:

◆ stm32_gpio_init()

static void stm32_gpio_init ( void  )
static

Definition at line 95 of file board.c.

95 {
96
97 /* Enabling GPIO-related clocks, the mask comes from the
98 * registry header file.*/
99 rccResetAHB1(STM32_GPIO_EN_MASK);
100 rccEnableAHB1(STM32_GPIO_EN_MASK, true);
101
102 /* Initializing all the defined GPIO ports.*/
103 gpio_init(GPIOA, &gpio_default_config.PAData);
104 gpio_init(GPIOB, &gpio_default_config.PBData);
105 gpio_init(GPIOC, &gpio_default_config.PCData);
106 gpio_init(GPIOD, &gpio_default_config.PDData);
107 gpio_init(GPIOE, &gpio_default_config.PEData);
108 gpio_init(GPIOF, &gpio_default_config.PFData);
109 gpio_init(GPIOG, &gpio_default_config.PGData);
110 gpio_init(GPIOH, &gpio_default_config.PHData);
111 gpio_init(GPIOI, &gpio_default_config.PIData);
112}
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 59 of file board.c.

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

Go to the source code of this file.