drivers: enc28j60: convert to new GPIO API

Convert ENC28J60 controller driver to new GPIO API.

Signed-off-by: Johann Fischer <j.fischer@phytec.de>
This commit is contained in:
Johann Fischer 2020-01-23 00:56:28 +01:00 committed by Carles Cufí
commit 91fad730a6
3 changed files with 12 additions and 7 deletions

View file

@ -694,10 +694,8 @@ static int eth_enc28j60_init(struct device *dev)
} }
if (gpio_pin_configure(context->gpio, config->gpio_pin, if (gpio_pin_configure(context->gpio, config->gpio_pin,
(GPIO_DIR_IN | GPIO_INT | GPIO_INT_EDGE GPIO_INPUT | config->gpio_flags)) {
| GPIO_INT_ACTIVE_LOW | GPIO_INT_DEBOUNCE))) { LOG_ERR("Unable to configure GPIO pin %u", config->gpio_pin);
LOG_ERR("Unable to configure GPIO pin %u",
config->gpio_pin);
return -EINVAL; return -EINVAL;
} }
@ -708,9 +706,9 @@ static int eth_enc28j60_init(struct device *dev)
return -EINVAL; return -EINVAL;
} }
if (gpio_pin_enable_callback(context->gpio, config->gpio_pin)) { gpio_pin_interrupt_configure(context->gpio,
return -EINVAL; config->gpio_pin,
} GPIO_INT_EDGE_TO_ACTIVE);
if (eth_enc28j60_soft_reset(dev)) { if (eth_enc28j60_soft_reset(dev)) {
LOG_ERR("Soft-reset failed"); LOG_ERR("Soft-reset failed");
@ -763,6 +761,7 @@ static struct eth_enc28j60_runtime eth_enc28j60_0_runtime = {
static const struct eth_enc28j60_config eth_enc28j60_0_config = { static const struct eth_enc28j60_config eth_enc28j60_0_config = {
.gpio_port = DT_INST_0_MICROCHIP_ENC28J60_INT_GPIOS_CONTROLLER, .gpio_port = DT_INST_0_MICROCHIP_ENC28J60_INT_GPIOS_CONTROLLER,
.gpio_pin = DT_INST_0_MICROCHIP_ENC28J60_INT_GPIOS_PIN, .gpio_pin = DT_INST_0_MICROCHIP_ENC28J60_INT_GPIOS_PIN,
.gpio_flags = DT_INST_0_MICROCHIP_ENC28J60_INT_GPIOS_FLAGS,
.spi_port = DT_INST_0_MICROCHIP_ENC28J60_BUS_NAME, .spi_port = DT_INST_0_MICROCHIP_ENC28J60_BUS_NAME,
.spi_freq = DT_INST_0_MICROCHIP_ENC28J60_SPI_MAX_FREQUENCY, .spi_freq = DT_INST_0_MICROCHIP_ENC28J60_SPI_MAX_FREQUENCY,
.spi_slave = DT_INST_0_MICROCHIP_ENC28J60_BASE_ADDRESS, .spi_slave = DT_INST_0_MICROCHIP_ENC28J60_BASE_ADDRESS,

View file

@ -216,6 +216,7 @@
struct eth_enc28j60_config { struct eth_enc28j60_config {
const char *gpio_port; const char *gpio_port;
u8_t gpio_pin; u8_t gpio_pin;
gpio_devicetree_flags_t gpio_flags;
const char *spi_port; const char *spi_port;
u8_t spi_cs_pin; u8_t spi_cs_pin;
const char *spi_cs_port; const char *spi_cs_port;

View file

@ -11,3 +11,8 @@ properties:
int-gpios: int-gpios:
type: phandle-array type: phandle-array
required: true required: true
description: Interrupt pin.
The interrupt pin of ENC28J60 is active low.
If connected directly the MCU pin should be configured
as active low.