From edd2fe548d1c9b46625013e1dc24349256eb0fc9 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Mon, 24 Jul 2017 06:41:58 +0200 Subject: sorted out the rtl8139 submodels --- src/drivers/net/rtl8139.c | 64 ++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 37 deletions(-) diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c index bc48df8..297f89d 100644 --- a/src/drivers/net/rtl8139.c +++ b/src/drivers/net/rtl8139.c @@ -34,22 +34,19 @@ static rtl8139_vtable_t const rtl8139_vtable = { #define CMD_RECEIVER_ENABLE 0x08 #define CMD_TRANSMITTER_ENABLE 0x04 -#define TCR_HWVER_AM 0x7C000000 -#define TCR_HWVER_BM 0x00C00000 - -#define TCR_HWVER_RTL8139 0x60000000 -#define TCR_HWVER_RTL8139A 0x70000000 -/* -#define TCR_HWVER_RTL8139AG 0x74000000 -#define TCR_HWVER_RTL8139B 0x78000000 -#define TCR_HWVER_RTL8130 0x78000000 -#define TCR_HWVER_RTL8139C 0x74000000 -#define TCR_HWVER_RTL8100 0x78800000 -#define TCR_HWVER_RTL8100B 0x74400000 -*/ -#define TCR_HWVER_RTL8139CP 0x74800000 -#define TCR_HWVER_RTL8101 0x74C00000 -// 01111100 11000000 00000000 00000000 +#define TCR_MODEL_VERSION_AM 0x7C000000 +#define TCR_MODEL_VERSION_BM 0x00C00000 + +#define TCR_MODEL_VERSION_RTL8139 0x60000000 +#define TCR_MODEL_VERSION_RTL8139A 0x70000000 +#define TCR_MODEL_VERSION_RTL8139B 0x78000000 +#define TCR_MODEL_VERSION_RTL8130 0x78000000 +#define TCR_MODEL_VERSION_RTL8139AG 0x74000000 +#define TCR_MODEL_VERSION_RTL8139C 0x74000000 +#define TCR_MODEL_VERSION_RTL8100 0x78800000 +#define TCR_MODEL_VERSION_RTL8100B 0x74400000 +#define TCR_MODEL_VERSION_RTL8139CP 0x74800000 +#define TCR_MODEL_VERSION_RTL8101 0x74C00000 #define TCR_IFG_STANDARD 0x03000000 @@ -96,47 +93,40 @@ void rtl8139_init( rtl8139_t *rtl8139, pci_device_descriptor_t *descriptor, inte port8_write( &rtl8139->CMD_port, CMD_RECEIVER_ENABLE | CMD_TRANSMITTER_ENABLE ); // get model - uint32_t model_id = port32_read( &rtl8139->TCR_port ) & ( TCR_HWVER_AM | TCR_HWVER_BM ); + uint32_t model_id = port32_read( &rtl8139->TCR_port ) & ( TCR_MODEL_VERSION_AM | TCR_MODEL_VERSION_BM ); switch( model_id ) { - case TCR_HWVER_RTL8139: + case TCR_MODEL_VERSION_RTL8139: rtl8139->model = "RTL8139"; break; - case TCR_HWVER_RTL8139A: + case TCR_MODEL_VERSION_RTL8139A: rtl8139->model = "RTL8139A"; break; -/* - case TCR_HWVER_RTL8139AG: - rtl8139->model = "RTL8139A-G"; - break; - - case TCR_HWVER_RTL8139B: - rtl8139->model = "RTL8139B"; - break; - - case TCR_HWVER_RTL8130: - rtl8139->model = "RTL8130"; + //case TCR_MODEL_VERSION_RTL8139B: + case TCR_MODEL_VERSION_RTL8130: + rtl8139->model = "RTL8130/RTL8130B"; break; - case TCR_HWVER_RTL8139C: - rtl8139->model = "RTL8139C"; + // case TCR_MODEL_VERSION_RTL8139AG: + case TCR_MODEL_VERSION_RTL8139C: + rtl8139->model = "RTL8139A-G/RTL8139C"; break; - case TCR_HWVER_RTL8100: + case TCR_MODEL_VERSION_RTL8100: rtl8139->model = "RTL8100"; break; - case TCR_HWVER_RTL8100B: + case TCR_MODEL_VERSION_RTL8100B: rtl8139->model = "RTL8100B"; break; -*/ - case TCR_HWVER_RTL8139CP: + + case TCR_MODEL_VERSION_RTL8139CP: rtl8139->model = "RTL8139C+"; break; - case TCR_HWVER_RTL8101: + case TCR_MODEL_VERSION_RTL8101: rtl8139->model = "RTL8101"; break; -- cgit v1.2.3-54-g00ecf