summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluhuadong <[email protected]>2019-06-27 15:21:17 +0800
committerluhuadong <[email protected]>2019-06-27 15:21:17 +0800
commit72fd4f04279599197454bb19bdfb38ec3d61613b (patch)
tree1db3640d2e223e5d6396356aed241d6450c57b0a
parent31b6533baa1d52f070ce43fecaf0183af9ef7299 (diff)
stm32f767-st-nucleo BSP 添加以太网驱动支持
-rw-r--r--bsp/stm32/stm32f767-st-nucleo/README.md2
-rw-r--r--bsp/stm32/stm32f767-st-nucleo/board/Kconfig20
-rw-r--r--bsp/stm32/stm32f767-st-nucleo/board/SConscript4
-rw-r--r--bsp/stm32/stm32f767-st-nucleo/board/ports/phy_reset.c21
4 files changed, 45 insertions, 2 deletions
diff --git a/bsp/stm32/stm32f767-st-nucleo/README.md b/bsp/stm32/stm32f767-st-nucleo/README.md
index b5c74c87f6..45ccf66f70 100644
--- a/bsp/stm32/stm32f767-st-nucleo/README.md
+++ b/bsp/stm32/stm32f767-st-nucleo/README.md
@@ -38,7 +38,7 @@ NUCLEO-F767ZI 是st推出的一款基于 ARM Cortex-M7 内核的开发板,最�
| **板载外设** | **支持情况** | **备注** |
| :-----------------| :----------: | :-------------------------------------|
| USB 转串口3 | 支持 | |
-| 以太网 | 暂不支持 | 即将支持 |
+| 以太网 | 支持 | PHY 选项 LAN8720A(兼容 LAN8742A) |
| **片上外设** | **支持情况** | **备注** |
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
| UART | 支持 | UART3 |
diff --git a/bsp/stm32/stm32f767-st-nucleo/board/Kconfig b/bsp/stm32/stm32f767-st-nucleo/board/Kconfig
index 0e62854a44..920138393f 100644
--- a/bsp/stm32/stm32f767-st-nucleo/board/Kconfig
+++ b/bsp/stm32/stm32f767-st-nucleo/board/Kconfig
@@ -7,11 +7,29 @@ config SOC_STM32F767ZI
menu "Onboard Peripheral Drivers"
- config BSP_USING_USB_TO_USART
+ config BSP_USING_USB_TO_USART
bool "Enable USB TO USART (uart3)"
select BSP_USING_UART3
default y
+ config BSP_USING_ETH
+ bool "Enable Ethernet"
+ select RT_USING_LWIP
+ default n
+
+ if BSP_USING_ETH
+ choice
+ prompt "On-board PHY chip"
+ default PHY_USING_LAN8720A
+
+ config PHY_USING_LAN8720A
+ bool "LAN8720A"
+
+ config PHY_USING_DM9161CEP
+ bool "DM9161CEP"
+
+ endchoice
+ endif
endmenu
diff --git a/bsp/stm32/stm32f767-st-nucleo/board/SConscript b/bsp/stm32/stm32f767-st-nucleo/board/SConscript
index 12ea0a24cc..a49a0955b1 100644
--- a/bsp/stm32/stm32f767-st-nucleo/board/SConscript
+++ b/bsp/stm32/stm32f767-st-nucleo/board/SConscript
@@ -7,8 +7,12 @@ cwd = GetCurrentDir()
src = Glob('board.c')
src += Glob('CubeMX_Config/Src/stm32f7xx_hal_msp.c')
+if GetDepend(['BSP_USING_ETH']):
+ src += Glob('ports/phy_reset.c')
+
path = [cwd]
path += [cwd + '/CubeMX_Config/Inc']
+path += [cwd + '/ports']
if rtconfig.CROSS_TOOL == 'gcc':
src += [cwd + '/../../libraries/STM32F7xx_HAL/CMSIS/Device/ST/STM32F7xx/Source/Templates/gcc/startup_stm32f767xx.s']
diff --git a/bsp/stm32/stm32f767-st-nucleo/board/ports/phy_reset.c b/bsp/stm32/stm32f767-st-nucleo/board/ports/phy_reset.c
new file mode 100644
index 0000000000..012d5a81eb
--- /dev/null
+++ b/bsp/stm32/stm32f767-st-nucleo/board/ports/phy_reset.c
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2006-2019, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2019-06-27 luhuadong first version
+ */
+
+#include <board.h>
+
+void phy_reset(void)
+{
+ /*
+ * The PHY reset pin of NUCLEO-F767ZI is connected to the MCU reset pin,
+ * so no additional reset is required.
+ */
+
+ return ;
+}