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)
 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 180 of file board.c.

180 {
181
183 stm32_clock_init();
184}
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 122 of file board.c.

122 {
123
124 gpiop->OTYPER = config->otyper;
125 gpiop->OSPEEDR = config->ospeedr;
126 gpiop->PUPDR = config->pupdr;
127 gpiop->ODR = config->odr;
128 gpiop->AFRL = config->afrl;
129 gpiop->AFRH = config->afrh;
130 gpiop->MODER = config->moder;
131}
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 212 of file board.c.

212 {
213
214 (void)mmcp;
215 /* CHTODO: Fill the implementation.*/
216 return true;
217}

◆ mmc_lld_is_write_protected()

bool mmc_lld_is_write_protected ( MMCDriver *  mmcp)

MMC_SPI card write protection detection.

Definition at line 222 of file board.c.

222 {
223
224 (void)mmcp;
225 /* CHTODO: Fill the implementation.*/
226 return false;
227}

◆ sdc_lld_is_card_inserted()

bool sdc_lld_is_card_inserted ( SDCDriver *  sdcp)

SDC card detection.

Definition at line 190 of file board.c.

190 {
191
192 (void)sdcp;
193 /* CHTODO: Fill the implementation.*/
194 return true;
195}

◆ sdc_lld_is_write_protected()

bool sdc_lld_is_write_protected ( SDCDriver *  sdcp)

SDC card write protection detection.

Definition at line 200 of file board.c.

200 {
201
202 (void)sdcp;
203 /* CHTODO: Fill the implementation.*/
204 return false;
205}

◆ stm32_gpio_init()

static void stm32_gpio_init ( void  )
static

Definition at line 133 of file board.c.

133 {
134
135 /* Enabling GPIO-related clocks, the mask comes from the
136 registry header file.*/
137 rccResetAHB1(STM32_GPIO_EN_MASK);
138 rccEnableAHB1(STM32_GPIO_EN_MASK, true);
139
140 /* Initializing all the defined GPIO ports.*/
141#if STM32_HAS_GPIOA
142 gpio_init(GPIOA, &gpio_default_config.PAData);
143#endif
144#if STM32_HAS_GPIOB
145 gpio_init(GPIOB, &gpio_default_config.PBData);
146#endif
147#if STM32_HAS_GPIOC
148 gpio_init(GPIOC, &gpio_default_config.PCData);
149#endif
150#if STM32_HAS_GPIOD
151 gpio_init(GPIOD, &gpio_default_config.PDData);
152#endif
153#if STM32_HAS_GPIOE
154 gpio_init(GPIOE, &gpio_default_config.PEData);
155#endif
156#if STM32_HAS_GPIOF
157 gpio_init(GPIOF, &gpio_default_config.PFData);
158#endif
159#if STM32_HAS_GPIOG
160 gpio_init(GPIOG, &gpio_default_config.PGData);
161#endif
162#if STM32_HAS_GPIOH
163 gpio_init(GPIOH, &gpio_default_config.PHData);
164#endif
165}
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

STM32 GPIO static initialization data.

Definition at line 83 of file board.c.

83 {
84#if STM32_HAS_GPIOA
85 {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
86 VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
87#endif
88#if STM32_HAS_GPIOB
89 {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
90 VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
91#endif
92#if STM32_HAS_GPIOC
93 {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
94 VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
95#endif
96#if STM32_HAS_GPIOD
97 {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
98 VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
99#endif
100#if STM32_HAS_GPIOE
101 {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
102 VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
103#endif
104#if STM32_HAS_GPIOF
105 {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
106 VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
107#endif
108#if STM32_HAS_GPIOG
109 {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
110 VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
111#endif
112#if STM32_HAS_GPIOH
113 {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
114 VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
115#endif
116};

Go to the source code of this file.