embox

Форк
0
/
stm32f7cube_eth_msp.c 
95 строк · 2.9 Кб
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
 * @brief  Initializes the ETH MSP.
18
 * @param  heth: ETH handle
19
 * @retval None
20
 */
21
void HAL_ETH_MspInit(ETH_HandleTypeDef *heth) {
22
	GPIO_InitTypeDef GPIO_InitStructure;
23

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

39
	/* Ethernet pins configuration ************************************************/
40
	/* nucleo-f767zi */
41
	 /*
42
	 RMII_REF_CLK ----------------------> PA1
43
	 RMII_MDIO -------------------------> PA2
44
	 RMII_MDC --------------------------> PC1
45
	 RMII_MII_CRS_DV -------------------> PA7
46
	 RMII_MII_RXD0 ---------------------> PC4
47
	 RMII_MII_RXD1 ---------------------> PC5
48
	 RMII_MII_RXER ---------------------> PG2
49
	 RMII_MII_TX_EN --------------------> PG11
50
	 RMII_MII_TXD0 ---------------------> PG13
51
	 RMII_MII_TXD1 ---------------------> PB13
52
	 */
53

54
	GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
55
	GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
56
	GPIO_InitStructure.Pull = GPIO_NOPULL;
57
	GPIO_InitStructure.Alternate = GPIO_AF11_ETH;
58

59
	/* Configure PA1, PA2 and PA7 */
60
	__HAL_RCC_GPIOA_CLK_ENABLE();
61
	GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_7;
62
	HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
63

64
#if defined(STM32F767xx) && defined(USE_STM32F7XX_NUCLEO_144)
65
	/* Configure PB13 */
66
	  __HAL_RCC_GPIOB_CLK_ENABLE();
67
	GPIO_InitStructure.Pin = GPIO_PIN_13;
68
	HAL_GPIO_Init(GPIOB, &GPIO_InitStructure);
69
#endif
70

71
	/* Configure PC1, PC4 and PC5 */
72
	__HAL_RCC_GPIOC_CLK_ENABLE();
73
	GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5;
74
	HAL_GPIO_Init(GPIOC, &GPIO_InitStructure);
75

76
	/* Configure PG2, PG11, PG13 and PG14 */
77
	__HAL_RCC_GPIOG_CLK_ENABLE();
78
#if !defined(USE_STM32F7XX_NUCLEO_144)
79
	/* Configure PG2, PG11, PG13 and PG14 */
80
	GPIO_InitStructure.Pin =
81
			GPIO_PIN_2 | GPIO_PIN_11 | GPIO_PIN_13 | GPIO_PIN_14;
82
#else
83
	  GPIO_InitStructure.Pin =  GPIO_PIN_2 | GPIO_PIN_11 | GPIO_PIN_13;
84
#endif
85
	HAL_GPIO_Init(GPIOG, &GPIO_InitStructure);
86

87
	/* Enable ETHERNET clock  */
88
	__HAL_RCC_ETH_CLK_ENABLE();
89

90
#if defined(STM32F767xx) && defined(USE_STM32F7XX_NUCLEO_144)
91
	/* Output HSE clock (25MHz) on MCO pin (PA8) to clock the PHY */
92
	HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_PLLCLK, RCC_MCODIV_4);
93
#endif
94

95
}
96

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

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

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

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