mirror of https://github.com/ARMmbed/mbed-os.git
disco_f769ni adding ethernet init
the IPV4 feature was already enabled in an earlier commit but the mbed 5 ethernet initialisation was missingpull/2504/head
parent
d0e2f1efa6
commit
765aeb0dc6
|
@ -0,0 +1,87 @@
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override HAL Eth Init function
|
||||||
|
*/
|
||||||
|
void HAL_ETH_MspInit(ETH_HandleTypeDef* heth)
|
||||||
|
{
|
||||||
|
GPIO_InitTypeDef GPIO_InitStructure;
|
||||||
|
if (heth->Instance == ETH) {
|
||||||
|
|
||||||
|
/* Enable GPIOs clocks */
|
||||||
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOG_CLK_ENABLE();
|
||||||
|
|
||||||
|
/** ETH GPIO Configuration
|
||||||
|
RMII_REF_CLK ----------------------> PA1
|
||||||
|
RMII_MDIO -------------------------> PA2
|
||||||
|
RMII_MDC --------------------------> PC1
|
||||||
|
RMII_MII_CRS_DV -------------------> PA7
|
||||||
|
RMII_MII_RXD0 ---------------------> PC4
|
||||||
|
RMII_MII_RXD1 ---------------------> PC5
|
||||||
|
RMII_MII_RXER ---------------------> PD5
|
||||||
|
RMII_MII_TX_EN --------------------> PG11
|
||||||
|
RMII_MII_TXD0 ---------------------> PG13
|
||||||
|
RMII_MII_TXD1 ---------------------> PG14
|
||||||
|
*/
|
||||||
|
/* Configure PA1, PA2 and PA7 */
|
||||||
|
GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
|
||||||
|
GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStructure.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStructure.Alternate = GPIO_AF11_ETH;
|
||||||
|
GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_7;
|
||||||
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
|
||||||
|
|
||||||
|
/* Configure PC1, PC4 and PC5 */
|
||||||
|
GPIO_InitStructure.Pin = GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5;
|
||||||
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStructure);
|
||||||
|
|
||||||
|
/* Configure PD5 */
|
||||||
|
GPIO_InitStructure.Pin = GPIO_PIN_5;
|
||||||
|
HAL_GPIO_Init(GPIOD, &GPIO_InitStructure);
|
||||||
|
|
||||||
|
/* Configure PG11, PG13 and PG14 */
|
||||||
|
GPIO_InitStructure.Pin = GPIO_PIN_11 | GPIO_PIN_13 | GPIO_PIN_14;
|
||||||
|
HAL_GPIO_Init(GPIOG, &GPIO_InitStructure);
|
||||||
|
|
||||||
|
/* Enable the Ethernet global Interrupt */
|
||||||
|
HAL_NVIC_SetPriority(ETH_IRQn, 0x7, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(ETH_IRQn);
|
||||||
|
|
||||||
|
/* Enable ETHERNET clock */
|
||||||
|
__HAL_RCC_ETH_CLK_ENABLE();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override HAL Eth DeInit function
|
||||||
|
*/
|
||||||
|
void HAL_ETH_MspDeInit(ETH_HandleTypeDef* heth)
|
||||||
|
{
|
||||||
|
if (heth->Instance == ETH) {
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_ETH_CLK_DISABLE();
|
||||||
|
|
||||||
|
/** ETH GPIO Configuration
|
||||||
|
RMII_REF_CLK ----------------------> PA1
|
||||||
|
RMII_MDIO -------------------------> PA2
|
||||||
|
RMII_MDC --------------------------> PC1
|
||||||
|
RMII_MII_CRS_DV -------------------> PA7
|
||||||
|
RMII_MII_RXD0 ---------------------> PC4
|
||||||
|
RMII_MII_RXD1 ---------------------> PC5
|
||||||
|
RMII_MII_RXER ---------------------> PD5
|
||||||
|
RMII_MII_TX_EN --------------------> PG11
|
||||||
|
RMII_MII_TXD0 ---------------------> PG13
|
||||||
|
RMII_MII_TXD1 ---------------------> PG14
|
||||||
|
*/
|
||||||
|
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_7);
|
||||||
|
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5);
|
||||||
|
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_5);
|
||||||
|
HAL_GPIO_DeInit(GPIOG, GPIO_PIN_11 | GPIO_PIN_13 | GPIO_PIN_14);
|
||||||
|
|
||||||
|
/* Disable the Ethernet global Interrupt */
|
||||||
|
NVIC_DisableIRQ(ETH_IRQn);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue