Skip to content

Commit 305ceba

Browse files
ahmzamkartben
authored andcommitted
drivers: eth: enc28j60: Misc fixes
- Bank select mask should be 0x03: | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | |------:|------:|------:|-------:|------:|-----:|-------:|-------:| | TXRST | RXRST | DMAST | CSUMEN | TXRTS | RXEN | BSEL1 | BSEL0 | See **REGISTER 3-1: ECON1: ETHERNET CONTROL REGISTER 1** - ENC28J60_BIT_PHCON2_HDLDIS should be 0x0100 |b15| b14 |b13 |b12|b11|b10 |b9|b8 |b7|b6|b5|b4|b3|b2|b1|b0| |--:|------:|-----:|--:|--:|------:|-:|------:|-:|-:|-:|-:|-:|-:|-:|-:| | - |FRCLNK |TXDIS |r |r |JABBER |r |HDLDIS |r |r |r |r |r |r |r |r | see **REGISTER 6-5: PHCON2: PHY CONTROL REGISTER 2** - remove duplicate definitions ENC28J60Data Sheet: https://ww1.microchip.com/downloads/en/DeviceDoc/39662c.pdf Signed-off-by: Ahmed Zamouche <[email protected]>
1 parent 1d4b1ad commit 305ceba

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed

drivers/ethernet/eth_enc28j60.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ static void eth_enc28j60_set_bank(const struct device *dev, uint16_t reg_addr)
7171

7272
if (!spi_transceive_dt(&config->spi, &tx, &rx)) {
7373
buf[0] = ENC28J60_SPI_WCR | ENC28J60_REG_ECON1;
74-
buf[1] = (buf[1] & 0xFC) | ((reg_addr >> 8) & 0x0F);
74+
buf[1] = (buf[1] & 0xFC) | ((reg_addr >> 8) & 0x03);
7575

7676
spi_write_dt(&config->spi, &tx);
7777
} else {

drivers/ethernet/eth_enc28j60_priv.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@
141141
#define ENC28J60_BIT_MICMD_MIIRD (0x01)
142142
#define ENC28J60_BIT_MISTAT_BUSY (0x01)
143143
#define ENC28J60_BIT_ESTAT_CLKRDY (0x01)
144-
#define ENC28J60_BIT_MACON1_MARXEN (0x01)
145144
#define ENC28J60_BIT_MACON1_RXPAUS (0x04)
146145
#define ENC28J60_BIT_MACON1_TXPAUS (0x08)
147146
#define ENC28J60_BIT_MACON1_MARXEN (0x01)
@@ -151,7 +150,6 @@
151150
#define ENC28J60_BIT_ECON1_TXRTS (0x08)
152151
#define ENC28J60_BIT_ECON1_RXEN (0x04)
153152
#define ENC28J60_BIT_ECON2_PKTDEC (0x40)
154-
#define ENC28J60_BIT_EIR_PKTIF (0x40)
155153
#define ENC28J60_BIT_EIE_TXIE (0x08)
156154
#define ENC28J60_BIT_EIE_PKTIE (0x40)
157155
#define ENC28J60_BIT_EIE_LINKIE (0x10)
@@ -166,7 +164,7 @@
166164
#define ENC28J60_BIT_ESTAT_TXABRT (0x02)
167165
#define ENC28J60_BIT_ESTAT_LATECOL (0x10)
168166
#define ENC28J60_BIT_PHCON1_PDPXMD (0x0100)
169-
#define ENC28J60_BIT_PHCON2_HDLDIS (0x0001)
167+
#define ENC28J60_BIT_PHCON2_HDLDIS (0x0100)
170168
#define ENC28J60_BIT_PHSTAT2_LSTAT (0x0400)
171169
#define ENC28J60_BIT_PHIE_PGEIE (0x0002)
172170
#define ENC28J60_BIT_PHIE_PLNKIE (0x0010)

0 commit comments

Comments
 (0)