summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/shared/net/greth.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-01-12GRETH: Interrupt Handler Uses Wrong EventsChristian Spindeldreier1-1/+1
closes #2796.
2015-04-17DRVMGR: KEY_TYPE now a enum drvmgr_ktDaniel Hellstrom1-3/+3
2015-04-17sparc bsps: updated license to rtems.orgDaniel Hellstrom1-1/+1
2015-04-17LEON: move driver headers to bsp/ directoryDaniel Hellstrom1-1/+1
2015-04-17GRETH: fix build warnings with GCC-4.9Daniel Hellstrom1-20/+23
2015-04-17GRETH: avoid hw generated UDP/TCP cksum generationDaniel Hellstrom1-2/+2
Hardware generated checksum UDP packets does not work for IP fragmented UDP packets. It seems as if the BSD stack never signals to the GRETH driver to generate or not to generate TCP/UDP checksum for different cases. The GRETH driver never tells the BSD stack about it capabilities either so there is no point generating the cksums in HW when its done in SW any way. This patch disables hardware generated UDP and TCP checksums.
2015-04-17GRETH: cleaned up parts of PHY init codeDaniel Hellstrom1-19/+14
2015-04-17GRETH: changed the PHY initialization sequenceDaniel Hellstrom1-13/+67
1. read_mii() now returns 0xffff on failure. It is more robust when it comes to reading the reset bit in the control register, that is the first access. 2. write_mii() now has error printout like read_mii(). 3. Additional (optional) PHY access debugging is now available by enabling GRETH_DEBUG_MII. Even successful accesses are printed. 4. Let PHY do power-down (not only reset) to get in a good state, this is just in case the PHY input pin settings are sampled only on PHY power-up on some PHYs. 5. PHY GBit advertisement is disabled if Gbit is not supported by MAC. Or forced if supported. 6. Auto-nego is started if supported by PHY, before it was started only if default set by PHY. 7. Reset Sequence updated: * one must wait until reset bit is self-cleared. * the DD (Disable Duplex Detection) bit is set, only affects EDCL capable devices. This lets RTEMS handle PHY initialization
2015-04-17GRETH: forcing autonegotiation during PHY initializationDaniel Hellstrom1-6/+11
Looking at PHY Ctrl register without reseting it will give back old register content, that is not stable. Instead the PHY is reset and the autonogotiation capability is read out and started if present.
2015-04-17GRETH: updated worker Deamon thread nameDaniel Hellstrom1-1/+3
The name was probably copied from the DEC21140 driver
2015-04-17LEON: added new drivers to the LEON2/LEON3 BSPsDaniel Hellstrom1-200/+430
Most drivers use the Driver Manager for device probing, they work on AMBA-over-PCI systems if PCI is big-endian. New APIs: * GPIO Library, interfaced to GRGPIO * GENIRQ, Generic interrupt service implementation helper New GRLIB Drivers: * ACTEL 1553 RT, user interface is similar to 1553 BRM driver * GR1553 (1553 BC, RT and BM core) * AHBSTAT (AHB error status core) * GRADCDAC (Core interfacing to ADC/DAC hardware) * GRGPIO (GPIO port accessed from GPIO Library) * MCTRL (Memory controller settings configuration) * GRETH (10/100/1000 Ethernet driver using Driver manager) * GRPWM (Pulse Width Modulation core) * SPICTRL (SPI master interface) * GRSPW_ROUTER (SpaceWire Router AMBA configuration interface) * GRCTM (SpaceCraft on-board Time Management core) * SPWCUC (Time distribution over SpaceWire) * GRTC (SpaceCraft up-link Tele core) * GRTM (SpaceCraft down-link Tele Metry core) GR712RC ASIC specific interfaces: * GRASCS * CANMUX (select between OCCAN and SATCAN) * SATCAN * SLINK
2014-06-05GRETH: remove TCP/UDP HW checksum generationDaniel Hellstrom1-2/+2
The GRETH doesn't support IP fragments.
2014-03-21greth: Make local functions static, remove overflow and correct printf call.Daniel Cederman1-6/+8
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2013-06-19greth: do not advertise 1000M capability if MAC does not support it.Jiri Gaisler1-0/+11
2013-06-19greth: prefer full duplex if availableJiri Gaisler1-3/+3
2012-11-02libnetworking: Use system eventsSebastian Huber1-1/+1
Add reserved system events RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT and RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP. Add and use rtems_bsdnet_event_send().
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+0
Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
2012-04-06GRETH: use shared-irq service instead of BSP specific set_vec()Daniel Hellstrom1-22/+14
The ISR code is updated to use argument instead of global greth structure, now that the greth private is available in the ISR. The shared-irq routines will unmask the IRQ, so the forced LEON3 BSP unmask/clear IRQ is removed. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-29GRETH: removed the use of rtems_set_clock() in auto-nego timeoutDaniel Hellstrom1-29/+18
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-03-27GRETH: added support for non-snooping GRETH 10/100 systemsDaniel Hellstrom1-7/+61
When data cache snooping is not present the cache needs flushing, the SPARC LEON CPUs does not have to ability to flush individual cache rows and flushing all cache is expensive. Instead the LDA instruction is used to force cache miss on individual loads during the IP-align copy operation required anyway. GRETH GBIT non-snooping systems are still unsupported, since it use zero-copy (can deal with unaligned DMA). Let the bsp.h select if the GRETH driver is supported. Currently only the LEON2/LEON3 platforms BSPs builds the driver. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-02-02PR 2011/networking - GRETH: performance improvements and one bugfixJoel Sherrill1-179/+316
GRETH driver updated, 10-15% performance improvements for GBIT MAC, unnecessary RX interrupts not taken which under heavy load saves approx. 1500 interrupts/s, one task removed saving about 5kb memory and 1 bug solved. BUG: RX interrupt was enabled before the RX-daemon was created which could result in a faulty call to rtems_event_send. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2012-02-02PR 2011/networking GRETH: Moved print to remove potential deadlockJoel Sherrill1-2/+11
Deadlock may arise when the EDCL bug link is used to tunnel console output over Ethernet, when Ethernet is down one should avoid using console (only during debugging of LEON targets) Author: Marko Isomaki <marko@gaisler.com> Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
2011-10-092011-10-09 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-1/+1
* libchip/network/greth.c, libchip/network/open_eth.c libchip/network/sonic.c: Eliminate evil typecasts. * libchip/network/greth.h, libchip/network/open_eth.h, libchip/network/sonic.h: Use void* for addresses.
2011-01-282011-01-28 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill1-1/+1
* src/libchip/network/dec21140.c, src/libchip/network/elnk.c, src/libchip/network/greth.c, src/libchip/network/greth.h, src/libchip/network/open_eth.c: Fix typo where license said found in found in.
2010-08-202010-08-20 <yann.sionneau@telecom-sudparis.eu>Joel Sherrill1-0/+2
* libchip/network/greth.c, libchip/network/open_eth.c: Add constants for buffer modes.
2010-05-312010-05-31 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-6/+13
* libchip/network/greth.c: Misc. hacks to allow compilation on 16bit targets.
2009-12-172009-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill1-8/+8
* libchip/network/greth.c: Eliminate unused type rtems_clock_time_value.
2009-11-30Whitespace removal.Ralf Corsepius1-47/+47
2007-09-072007-09-07 Daniel Hellstrom <daniel@gaisler.com>Joel Sherrill1-166/+474
* libchip/network/greth.c, libchip/network/greth.h: GRETH_GBIT support and GBIT PHY support for 10/100 MAC, also auto negotiation updated.
2007-03-122007-03-12 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* libchip/network/cs8900.c, libchip/network/cs8900.h, libchip/network/greth.c, libchip/network/greth.h: Correct license URL and/or fix mistake in copyright notice. Both of these mistakes appear to be from code submitted after these changes were made previously.
2006-09-042006-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-0/+4
* libchip/network/greth.c, libchip/network/open_eth.c, libchip/network/smc91111.c, libchip/network/sonic.c: Fix error introduced by warning removal.
2006-09-012006-09-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-1/+1
* libchip/network/greth.c, libchip/network/open_eth.c, libchip/network/smc91111.c: Remove warnings and correct prototype added earlier today.
2006-09-012006-09-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-2/+5
* libchip/network/cs8900.c, libchip/network/greth.c, libchip/network/i82586.c, libchip/network/open_eth.c, libchip/network/sonic.c: Remove warnings -- use uintptr_t, properly sized integers, and inttypes.h printf helpers.
2006-07-112006-07-11 Jerry Needell <jerry.needell@unh.edu>Joel Sherrill1-0/+678
* libchip/Makefile.am, libchip/preinstall.am: Merge SPARC updates from 4.6 branch. Original modifications by Gaisler Enterprises. * libchip/network/greth.c, libchip/network/greth.h: New files.