drivers: all: mcux: remove conditional support for pinctrl
The MCUX platform always uses pinctrl, there's no need to keep extra macrology around pinctrl. Also updated driver's Kconfig options to `select PINCTRL` (note that some already did). Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit is contained in:
parent
3788ce3b8b
commit
989d103d53
30 changed files with 47 additions and 291 deletions
|
@ -8,6 +8,7 @@ config CAN_MCUX_FLEXCAN
|
|||
default y
|
||||
depends on DT_HAS_NXP_FLEXCAN_ENABLED
|
||||
depends on CLOCK_CONTROL
|
||||
select PINCTRL
|
||||
help
|
||||
Enable support for the NXP FlexCAN driver.
|
||||
|
||||
|
@ -37,5 +38,6 @@ config CAN_MCUX_MCAN
|
|||
depends on DT_HAS_NXP_LPC_MCAN_ENABLED
|
||||
depends on CLOCK_CONTROL
|
||||
select CAN_MCAN
|
||||
select PINCTRL
|
||||
help
|
||||
Enable support for mcux mcan driver.
|
||||
|
|
|
@ -20,10 +20,7 @@
|
|||
#include <fsl_flexcan.h>
|
||||
#include <zephyr/logging/log.h>
|
||||
#include <zephyr/irq.h>
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
#include <zephyr/drivers/pinctrl.h>
|
||||
#endif
|
||||
|
||||
LOG_MODULE_REGISTER(can_mcux_flexcan, CONFIG_CAN_LOG_LEVEL);
|
||||
|
||||
|
@ -107,9 +104,7 @@ struct mcux_flexcan_config {
|
|||
void (*irq_disable_func)(void);
|
||||
const struct device *phy;
|
||||
uint32_t max_bitrate;
|
||||
#ifdef CONFIG_PINCTRL
|
||||
const struct pinctrl_dev_config *pincfg;
|
||||
#endif /* CONFIG_PINCTRL */
|
||||
};
|
||||
|
||||
struct mcux_flexcan_rx_callback {
|
||||
|
@ -1238,12 +1233,10 @@ static int mcux_flexcan_init(const struct device *dev)
|
|||
}
|
||||
#endif /* CONFIG_CAN_MCUX_FLEXCAN_FD */
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
err = pinctrl_apply_state(config->pincfg, PINCTRL_STATE_DEFAULT);
|
||||
if (err != 0) {
|
||||
return err;
|
||||
}
|
||||
#endif
|
||||
|
||||
err = mcux_flexcan_get_core_clock(dev, &clock_freq);
|
||||
if (err != 0) {
|
||||
|
@ -1434,14 +1427,6 @@ static const struct can_driver_api mcux_flexcan_fd_driver_api = {
|
|||
FLEXCAN_IRQ_ENABLE_CODE(node_id, prop, idx); \
|
||||
} while (false);
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
#define FLEXCAN_PINCTRL_DEFINE(id) PINCTRL_DT_INST_DEFINE(id);
|
||||
#define FLEXCAN_PINCTRL_INIT(id) .pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(id),
|
||||
#else
|
||||
#define FLEXCAN_PINCTRL_DEFINE(id)
|
||||
#define FLEXCAN_PINCTRL_INIT(id)
|
||||
#endif /* CONFIG_PINCTRL */
|
||||
|
||||
#ifdef CONFIG_CAN_MCUX_FLEXCAN_FD
|
||||
#define FLEXCAN_MAX_BITRATE(id) \
|
||||
COND_CODE_1(DT_NODE_HAS_COMPAT(DT_DRV_INST(id), FLEXCAN_FD_DRV_COMPAT), \
|
||||
|
@ -1460,7 +1445,7 @@ static const struct can_driver_api mcux_flexcan_fd_driver_api = {
|
|||
#endif /* !CONFIG_CAN_MCUX_FLEXCAN_FD */
|
||||
|
||||
#define FLEXCAN_DEVICE_INIT_MCUX(id) \
|
||||
FLEXCAN_PINCTRL_DEFINE(id) \
|
||||
PINCTRL_DT_INST_DEFINE(id); \
|
||||
\
|
||||
static void mcux_flexcan_irq_config_##id(const struct device *dev); \
|
||||
static void mcux_flexcan_irq_enable_##id(void); \
|
||||
|
@ -1493,7 +1478,7 @@ static const struct can_driver_api mcux_flexcan_fd_driver_api = {
|
|||
.phy = DEVICE_DT_GET_OR_NULL(DT_INST_PHANDLE(id, phys)),\
|
||||
.max_bitrate = DT_INST_CAN_TRANSCEIVER_MAX_BITRATE(id, \
|
||||
FLEXCAN_MAX_BITRATE(id)), \
|
||||
FLEXCAN_PINCTRL_INIT(id) \
|
||||
.pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(id), \
|
||||
}; \
|
||||
\
|
||||
static struct mcux_flexcan_data mcux_flexcan_data_##id; \
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
#include <zephyr/device.h>
|
||||
#include <zephyr/drivers/can.h>
|
||||
#include <zephyr/drivers/clock_control.h>
|
||||
#ifdef CONFIG_PINCTRL
|
||||
#include <zephyr/drivers/pinctrl.h>
|
||||
#endif
|
||||
#include <zephyr/logging/log.h>
|
||||
#include <zephyr/irq.h>
|
||||
|
||||
|
@ -23,9 +21,7 @@ struct mcux_mcan_config {
|
|||
const struct device *clock_dev;
|
||||
clock_control_subsys_t clock_subsys;
|
||||
void (*irq_config_func)(const struct device *dev);
|
||||
#ifdef CONFIG_PINCTRL
|
||||
const struct pinctrl_dev_config *pincfg;
|
||||
#endif
|
||||
};
|
||||
|
||||
struct mcux_mcan_data {
|
||||
|
@ -52,12 +48,10 @@ static int mcux_mcan_init(const struct device *dev)
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
err = pinctrl_apply_state(mcux_config->pincfg, PINCTRL_STATE_DEFAULT);
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
#endif /* CONFIG_PINCTRL */
|
||||
|
||||
err = clock_control_on(mcux_config->clock_dev, mcux_config->clock_subsys);
|
||||
if (err) {
|
||||
|
@ -142,16 +136,8 @@ static const struct can_driver_api mcux_mcan_driver_api = {
|
|||
#endif /* CONFIG_CAN_FD_MODE */
|
||||
};
|
||||
|
||||
#ifdef CONFIG_PINCTRL
|
||||
#define MCUX_MCAN_PINCTRL_DEFINE(n) PINCTRL_DT_INST_DEFINE(n)
|
||||
#define MCUX_MCAN_PINCTRL_INIT(n) .pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n),
|
||||
#else
|
||||
#define MCUX_MCAN_PINCTRL_DEFINE(n)
|
||||
#define MCUX_MCAN_PINCTRL_INIT(n)
|
||||
#endif
|
||||
|
||||
#define MCUX_MCAN_INIT(n) \
|
||||
MCUX_MCAN_PINCTRL_DEFINE(n); \
|
||||
PINCTRL_DT_INST_DEFINE(n); \
|
||||
\
|
||||
static void mcux_mcan_irq_config_##n(const struct device *dev); \
|
||||
\
|
||||
|
@ -160,7 +146,7 @@ static const struct can_driver_api mcux_mcan_driver_api = {
|
|||
.clock_subsys = (clock_control_subsys_t) \
|
||||
DT_INST_CLOCKS_CELL(n, name), \
|
||||
.irq_config_func = mcux_mcan_irq_config_##n, \
|
||||
MCUX_MCAN_PINCTRL_INIT(n) \
|
||||
.pincfg = PINCTRL_DT_INST_DEV_CONFIG_GET(n), \
|
||||
}; \
|
||||
\
|
||||
static const struct can_mcan_config can_mcan_config_##n = \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue