Skip to content

Commit 2a349ff

Browse files
authored
Merge pull request #4000 from bigmagic123/add_raspi4_eth_driver
Add raspi4 eth driver
2 parents 724b413 + b506a3a commit 2a349ff

File tree

6 files changed

+969
-3
lines changed

6 files changed

+969
-3
lines changed

bsp/raspberry-pi/raspi4-32/.config

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ CONFIG_RT_USING_DFS_DEVFS=y
134134
# CONFIG_RT_USING_DFS_RAMFS is not set
135135
# CONFIG_RT_USING_DFS_UFFS is not set
136136
# CONFIG_RT_USING_DFS_JFFS2 is not set
137+
# CONFIG_RT_USING_DFS_NFS is not set
137138

138139
#
139140
# Device Drivers
@@ -208,17 +209,79 @@ CONFIG_RT_USING_POSIX=y
208209
#
209210
# Network interface device
210211
#
211-
# CONFIG_RT_USING_NETDEV is not set
212+
CONFIG_RT_USING_NETDEV=y
213+
CONFIG_NETDEV_USING_IFCONFIG=y
214+
CONFIG_NETDEV_USING_PING=y
215+
CONFIG_NETDEV_USING_NETSTAT=y
216+
CONFIG_NETDEV_USING_AUTO_DEFAULT=y
217+
# CONFIG_NETDEV_USING_IPV6 is not set
218+
CONFIG_NETDEV_IPV4=1
219+
CONFIG_NETDEV_IPV6=0
220+
# CONFIG_NETDEV_IPV6_SCOPES is not set
212221

213222
#
214223
# light weight TCP/IP stack
215224
#
216-
# CONFIG_RT_USING_LWIP is not set
225+
CONFIG_RT_USING_LWIP=y
226+
# CONFIG_RT_USING_LWIP141 is not set
227+
CONFIG_RT_USING_LWIP202=y
228+
# CONFIG_RT_USING_LWIP212 is not set
229+
# CONFIG_RT_USING_LWIP_IPV6 is not set
230+
CONFIG_RT_LWIP_MEM_ALIGNMENT=4
231+
CONFIG_RT_LWIP_IGMP=y
232+
CONFIG_RT_LWIP_ICMP=y
233+
# CONFIG_RT_LWIP_SNMP is not set
234+
CONFIG_RT_LWIP_DNS=y
235+
CONFIG_RT_LWIP_DHCP=y
236+
CONFIG_IP_SOF_BROADCAST=1
237+
CONFIG_IP_SOF_BROADCAST_RECV=1
238+
239+
#
240+
# Static IPv4 Address
241+
#
242+
CONFIG_RT_LWIP_IPADDR="192.168.1.30"
243+
CONFIG_RT_LWIP_GWADDR="192.168.1.1"
244+
CONFIG_RT_LWIP_MSKADDR="255.255.255.0"
245+
CONFIG_RT_LWIP_UDP=y
246+
CONFIG_RT_LWIP_TCP=y
247+
CONFIG_RT_LWIP_RAW=y
248+
# CONFIG_RT_LWIP_PPP is not set
249+
CONFIG_RT_MEMP_NUM_NETCONN=8
250+
CONFIG_RT_LWIP_PBUF_NUM=16
251+
CONFIG_RT_LWIP_RAW_PCB_NUM=4
252+
CONFIG_RT_LWIP_UDP_PCB_NUM=4
253+
CONFIG_RT_LWIP_TCP_PCB_NUM=4
254+
CONFIG_RT_LWIP_TCP_SEG_NUM=40
255+
CONFIG_RT_LWIP_TCP_SND_BUF=8196
256+
CONFIG_RT_LWIP_TCP_WND=8196
257+
CONFIG_RT_LWIP_TCPTHREAD_PRIORITY=10
258+
CONFIG_RT_LWIP_TCPTHREAD_MBOX_SIZE=8
259+
CONFIG_RT_LWIP_TCPTHREAD_STACKSIZE=1024
260+
# CONFIG_LWIP_NO_RX_THREAD is not set
261+
# CONFIG_LWIP_NO_TX_THREAD is not set
262+
CONFIG_RT_LWIP_ETHTHREAD_PRIORITY=12
263+
CONFIG_RT_LWIP_ETHTHREAD_STACKSIZE=1024
264+
CONFIG_RT_LWIP_ETHTHREAD_MBOX_SIZE=8
265+
# CONFIG_RT_LWIP_REASSEMBLY_FRAG is not set
266+
CONFIG_LWIP_NETIF_STATUS_CALLBACK=1
267+
CONFIG_LWIP_NETIF_LINK_CALLBACK=1
268+
CONFIG_SO_REUSE=1
269+
CONFIG_LWIP_SO_RCVTIMEO=1
270+
CONFIG_LWIP_SO_SNDTIMEO=1
271+
CONFIG_LWIP_SO_RCVBUF=1
272+
CONFIG_LWIP_SO_LINGER=0
273+
# CONFIG_RT_LWIP_NETIF_LOOPBACK is not set
274+
CONFIG_LWIP_NETIF_LOOPBACK=0
275+
# CONFIG_RT_LWIP_STATS is not set
276+
# CONFIG_RT_LWIP_USING_HW_CHECKSUM is not set
277+
CONFIG_RT_LWIP_USING_PING=y
278+
# CONFIG_RT_LWIP_DEBUG is not set
217279

218280
#
219281
# AT commands
220282
#
221283
# CONFIG_RT_USING_AT is not set
284+
# CONFIG_LWIP_USING_DHCPD is not set
222285

223286
#
224287
# VBUS(Virtual Software BUS)
@@ -497,6 +560,8 @@ CONFIG_RT_USING_POSIX=y
497560
#
498561
# Network Utilities
499562
#
563+
# CONFIG_PKG_USING_MDNS is not set
564+
# CONFIG_PKG_USING_UPNP is not set
500565
# CONFIG_PKG_USING_WICED is not set
501566
# CONFIG_PKG_USING_CLOUDSDK is not set
502567
# CONFIG_PKG_USING_POWER_MANAGER is not set

bsp/raspberry-pi/raspi4-32/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ msh />
128128
| WATCHDOG | 支持 | - |
129129
| HDMI | 支持 | - |
130130
| SDIO | 支持 | - |
131+
| ETH | 支持 | - |
131132

132133
## 5. 注意事项
133134

bsp/raspberry-pi/raspi4-32/driver/board.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919

2020
struct mem_desc platform_mem_desc[] = {
2121
{0x0, 0x6400000, 0x0, NORMAL_MEM},
22-
{0x8000000, 0x8100000, 0x8000000, DEVICE_MEM}, //mbox msg
22+
{0x8000000, 0x8800000, 0x8000000, DEVICE_MEM}, //mbox msg
2323
{0x0EA00000, 0x0EE00000, 0x0EA00000, DEVICE_MEM}, //framebuffer
24+
{0xFD500000, 0xFDA00000, 0xFD500000, DEVICE_MEM}, //gmac
2425
{0xFE000000, 0xFE400000, 0xFE000000, DEVICE_MEM}, //peripheral
2526
{0xFF800000, 0xFFA00000, 0xFF800000, DEVICE_MEM} //gic
2627
};

0 commit comments

Comments
 (0)