From dc9c88668317d1d035512e4e46b2e1271285c5be Mon Sep 17 00:00:00 2001 From: Daniel DeGrasse Date: Tue, 5 Apr 2022 17:29:27 -0500 Subject: [PATCH] drivers: gpio: gpio_mcux_lpc: add pinmux setting support for IOPCTL add support for setting pinmux when using IOPCTL peripheral, as well as setting pin configuration properties. Signed-off-by: Daniel DeGrasse --- drivers/gpio/gpio_mcux_lpc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpio_mcux_lpc.c b/drivers/gpio/gpio_mcux_lpc.c index 422ef654ffd..8f8c93a22ef 100644 --- a/drivers/gpio/gpio_mcux_lpc.c +++ b/drivers/gpio/gpio_mcux_lpc.c @@ -88,8 +88,12 @@ static int gpio_mcux_lpc_configure(const struct device *dev, gpio_pin_t pin, *pinconfig |= IOPCTL_PIO_INBUF_EN; if ((flags & GPIO_SINGLE_ENDED) != 0) { - return -ENOTSUP; + *pinconfig |= IOPCTL_PIO_PSEDRAIN_EN; + } else { + *pinconfig &= ~IOPCTL_PIO_PSEDRAIN_EN; } + /* Select GPIO mux for this pin (func 0 is always GPIO) */ + *pinconfig &= ~(IOPCTL_PIO_FSEL_MASK); #else /* LPC SOCs */ volatile uint32_t *pinconfig;