SAMA5D3: Add support for CONFIG_NET_NOINTS to EMACA and GMAC driver.

This commit is contained in:
Gregory Nutt
2016-12-02 16:36:27 -06:00
parent f7d8bbfa3b
commit 1851e9e837
5 changed files with 901 additions and 101 deletions
+3 -3
View File
@@ -1,4 +1,4 @@
NuttX TODO List (Last updated November 22, 2016) NuttX TODO List (Last updated December 2, 2016)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This file summarizes known NuttX bugs, limitations, inconsistencies with This file summarizes known NuttX bugs, limitations, inconsistencies with
@@ -1067,9 +1067,9 @@ o Network (net/, drivers/net)
PIC32 NO NO PIC32 NO NO
SAM3/4 YES YES SAM3/4 YES YES
SAMA5D ----------------------- ------ SAMA5D ----------------------- ------
EMACA NO YES (not tested) EMACA YES YES (not tested)
EMACB YES YES EMACB YES YES
GMAC NO YES (not tested) GMAC YES YES (not tested)
SAMV7 YES YES SAMV7 YES YES
SIM N/A (No interrupts) NO SIM N/A (No interrupts) NO
+40
View File
@@ -1437,6 +1437,26 @@ config SAMA5_GMAC_NBC
---help--- ---help---
Select to disable receipt of broadcast packets. Select to disable receipt of broadcast packets.
choice
prompt "Work queue"
default SAMA5_GMAC_LPWORK if SCHED_LPWORK
default SAMA5_GMAC_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
depends on SCHED_WORKQUEUE
---help---
Work queue support is required to use the Ethernet driver. If the
low priority work queue is available, then it should be used by the
driver.
config SAMA5_GMAC_HPWORK
bool "High priority"
depends on SCHED_HPWORK
config SAMA5_GMAC_LPWORK
bool "Low priority"
depends on SCHED_LPWORK
endchoice # Work queue
config SAMA5_GMAC_PHYADDR config SAMA5_GMAC_PHYADDR
int "PHY address" int "PHY address"
default 1 default 1
@@ -1675,6 +1695,26 @@ config SAMA5_EMACA_NBC
---help--- ---help---
Select to disable receipt of broadcast packets. Select to disable receipt of broadcast packets.
choice
prompt "Work queue"
default SAMA5_EMACA_LPWORK if SCHED_LPWORK
default SAMA5_EMACA_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
depends on SCHED_WORKQUEUE
---help---
Work queue support is required to use the Ethernet driver. If the
low priority work queue is available, then it should be used by the
driver.
config SAMA5_EMACA_HPWORK
bool "High priority"
depends on SCHED_HPWORK
config SAMA5_EMACA_LPWORK
bool "Low priority"
depends on SCHED_LPWORK
endchoice # Work queue
config SAMA5_EMACA_REGDEBUG config SAMA5_EMACA_REGDEBUG
bool "Register-Level Debug" bool "Register-Level Debug"
default n default n
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+10 -4
View File
@@ -279,6 +279,7 @@ CONFIG_SAMA5_GMAC_NRXBUFFERS=16
CONFIG_SAMA5_GMAC_NTXBUFFERS=8 CONFIG_SAMA5_GMAC_NTXBUFFERS=8
# CONFIG_SAMA5_GMAC_PREALLOCATE is not set # CONFIG_SAMA5_GMAC_PREALLOCATE is not set
# CONFIG_SAMA5_GMAC_NBC is not set # CONFIG_SAMA5_GMAC_NBC is not set
CONFIG_SAMA5_GMAC_HPWORK=y
CONFIG_SAMA5_GMAC_PHYADDR=1 CONFIG_SAMA5_GMAC_PHYADDR=1
# CONFIG_SAMA5_GMAC_PHYINIT is not set # CONFIG_SAMA5_GMAC_PHYINIT is not set
CONFIG_SAMA5_GMAC_AUTONEG=y CONFIG_SAMA5_GMAC_AUTONEG=y
@@ -302,6 +303,7 @@ CONFIG_SAMA5_EMAC_PHYSR_10FD=0x5
CONFIG_SAMA5_EMAC_PHYSR_100FD=0x6 CONFIG_SAMA5_EMAC_PHYSR_100FD=0x6
# CONFIG_SAMA5_EMACA_PREALLOCATE is not set # CONFIG_SAMA5_EMACA_PREALLOCATE is not set
# CONFIG_SAMA5_EMACA_NBC is not set # CONFIG_SAMA5_EMACA_NBC is not set
CONFIG_SAMA5_EMACA_HPWORK=y
# CONFIG_SAMA5_EMAC_ISETH0 is not set # CONFIG_SAMA5_EMAC_ISETH0 is not set
CONFIG_SAMA5_GMAC_ISETH0=y CONFIG_SAMA5_GMAC_ISETH0=y
@@ -481,6 +483,7 @@ CONFIG_NAME_MAX=32
# CONFIG_SCHED_STARTHOOK is not set # CONFIG_SCHED_STARTHOOK is not set
# CONFIG_SCHED_ATEXIT is not set # CONFIG_SCHED_ATEXIT is not set
# CONFIG_SCHED_ONEXIT is not set # CONFIG_SCHED_ONEXIT is not set
# CONFIG_SIG_EVTHREAD is not set
# #
# Signal Numbers # Signal Numbers
@@ -489,6 +492,7 @@ CONFIG_SIG_SIGUSR1=1
CONFIG_SIG_SIGUSR2=2 CONFIG_SIG_SIGUSR2=2
CONFIG_SIG_SIGALARM=3 CONFIG_SIG_SIGALARM=3
CONFIG_SIG_SIGCONDTIMEDOUT=16 CONFIG_SIG_SIGCONDTIMEDOUT=16
CONFIG_SIG_SIGWORK=17
# #
# POSIX Message Queue Options # POSIX Message Queue Options
@@ -500,8 +504,11 @@ CONFIG_MQ_MAXMSGSIZE=32
# #
# Work queue support # Work queue support
# #
# CONFIG_SCHED_WORKQUEUE is not set CONFIG_SCHED_WORKQUEUE=y
# CONFIG_SCHED_HPWORK is not set CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_HPWORKPRIORITY=224
CONFIG_SCHED_HPWORKPERIOD=50000
CONFIG_SCHED_HPWORKSTACKSIZE=2048
# CONFIG_SCHED_LPWORK is not set # CONFIG_SCHED_LPWORK is not set
# #
@@ -592,7 +599,6 @@ CONFIG_NETDEV_MULTINIC=y
# CONFIG_NET_DM90x0 is not set # CONFIG_NET_DM90x0 is not set
# CONFIG_ENC28J60 is not set # CONFIG_ENC28J60 is not set
# CONFIG_ENCX24J600 is not set # CONFIG_ENCX24J600 is not set
# CONFIG_NET_SLIP is not set # CONFIG_NET_SLIP is not set
# CONFIG_NET_FTMAC100 is not set # CONFIG_NET_FTMAC100 is not set
@@ -692,7 +698,7 @@ CONFIG_SYSLOG_CONSOLE=y
CONFIG_ARCH_HAVE_NET=y CONFIG_ARCH_HAVE_NET=y
CONFIG_ARCH_HAVE_PHY=y CONFIG_ARCH_HAVE_PHY=y
CONFIG_NET=y CONFIG_NET=y
# CONFIG_NET_NOINTS is not set CONFIG_NET_NOINTS=y
# CONFIG_NET_PROMISCUOUS is not set # CONFIG_NET_PROMISCUOUS is not set
# #