drivers: usb_dc_mcux: Add Pinctrl defines
Add Pinctrl code
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
diff --git a/drivers/usb/device/Kconfig b/drivers/usb/device/Kconfig
index b84acb2..1267463 100644
--- a/drivers/usb/device/Kconfig
+++ b/drivers/usb/device/Kconfig
@@ -168,6 +168,7 @@
config USB_DC_NXP_LPCIP3511
bool "LPC USB Device Controller"
select USB_DC_HAS_HS_SUPPORT if "$(dt_nodelabel_enabled,usbhs)"
+ select PINCTRL
help
LPC USB Device Controller Driver.
diff --git a/drivers/usb/device/usb_dc_mcux.c b/drivers/usb/device/usb_dc_mcux.c
index d986e83..f0040ac 100644
--- a/drivers/usb/device/usb_dc_mcux.c
+++ b/drivers/usb/device/usb_dc_mcux.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019, NXP
+ * Copyright 2018-2023, NXP
* Copyright (c) 2019 PHYTEC Messtechnik GmbH
*
* SPDX-License-Identifier: Apache-2.0
@@ -14,6 +14,7 @@
#include <soc.h>
#include <zephyr/device.h>
#include <zephyr/kernel.h>
+#include <zephyr/drivers/pinctrl.h>
#include "usb.h"
#include "usb_device.h"
#include "usb_device_config.h"
@@ -915,6 +916,7 @@
static int usb_mcux_init(void)
{
+ int err;
k_thread_create(&dev_state.thread, dev_state.thread_stack,
CONFIG_USB_MCUX_THREAD_STACK_SIZE,
@@ -922,6 +924,14 @@
K_PRIO_COOP(2), 0, K_NO_WAIT);
k_thread_name_set(&dev_state.thread, "usb_mcux");
+ PINCTRL_DT_INST_DEFINE(0);
+
+ /* Apply pinctrl state */
+ err = pinctrl_apply_state(PINCTRL_DT_INST_DEV_CONFIG_GET(0), PINCTRL_STATE_DEFAULT);
+ if (err) {
+ return err;
+ }
+
return 0;
}
diff --git a/dts/bindings/usb/nxp,mcux-usbd.yaml b/dts/bindings/usb/nxp,mcux-usbd.yaml
index d39df8d..389f43e 100644
--- a/dts/bindings/usb/nxp,mcux-usbd.yaml
+++ b/dts/bindings/usb/nxp,mcux-usbd.yaml
@@ -6,7 +6,7 @@
compatible: "nxp,mcux-usbd"
-include: usb-ep.yaml
+include: [usb-ep.yaml, pinctrl-device.yaml]
properties:
reg: