From b21da96e678edfd963cc0062a4ddd4001109a255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Th=C3=A9baudeau?= Date: Tue, 14 Jul 2015 18:54:45 +0200 Subject: [PATCH] enc28j60: Print revision during initialization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is useful as debug information since the revisions of this device have notable differences. Signed-off-by: Benoît Thébaudeau --- dev/enc28j60/enc28j60.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/dev/enc28j60/enc28j60.c b/dev/enc28j60/enc28j60.c index 0e6d86a44..7c5acc5f0 100644 --- a/dev/enc28j60/enc28j60.c +++ b/dev/enc28j60/enc28j60.c @@ -114,6 +114,7 @@ #define MAADR5 0x00 /* MAADR<15:8> */ #define MAADR6 0x01 /* MAADR<7:0> */ #define MISTAT 0x0a +#define EREVID 0x12 #define EPKTCNT_BANK 0x01 #define ERXFCON 0x18 @@ -233,6 +234,24 @@ softreset(void) bank = ERXTX_BANK; } /*---------------------------------------------------------------------------*/ +#if DEBUG +static uint8_t +readrev(void) +{ + uint8_t rev; + setregbank(MAADRX_BANK); + rev = readreg(EREVID); + switch(rev) { + case 2: + return 1; + case 6: + return 7; + default: + return rev; + } +} +#endif +/*---------------------------------------------------------------------------*/ static void reset(void) { @@ -464,6 +483,8 @@ enc28j60_init(uint8_t *mac_addr) reset(); + PRINTF("ENC28J60 rev. B%d\n", readrev()); + initialized = 1; } /*---------------------------------------------------------------------------*/