History: nw_drv_eth_synopsys

This page describes all changes made to the nw_drv_eth_synopsys package, Network Driver for Synopsys, since its release.


3.17 (2021-04-20, 15:00):

  • Updated to work with nw_drv_base v5.6.
  • Warnings removed.

3.16 (2021-03-12, 18:22)

  • ETH_PHY_DEV_ADDR was missing for KSZ8031.
  • Fixed KSZ8031 specific version number and version file include.

3.15 (2020-07-13, 18:30)

  • Fixed register file to work with all PSP.
  • Updated STM32, XMC4500 and LPC435x PSP.

3.14 (2020-07-03, 15:00)

  • Fixed return values in function headers.
  • Extended descriptors are used in case checksum offload is enabled.
  • ETH_PHY_ADDR configuration option was moved to a PHY specific configuration file.
  • MII clock settings are moved to mii_read/write() functions.
  • ETH_PHY_DP83848 driver was extended to work with DP838xx PHYs.
  • Modified ADSP-SC589 PSP to work with ADSP-SC573

3.13 (2020-06-11, 19:00)

  • Introduced loopback mode.
  • Introduced core register file.
  • MACFFR register value is restored after core reset is done in synopsys_eth_drv_start().
  • Renamed variables to match the module name and replaced hard-coded values with definitions.
  • Updated ADSP-SC589 PSP files

3.12 (2020-04-10, 17:13)

  • Added configuration option for PHY speed and duplex mode.
  • Added PSP macros to convert between CPU and DMA addresses.
  • Added PSP configuration option to set Programmable Burst Length and multiplier.
  • Added PSP files for Infineon Aurix TC27x processor - Shieldbuddy board - FreeRTOS

3.11 (2020-03-05, 11:15):

  • Added support for Gigabit core variants (e.g. EMAC0 in ADSP-SC589).

3.10 (2020-02-21, 10:31):

  • Missing memory barrier added as safety precaution (in order to avoid possible unpredictable behaviour of the driver when built with compiler optimization enabled).
  • Added PSP for ADSP-SC589 EZ-BOARD with FreeRTOS

3.9 (2020-02-19, 15:52):

  • Added support for promiscuous mode

3.8 (2020-02-19, 15:51):

  • Fixed register name usage.

3.7r2 (2018-08-29, 18:21):

  • Document HTML link added to the documentation folder.
  • History and document files renamed to the package name


  • Fixed operation for the case when link partner does not support Auto-negotiation.


  • Transmission could sporadically fail on STM32F7xx due to DMA miss caused by missing data memory barrier.


  • DMA descriptors were moved PSP sources.


  • Driver might have failed to catch unicast frames addressed to the own MAC address.
  • Driver could occasionally stop after large amount of sent/received frames.
  • Warnings eliminated.


  • MAC address configuration extended in order to be compatible with XMC4500.


  • Support for tagged packets added.


  • Renamed from stm32 to synopsys as this IP core is available in other controllers as well.
  • Ethernet buffer allocated in the PSP, not in the driver.
  • Added support for devices with internal FIFO smaller than the maximum size of an Ethernet packet.


  • ETH_USE_RMII and ETH_PROVIDE_MCO configuration options are moved to PSP-related configuration file.


  • Warnings removed.
  • psp specific includes always included via psp_eth_stm32.h.
  • psp_eth_stm32.h moved to psp/target/eth.


  • Stop, start functions did not work as buffers descriptors were not released correctly.
  • Required package version checks added.


  • Updated to work with NWDRIVE major version 5.


  • Code cleanup (needless code/variables removed, etc.)


  • Platform-specific code placed to psp directory.
  • Fixed frame size for receive.


  • Added new functions stm32_eth_drv_set_filter() and stm32_eth_drv_set_multicast_table().
  • Sources relocated to driver/network/ethernet/stm32.


  • Callbacks not called anymore for erroneous transfers.


  • init(), start() reorganized.
  • Configurable default MAC address set at initialization.


  • Added API function stm32_eth_drv_set_mac_addr().


  • hcc_timer handling changed to fix stopip/startip problems.


  • ETH_LINK_STA_POLLED introduced for polled link status.


  • Modified for new IP stack.


  • added start, stop, delete functions.


  • Initial revision.