embox

Форк
0
/
stm32h7cube_eth_msp_nucleo.c 
76 строк · 2.2 Кб
1
/**
2
 * @file
3
 * @brief
4
 *
5
 * @author  Anton Kozlov
6
 * @date    07.08.2014
7
 */
8

9
#include <util/log.h>
10

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

13
/*****************************************************************************
14
 Ethernet MSP Routines
15
 *****************************************************************************/
16

17
/**
18
  * @brief  Initializes the ETH MSP.
19
  * @param  heth: ETH handle
20
  * @retval None
21
*/
22
void HAL_ETH_MspInit(ETH_HandleTypeDef *heth)
23
{
24
  GPIO_InitTypeDef GPIO_InitStructure;
25

26
  /* Ethernett MSP init: RMII Mode */
27

28
  /* Enable GPIOs clocks */
29
  __HAL_RCC_GPIOA_CLK_ENABLE();
30
  __HAL_RCC_GPIOB_CLK_ENABLE();
31
  __HAL_RCC_GPIOC_CLK_ENABLE();
32
  __HAL_RCC_GPIOG_CLK_ENABLE();
33

34
/* Ethernet pins configuration ************************************************/
35
  /*
36
        RMII_REF_CLK ----------------------> PA1
37
        RMII_MDIO -------------------------> PA2
38
        RMII_MDC --------------------------> PC1
39
        RMII_MII_CRS_DV -------------------> PA7
40
        RMII_MII_RXD0 ---------------------> PC4
41
        RMII_MII_RXD1 ---------------------> PC5
42
        RMII_MII_RXER ---------------------> PG2
43
        RMII_MII_TX_EN --------------------> PG11
44
        RMII_MII_TXD0 ---------------------> PG13
45
        RMII_MII_TXD1 ---------------------> PB13
46
  */
47

48
  /* Configure PA1, PA2 and PA7 */
49
  GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_HIGH;
50
  GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
51
  GPIO_InitStructure.Pull = GPIO_NOPULL;
52
  GPIO_InitStructure.Alternate = GPIO_AF11_ETH;
53
  GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_7;
54
  HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
55

56
  /* Configure PB13 */
57
  GPIO_InitStructure.Pin = GPIO_PIN_13;
58
  HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
59

60
  /* Configure PC1, PC4 and PC5 */
61
  GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5;
62
  HAL_GPIO_Init(GPIOC, &GPIO_InitStructure);
63

64
  /* Configure PG2, PG11, PG13 and PG14 */
65
  GPIO_InitStructure.Pin =  GPIO_PIN_2 | GPIO_PIN_11 | GPIO_PIN_13;
66
  HAL_GPIO_Init(GPIOG, &GPIO_InitStructure);
67

68
  /* Enable the Ethernet global Interrupt */
69
  HAL_NVIC_SetPriority(ETH_IRQn, 0x7, 0);
70
  HAL_NVIC_EnableIRQ(ETH_IRQn);
71

72
  /* Enable Ethernet clocks */
73
  __HAL_RCC_ETH1MAC_CLK_ENABLE();
74
  __HAL_RCC_ETH1TX_CLK_ENABLE();
75
  __HAL_RCC_ETH1RX_CLK_ENABLE();
76
}
77

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

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

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

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