contiki/platform
Oliver Schmidt c2a71ee62b Updated several aspects regarding Ethernet drivers.
I. Build Ethernet drivers individually for each target.

After all the Ethernet cards/carts are different enough to ask for customized drivers. Building the drivers individually opens the option to use .ifdef's to customize them.

II. Removed Ethernet driver I/O base.

So far the base address of the Ethernet chip was a general property of all Ethernet drivers. It served two purposes:
1. Allowing to use a single Ethernet driver for a certain Ethernet chip, no matter what machine was connected to the chip.
2. Allowing use an Ethernet card in all Apple II slots.

However, we now use customized Ethernet drivers for the individual machines so 1.) isn't relevant anymore. In fact one wants to omit the overhead of a runtime-adjustable base address where it isn't needed.

So only the Apple II slots are left. But this should rather be a driver-internal approach then. We should just hand the driver the slot number the user wants to use and have the driver do its thing.

III. With per-target Ethernet drivers we can have per-target MAC addresses.

IV. Added support for RR-Net MK3 unique MAC addresses.

The RR-Net MK3 can be operated in two modes:

- In cartrigde mode it has a startup-ROM that sets the CS8900A MAC address to the unique MAC address.
- In clockport mode the driver has to read the two lowest MAC address bytes from the EEPROM and combine them with 28:CD:4C:FF.

See http://wiki.icomp.de/wiki/RR-Net#Detecting_MK3 for details.

The driver first checks if the current CS8900A MAC address starts with 28:CD:4C:FF. If it does, it overwrites its built in default MAC address with the CS8900A MAC address.

If the CS8900A MAC address didn't start with 28:CD:4C:FF, it checks if there are two valid MAC address bytes in the EEPROM. If they are there, it overwrites its built in default MAC address with a combination of 28:CD:4C:FF and those two bytes.

V. Added support for the upcoming 'Dracarys' Ethernet PBI for the ATARI.

See http://atariage.com/forums/topic/287376-preannouncement-dragon-cart-ii/ for details on Dracarys.

So far there was only one Ethernet solution for the ATARI. Therefore the relevant driver was loaded statically. With now having two solutions we have to load the corresponding driver dynamically (like on the other machines). Fortunately this doesn't mean significant additional overhead as there are several mouse drivers for the ATARI asking for dynamic mouse driver loading. Therefore the dynamic driver loading infrastructure was linked already.

Another aspect of more than one Ethernet solution is that the Ethernet config program becomes necessary on the ATARI to select the correct driver. Although that program is pretty simple and therefore rather small it means that now only one "major" program fits on a 130kB disk. So we need now 5(!) 130kB disk images instead 3 so far.
2019-05-08 16:46:47 +02:00
..
apple2enh Updated several aspects regarding Ethernet drivers. 2019-05-08 16:46:47 +02:00
atarixl Updated several aspects regarding Ethernet drivers. 2019-05-08 16:46:47 +02:00
avr-atmega128rfa1 Merge pull request #1463 from MichaelKlemm/FixUsingAtmega128RFA1 2016-04-21 14:30:35 +02:00
avr-raven packetbuf: No more splitting of header and data 2016-04-15 03:12:40 -07:00
avr-ravenlcd Merge pull request #756 from sieben/dos2unix 2015-10-18 20:26:07 +02:00
avr-ravenusb update for all platforms 2016-12-01 21:26:32 +02:00
avr-rcb packetbuf: No more splitting of header and data 2016-04-15 03:12:40 -07:00
avr-rss2 Driver for Plantower PMS 5003 dust sensors. 2017-10-10 10:34:10 +02:00
avr-zigbit Fixing Avr-Zigbit Makefile not compiling. 2017-01-04 16:58:53 -02:00
c64 Updated several aspects regarding Ethernet drivers. 2019-05-08 16:46:47 +02:00
c128 Updated several aspects regarding Ethernet drivers. 2019-05-08 16:46:47 +02:00
cc2530dk Remove definitions of outdated RPL_CONF_OF 2016-12-01 13:13:41 +01:00
cc2538dk Remove definitions of outdated RPL_CONF_OF 2016-12-01 13:13:41 +01:00
cooja Add RTIMERTICKS_TO_US_64() macro (platform/cooja) 2016-11-26 11:47:59 +01:00
cooja-ip64 Reimplement Rtimer of Cooja mote as a microsecond resolution timer 2016-09-06 15:14:10 +02:00
econotag update for all platforms 2016-12-01 21:26:32 +02:00
ev-aducrf101mkxz update for all platforms 2016-12-01 21:26:32 +02:00
eval-adf7xxxmb4z update for all platforms 2016-12-01 21:26:32 +02:00
exp5438 Csma: comply with IEEE 802.15.4 2016-04-25 08:52:48 -06:00
galileo Merge pull request #1835 from mdlemay/gp-exc-handler 2016-12-08 20:12:45 +01:00
jn516x Add basic contikimac parameters for jn516x 2017-03-08 15:25:55 +01:00
mbxxx Fix uip-ds.h table configuration comment 2016-09-05 20:59:36 +02:00
micaz update for all platforms 2016-12-01 21:26:32 +02:00
minimal-net added support for 6-bytes link-layer address 2016-08-27 22:30:32 +02:00
native update for all platforms 2016-12-01 21:26:32 +02:00
nrf52dk Fix semantic of UIP_ND6_SEND_NA and add UIP_ND6_SEND_NS 2017-01-16 15:48:14 +01:00
openmote-cc2538 Reduce bootloader baudrate to be on the safe side. 2017-01-10 10:59:06 +01:00
seedeye Fix uip-ds.h table configuration comment 2016-09-05 20:59:36 +02:00
sky Fix semantic of UIP_ND6_SEND_NA and add UIP_ND6_SEND_NS 2017-01-16 15:48:14 +01:00
srf06-cc26xx Use correct calibration data structure size 2017-09-26 18:42:48 +02:00
stm32nucleo-spirit1 Fix uip-ds.h table configuration comment 2016-09-05 20:59:36 +02:00
stm32test Network layer configuration: replace UIP_CONF_* with NETSTACK_CONF_WITH_* 2014-12-01 21:02:57 +01:00
win32 Removed CC_FASTCALL. 2015-11-01 18:10:17 +01:00
wismote Wismote: Added support for Battery voltage measurement 2016-09-17 11:41:30 +05:30
z1 Use hardware-AES on z1 as default 2016-12-22 20:08:19 +01:00
zoul Merge pull request #2024 from alignan/pull/eth-gw 2017-01-09 21:03:45 +00:00