63 Commits

Author SHA1 Message Date
Sebastian Huber
29f9822bac if_atsam: Recover from receive freezes
Under unknown conditions the receive path ended up in a frozen state.
In this state, the DMA and driver descriptor head were equal and all
receive descriptors had the used bit set.  So, the DMA was unable to
store received frames.  However, the receive daemon was never woken up
to refill the receive buffers.  It seems that the RXUBR interrupt can be
used to recover from this state.

Update #4651.
2022-06-01 09:55:25 +02:00
Sebastian Huber
62d320d478 if_atsam: Shorten sysctl names
Update #4651.
2022-06-01 09:55:25 +02:00
Sebastian Huber
c78ec59670 if_atsam: Add tx/rx desc sysctls
Update #4651.
2022-06-01 09:55:25 +02:00
Sebastian Huber
8e5a933345 if_atsam: Add register sysctls
Update #4651.
2022-06-01 09:55:25 +02:00
Sebastian Huber
f05e62515b if_atsam: Allow stats reset via sysctl
Update #4651.
2022-06-01 09:55:25 +02:00
Sebastian Huber
a661df04db if_atsam: Fix interface stop
Close #4651.
2022-05-11 16:09:00 +02:00
Sebastian Huber
c1b15c7558 if_atsam: Support transmit bpf
Update #4651.
2022-05-11 16:08:57 +02:00
Sebastian Huber
2a174be01e if_atsam: Do not use rtems_bsdnet_newproc()
Update #4651.
2022-05-11 16:08:53 +02:00
Sebastian Huber
245ca940bb if_atsam: Support IFCAP_VLAN_HWTAGGING
This is required to enable checksum offload for vlan interfaces.

Update #4651.
2022-05-11 16:08:50 +02:00
Sebastian Huber
204a4873d7 if_atsam: Optimize receive
Do not use the interface mutex in the receive loop.  Avoid multiple
reads of DMA descriptor words.  Use a compile-time constant for the
receive DMA descriptor count to simplify calculations.

Update #4651.
2022-05-11 16:08:46 +02:00
Sebastian Huber
1fee8dd095 if_atsam: Optimize transmit
Use the transmit interface handler to avoid a transmit task/interrupt.
Use a compile-time constant for the transmit DMA descriptor count to
simplify calculations.

Update #4651.
2022-05-11 16:08:42 +02:00
Sebastian Huber
58162da5f2 if_atsam: Add multicast support
Update #4651.
2022-05-11 16:08:38 +02:00
Sebastian Huber
1fe1bc6de4 if_atsam: Fix start/stop of interface
Update #4651.
2022-05-11 16:08:35 +02:00
Sebastian Huber
46ec9d75b3 if_atsam: Fix interrupt setup
The interrupt is enabled by rtems_interrupt_handler_install().

Update #4651.
2022-05-11 16:08:31 +02:00
Sebastian Huber
4780eff5c5 if_atsam: Do not disable the Ethernet CRC
The Ethernet CRC and padding must be always generated by the MAC.

Update #4651.
2022-05-11 16:08:28 +02:00
Sebastian Huber
79e742182f if_atsam: Enable all capabilities
Update #4651.
2022-05-11 16:08:24 +02:00
Sebastian Huber
a4b878cde8 if_atsam: Fix warnings
Update #4651.
2022-05-11 16:08:08 +02:00
Sebastian Huber
debc0aed8b NVD(4): Fix logical block count calculation
Close #4165.
2020-10-27 06:25:17 +01:00
Sebastian Huber
491666ad28 NVD(4): Fix NULL pointer access in nvd_sync()
Update #4165.
2020-10-27 06:24:58 +01:00
Sebastian Huber
e7291f7ac3 NVD(4): Add RTEMS-specific NVMe disk driver
Update #3821.
2019-11-13 13:22:23 +01:00
Sebastian Huber
eeb3fd5d9b if_atsam: Remove WDT_Disable()
The watchdog timer (WDT) can be configure only once.  Do not touch it in
the BSP since the application may want to use it.
2019-06-13 08:57:41 +02:00
Christian Mauderer
61575f5c44 Add PHY-driver for KSZ8091RNB with 50MHz.
This adds a driver for the KSZ8091RNB PHY. This PHY needs some special
treatment if it is clocked with a 50MHz clock.
2018-09-27 11:03:21 +02:00
Sebastian Huber
610349693d if_ffec_mpc8xx: Fix incoming data invalidation
With a write-back cache dirty cache lines may be evicted which could
overwrite new data.

Close #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
1b70957bd1 if_ffec_mpc8xx: Use M_NOWAIT for incoming frames
Update #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
d101ed8614 if_ffec_mpc8xx: New MDIO driver support
Update #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
457b4fc927 if_ffec_mpc8xx: Port driver to libbsd
Update #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
860d833e05 if_ffec_mpc8xx: Import legacy driver from RTEMS
Imported from RTEMS commit 1fe1b820de02c274c2b2b3431340152734ee9fb6
(2018-09-12).

Update #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
0f9d58f58b dw_mmc: Avoid conflicting device ivars
Do not overwrite the device ivars used by the simplebus.  Use
unspecified unit number for child device.
2018-09-11 11:36:28 +02:00
Christian Mauderer
b2a210ca3e if_atsam: Add checksum offload. 2018-03-21 09:14:25 +01:00
Sebastian Huber
bcaa8a28a2 dw_mmc: Properly init/reset DMA 2018-02-06 09:56:35 +01:00
Sebastian Huber
138bf250c2 dw_mmc: Add MMCBR_IVAR_TIMING 2018-02-06 09:56:35 +01:00
Sebastian Huber
c30fa94277 Add device tree support for Altera/Intel Cyclone V
Close #3290.
2018-02-06 09:55:31 +01:00
Sebastian Huber
13c409362d ehci_mpc83xx.c: Fix for qoriq hypervisor guest 2018-01-19 14:51:53 +01:00
Christian Mauderer
c6f4aa65ff if_atsam: Allow fixed MII settings. 2017-09-22 10:19:25 +02:00
Christian Mauderer
0190cfdd55 if_atsam: Move statistics to sysctl. 2017-09-22 10:17:26 +02:00
Christian Mauderer
80a7fe68a1 if-atsam: Port to rtems-libbsd. 2017-09-22 10:17:24 +02:00
Christian Mauderer
b16eca96c3 rtemsbsd/if-atsam: Copy from RTEMS.
Copied from RTEMS commit 146adb1edf from 17.07.2017.
2017-09-22 10:15:52 +02:00
Sebastian Huber
b43517be37 ohci: Fix for BSP_USB_OTG_TRANSCEIVER_I2C_ADDR 2017-07-18 08:33:00 +02:00
Sebastian Huber
3c967ca238 Use <sys/lock.h> provided by Newlib 2017-06-08 13:20:09 +02:00
Sebastian Huber
02373194fe Update due to Newlib 2017-06-07 changes
The following files are now provided by Newlib:

  * arpa/inet.h
  * net/if.h
  * netinet/in.h
  * netinet/tcp.h
  * sys/socket.h
  * sys/uio.h
  * sys/un.h

The <sys/param.h> and <sys/cpuset.h> are now compatible enough to be
used directly.

Update #2833.
2017-06-08 13:19:54 +02:00
Kevin Kirspel
e28a8d01c1 Add LPC32XX touch screen driver 2017-05-19 07:24:30 +02:00
Sebastian Huber
ae9e46d7c5 Fix dw_mmc dependencies 2017-03-01 10:49:05 +01:00
Kevin Kirspel
9f2205a3f5 Port LPC32XX Ethernet and USB OHCI to RTEMS 2017-02-14 09:40:01 +01:00
Sebastian Huber
c40e45b75e Update to FreeBSD head 2016-08-23
Git mirror commit 9fe7c416e6abb28b1398fd3e5687099846800cfd.
2017-01-10 09:53:31 +01:00
Sebastian Huber
e11f8e31f0 ohci: Fixes due to USB stack update 2016-10-07 07:24:42 +02:00
Sebastian Huber
2c563ed13a if_ffec_mcf548x.c: Fix include order 2016-09-23 09:54:49 +02:00
Christian Mauderer
07176074bd if_ffec_mcf548x: Init when interface is set to UP.
Call the driver initialization function if the interface is set to UP.
2016-08-05 13:11:46 +02:00
Sebastian Huber
3d1e767c8f Directly use <sys/types.h> provided by Newlib 2016-05-30 16:06:41 +02:00
Sebastian Huber
ba446132d4 dwc_otg: Port to RTEMS 2015-11-12 13:01:32 +01:00
Sebastian Huber
3cb5e9ef6d Update due to header guard changes 2015-07-23 15:38:50 +02:00