drivers: gpio: mcux_lpc: Convert driver to use devicetree port prop
Move to using port property for a few cases in which we need to know which specific hardware port a device is for. This allows us to remove the PORT0/1 Kconfig options. This also fixes the issue that assumed pio0 would map to DT_INST(0) and pio1 would map to DT_INST(1) Fixes #35693 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
5fcbe5e099
commit
7f77240126
|
@ -9,14 +9,4 @@ config BOARD
|
||||||
default "lpcxpresso54114_m4" if BOARD_LPCXPRESSO54114_M4
|
default "lpcxpresso54114_m4" if BOARD_LPCXPRESSO54114_M4
|
||||||
default "lpcxpresso54114_m0" if BOARD_LPCXPRESSO54114_M0
|
default "lpcxpresso54114_m0" if BOARD_LPCXPRESSO54114_M0
|
||||||
|
|
||||||
if GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT0
|
|
||||||
default y
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT1
|
|
||||||
default y
|
|
||||||
|
|
||||||
endif # GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
endif # BOARD_LPCXPRESSO54114_M4 || BOARD_LPCXPRESSO54114_M0
|
endif # BOARD_LPCXPRESSO54114_M4 || BOARD_LPCXPRESSO54114_M0
|
||||||
|
|
|
@ -8,16 +8,6 @@ if BOARD_LPCXPRESSO55S16
|
||||||
config BOARD
|
config BOARD
|
||||||
default "lpcxpresso55S16"
|
default "lpcxpresso55S16"
|
||||||
|
|
||||||
if GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT0
|
|
||||||
default y
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT1
|
|
||||||
default y
|
|
||||||
|
|
||||||
endif # GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config FXOS8700_DRDY_INT1
|
config FXOS8700_DRDY_INT1
|
||||||
default y
|
default y
|
||||||
depends on FXOS8700_TRIGGER
|
depends on FXOS8700_TRIGGER
|
||||||
|
|
|
@ -8,16 +8,6 @@ if BOARD_LPCXPRESSO55S28
|
||||||
config BOARD
|
config BOARD
|
||||||
default "lpcxpresso55S28"
|
default "lpcxpresso55S28"
|
||||||
|
|
||||||
if GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT0
|
|
||||||
default y
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT1
|
|
||||||
default y
|
|
||||||
|
|
||||||
endif # GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config FXOS8700_DRDY_INT1
|
config FXOS8700_DRDY_INT1
|
||||||
default y
|
default y
|
||||||
depends on FXOS8700_TRIGGER
|
depends on FXOS8700_TRIGGER
|
||||||
|
|
|
@ -9,16 +9,6 @@ config BOARD
|
||||||
default "lpcxpresso55S69_cpu0" if BOARD_LPCXPRESSO55S69_CPU0
|
default "lpcxpresso55S69_cpu0" if BOARD_LPCXPRESSO55S69_CPU0
|
||||||
default "lpcxpresso55S69_cpu1" if BOARD_LPCXPRESSO55S69_CPU1
|
default "lpcxpresso55S69_cpu1" if BOARD_LPCXPRESSO55S69_CPU1
|
||||||
|
|
||||||
if GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT0
|
|
||||||
default y
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT1
|
|
||||||
default y
|
|
||||||
|
|
||||||
endif # GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config FXOS8700_DRDY_INT1
|
config FXOS8700_DRDY_INT1
|
||||||
default y
|
default y
|
||||||
depends on FXOS8700_TRIGGER
|
depends on FXOS8700_TRIGGER
|
||||||
|
|
|
@ -24,16 +24,6 @@ choice FLASH_MCUX_FLEXSPI_XIP_MEM_TARGET
|
||||||
default FLASH_MCUX_FLEXSPI_XIP_MEM_SRAM
|
default FLASH_MCUX_FLEXSPI_XIP_MEM_SRAM
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
if GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT0
|
|
||||||
default y
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT1
|
|
||||||
default y
|
|
||||||
|
|
||||||
endif # GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config FXOS8700_DRDY_INT1
|
config FXOS8700_DRDY_INT1
|
||||||
default y
|
default y
|
||||||
depends on FXOS8700_TRIGGER
|
depends on FXOS8700_TRIGGER
|
||||||
|
|
|
@ -3,24 +3,8 @@
|
||||||
# Copyright (c) 2017, NXP
|
# Copyright (c) 2017, NXP
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
menuconfig GPIO_MCUX_LPC
|
config GPIO_MCUX_LPC
|
||||||
bool "MCUX LPC GPIO driver"
|
bool "MCUX LPC GPIO driver"
|
||||||
depends on HAS_MCUX
|
depends on HAS_MCUX
|
||||||
help
|
help
|
||||||
Enable the MCUX LPC pinmux driver.
|
Enable the MCUX LPC pinmux driver.
|
||||||
|
|
||||||
if GPIO_MCUX_LPC
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT0
|
|
||||||
bool "Port 0"
|
|
||||||
depends on $(dt_nodelabel_enabled,pio0)
|
|
||||||
help
|
|
||||||
Enable Port 0.
|
|
||||||
|
|
||||||
config GPIO_MCUX_LPC_PORT1
|
|
||||||
bool "Port 1"
|
|
||||||
depends on $(dt_nodelabel_enabled,pio1)
|
|
||||||
help
|
|
||||||
Enable Port 1.
|
|
||||||
|
|
||||||
endif # GPIO_MCUX_LPC
|
|
||||||
|
|
|
@ -25,9 +25,6 @@
|
||||||
#include <fsl_inputmux.h>
|
#include <fsl_inputmux.h>
|
||||||
#include <fsl_device_registers.h>
|
#include <fsl_device_registers.h>
|
||||||
|
|
||||||
#define PORT0_IDX 0u
|
|
||||||
#define PORT1_IDX 1u
|
|
||||||
|
|
||||||
#define PIN_TO_INPUT_MUX_CONNECTION(port, pin) \
|
#define PIN_TO_INPUT_MUX_CONNECTION(port, pin) \
|
||||||
((PINTSEL_PMUX_ID << PMUX_SHIFT) + (32 * port) + (pin))
|
((PINTSEL_PMUX_ID << PMUX_SHIFT) + (32 * port) + (pin))
|
||||||
|
|
||||||
|
@ -359,7 +356,7 @@ static const struct gpio_driver_api gpio_mcux_lpc_driver_api = {
|
||||||
|
|
||||||
static const clock_ip_name_t gpio_clock_names[] = GPIO_CLOCKS;
|
static const clock_ip_name_t gpio_clock_names[] = GPIO_CLOCKS;
|
||||||
|
|
||||||
#ifdef CONFIG_GPIO_MCUX_LPC_PORT0
|
#if DT_NODE_HAS_STATUS(DT_DRV_INST(0), okay)
|
||||||
static int lpc_gpio_0_init(const struct device *dev);
|
static int lpc_gpio_0_init(const struct device *dev);
|
||||||
|
|
||||||
static const struct gpio_mcux_lpc_config gpio_mcux_lpc_port0_config = {
|
static const struct gpio_mcux_lpc_config gpio_mcux_lpc_port0_config = {
|
||||||
|
@ -373,8 +370,8 @@ static const struct gpio_mcux_lpc_config gpio_mcux_lpc_port0_config = {
|
||||||
#else
|
#else
|
||||||
.pinmux_base = IOCON,
|
.pinmux_base = IOCON,
|
||||||
#endif
|
#endif
|
||||||
.port_no = PORT0_IDX,
|
.port_no = DT_INST_PROP(0, port),
|
||||||
.clock_ip_name = gpio_clock_names[0],
|
.clock_ip_name = gpio_clock_names[DT_INST_PROP(0, port)],
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct gpio_mcux_lpc_data gpio_mcux_lpc_port0_data;
|
static struct gpio_mcux_lpc_data gpio_mcux_lpc_port0_data;
|
||||||
|
@ -431,9 +428,9 @@ static int lpc_gpio_0_init(const struct device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_GPIO_MCUX_LPC_PORT0 */
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_GPIO_MCUX_LPC_PORT1
|
#if DT_NODE_HAS_STATUS(DT_DRV_INST(1), okay)
|
||||||
static int lpc_gpio_1_init(const struct device *dev);
|
static int lpc_gpio_1_init(const struct device *dev);
|
||||||
|
|
||||||
static const struct gpio_mcux_lpc_config gpio_mcux_lpc_port1_config = {
|
static const struct gpio_mcux_lpc_config gpio_mcux_lpc_port1_config = {
|
||||||
|
@ -447,8 +444,8 @@ static const struct gpio_mcux_lpc_config gpio_mcux_lpc_port1_config = {
|
||||||
#else
|
#else
|
||||||
.pinmux_base = IOCON,
|
.pinmux_base = IOCON,
|
||||||
#endif
|
#endif
|
||||||
.port_no = PORT1_IDX,
|
.port_no = DT_INST_PROP(1, port),
|
||||||
.clock_ip_name = gpio_clock_names[1],
|
.clock_ip_name = gpio_clock_names[DT_INST_PROP(1, port)],
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct gpio_mcux_lpc_data gpio_mcux_lpc_port1_data;
|
static struct gpio_mcux_lpc_data gpio_mcux_lpc_port1_data;
|
||||||
|
@ -505,4 +502,4 @@ static int lpc_gpio_1_init(const struct device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_GPIO_MCUX_LPC_PORT1 */
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue