From 088990f7d32be1db3fabf191dca88a8e227fc820 Mon Sep 17 00:00:00 2001 From: aozima Date: Sat, 5 May 2018 13:16:11 +0800 Subject: [PATCH] update enc28j60 driver: ensure enable PHY link changed interrupt. --- components/drivers/spi/enc28j60.c | 2 ++ components/drivers/spi/enc28j60.h | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/components/drivers/spi/enc28j60.c b/components/drivers/spi/enc28j60.c index 9266325581..1daaea367a 100644 --- a/components/drivers/spi/enc28j60.c +++ b/components/drivers/spi/enc28j60.c @@ -321,6 +321,8 @@ static rt_err_t enc28j60_init(rt_device_t dev) enc28j60_phy_write(spi_device, PHCON1, PHCON1_PDPXMD); // full duplex // no loopback of transmitted frames enc28j60_phy_write(spi_device, PHCON2, PHCON2_HDLDIS); + /* enable PHY link changed interrupt. */ + enc28j60_phy_write(spi_device, PHIE, PHIE_PGEIE | PHIE_PLNKIE); enc28j60_set_bank(spi_device, ECON2); spi_write_op(spi_device, ENC28J60_BIT_FIELD_SET, ECON2, ECON2_AUTOINC); diff --git a/components/drivers/spi/enc28j60.h b/components/drivers/spi/enc28j60.h index 966f81eb5d..1207efdec6 100644 --- a/components/drivers/spi/enc28j60.h +++ b/components/drivers/spi/enc28j60.h @@ -221,6 +221,12 @@ #define PHCON2_TXDIS 0x2000 #define PHCON2_JABBER 0x0400 #define PHCON2_HDLDIS 0x0100 +/* ENC28J60 PHY PHIE Register Bit Definitions */ +#define PHIE_PLNKIE (1 << 4) +#define PHIE_PGEIE (1 << 1) +/* ENC28J60 PHY PHIR Register Bit Definitions */ +#define PHIR_PLNKIF (1 << 4) +#define PHIR_PGEIF (1 << 1) // ENC28J60 Packet Control Byte Bit Definitions #define PKTCTRL_PHUGEEN 0x08 -- GitLab