forked from xuos/xiuos
113 lines
4.4 KiB
C
113 lines
4.4 KiB
C
/**
|
|
******************************************************************************
|
|
* @file connect_ethernet.h
|
|
* @author MCD Application Team
|
|
* @version V1.0.0
|
|
* @date 31-October-2011
|
|
* @brief STM32F4x7 Ethernet hardware configuration.
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
|
|
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
|
|
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
|
|
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
|
|
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
|
|
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
|
|
*
|
|
* <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
|
|
******************************************************************************
|
|
*/
|
|
|
|
/*
|
|
* Copyright (c) 2020 AIIT XUOS Lab
|
|
* XiUOS is licensed under Mulan PSL v2.
|
|
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
* You may obtain a copy of Mulan PSL v2 at:
|
|
* http://license.coscl.org.cn/MulanPSL2
|
|
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
|
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
* See the Mulan PSL v2 for more details.
|
|
*/
|
|
|
|
/**
|
|
* @file connect_ethernet.h
|
|
* @brief Adapted network software protocol stack and hardware operation functions
|
|
* @version 1.0
|
|
* @author AIIT XUOS Lab
|
|
* @date 2021-05-29
|
|
*/
|
|
|
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|
#ifndef __STM32F4x7_ETH_BSP_H
|
|
#define __STM32F4x7_ETH_BSP_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
/* Exported types ------------------------------------------------------------*/
|
|
/* Exported constants --------------------------------------------------------*/
|
|
#define DP83848_PHY_ADDRESS 0x01 /* Relative to STM324xG-EVAL Board */
|
|
|
|
/* Specific defines for EXTI line, used to manage Ethernet link status */
|
|
#define ETH_LINK_EXTI_LINE EXTI_Line14
|
|
#define ETH_LINK_EXTI_PORT_SOURCE EXTI_PortSourceGPIOB
|
|
#define ETH_LINK_EXTI_PIN_SOURCE EXTI_PinSource14
|
|
#define ETH_LINK_EXTI_IRQn EXTI15_10_IRQn
|
|
/* PB14 */
|
|
#define ETH_LINK_PIN GPIO_Pin_14
|
|
#define ETH_LINK_GPIO_PORT GPIOB
|
|
#define ETH_LINK_GPIO_CLK RCC_AHB1Periph_GPIOB
|
|
/* PHY registers */
|
|
#define PHY_MICR 0x11 /* MII Interrupt Control Register */
|
|
#define PHY_MICR_INT_EN ((unsigned short)0x0002) /* PHY Enable interrupts */
|
|
#define PHY_MICR_INT_OE ((unsigned short)0x0001) /* PHY Enable output interrupt events */
|
|
#define PHY_MISR 0x12 /* MII Interrupt Status and Misc. Control Register */
|
|
#define PHY_MISR_LINK_INT_EN ((unsigned short)0x0020) /* Enable Interrupt on change of link status */
|
|
#define PHY_LINK_STATUS ((unsigned short)0x2000) /* PHY link status interrupt mask */
|
|
|
|
|
|
|
|
|
|
#define RMII_MODE // User have to provide the 50 MHz clock by soldering a 50 MHz
|
|
// oscillator (ref SM7745HEV-50.0M or equivalent) on the U3
|
|
// footprint located under CN3 and also removing jumper on JP5.
|
|
// This oscillator is not provided with the board.
|
|
// For more details, please refer to STM3240G-EVAL evaluation
|
|
// board User manual (UM1461).
|
|
|
|
|
|
//#define MII_MODE
|
|
|
|
/* Uncomment the define below to clock the PHY from external 25MHz crystal (only for MII mode) */
|
|
#ifdef MII_MODE
|
|
#define PHY_CLOCK_MCO
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Exported macro ------------------------------------------------------------*/
|
|
/* Exported functions ------------------------------------------------------- */
|
|
void ETH_BSP_Config(void);
|
|
uint32_t Eth_Link_PHYITConfig(uint16_t PHYAddress);
|
|
void Eth_Link_EXTIConfig(void);
|
|
void Eth_Link_ITHandler(unsigned short PHYAddress);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __STM32F4x7_ETH_BSP_H */
|
|
|
|
|
|
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
|