embox

Форк
0
/
stm32f2cube_eth_msp.c 
63 строки · 1.8 Кб
1
/**
2
 * @file
3
 *
4
 * @date Aug 24, 2023
5
 * @author Anton Bondarev
6
 */
7

8
#include <util/log.h>
9

10
#include <drivers/net/stm32cube_eth.h>
11

12

13
void HAL_ETH_MspInit(ETH_HandleTypeDef *heth)
14
{
15
  GPIO_InitTypeDef GPIO_InitStructure;
16

17
  /* Enable GPIOs clocks */
18
  __HAL_RCC_GPIOA_CLK_ENABLE();
19
  __HAL_RCC_GPIOB_CLK_ENABLE();
20
  __HAL_RCC_GPIOC_CLK_ENABLE();
21
  __HAL_RCC_GPIOG_CLK_ENABLE();
22

23
/* Ethernet pins configuration ************************************************/
24
  /*
25
        RMII_REF_CLK ----------------------> PA1
26
        RMII_MDIO -------------------------> PA2
27
        RMII_MDC --------------------------> PC1
28
        RMII_MII_CRS_DV -------------------> PA7
29
        RMII_MII_RXD0 ---------------------> PC4
30
        RMII_MII_RXD1 ---------------------> PC5
31
        RMII_MII_RXER ---------------------> PG2
32
        RMII_MII_TX_EN --------------------> PG11
33
        RMII_MII_TXD0 ---------------------> PG13
34
        RMII_MII_TXD1 ---------------------> PB13
35
  */
36

37
  /* Configure PA1, PA2 and PA7 */
38
  GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
39
  GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
40
  GPIO_InitStructure.Pull = GPIO_NOPULL;
41
  GPIO_InitStructure.Alternate = GPIO_AF11_ETH;
42
  GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_7;
43
  HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
44

45
  /* Configure PB13 */
46
  GPIO_InitStructure.Pin = GPIO_PIN_13;
47
  HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
48

49
  /* Configure PC1, PC4 and PC5 */
50
  GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5;
51
  HAL_GPIO_Init(GPIOC, &GPIO_InitStructure);
52

53
  /* Configure PG2, PG11, PG13 and PG14 */
54
  GPIO_InitStructure.Pin =  GPIO_PIN_2 | GPIO_PIN_11 | GPIO_PIN_13;
55
  HAL_GPIO_Init(GPIOG, &GPIO_InitStructure);
56

57
  /* Enable the Ethernet global Interrupt */
58
  HAL_NVIC_SetPriority(ETH_IRQn, 0x7, 0);
59
  HAL_NVIC_EnableIRQ(ETH_IRQn);
60

61
  /* Enable ETHERNET clock  */
62
  __HAL_RCC_ETH_CLK_ENABLE();
63
}
64

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.