From 90b0e925406c80ff7b1ff21be816ac27c20508d6 Mon Sep 17 00:00:00 2001 From: Erwan Gouriou Date: Mon, 8 Nov 2021 13:49:13 +0100 Subject: [PATCH] drivers/usb/device: stm32: use new pinctrl API Use the new pinctrl API to configure pins. Additionally, rename usb_pinctrl to usb_pcfg to better fit new pinctrl API. Signed-off-by: Erwan Gouriou --- drivers/usb/device/usb_dc_stm32.c | 11 +++++------ dts/bindings/usb/st,stm32-otgfs.yaml | 12 +----------- dts/bindings/usb/st,stm32-otghs.yaml | 13 +------------ dts/bindings/usb/st,stm32-usb.yaml | 12 +----------- 4 files changed, 8 insertions(+), 40 deletions(-) diff --git a/drivers/usb/device/usb_dc_stm32.c b/drivers/usb/device/usb_dc_stm32.c index a4d70579022..8e9f610dcbd 100644 --- a/drivers/usb/device/usb_dc_stm32.c +++ b/drivers/usb/device/usb_dc_stm32.c @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include "stm32_hsem.h" #define LOG_LEVEL CONFIG_USB_DRIVER_LOG_LEVEL @@ -60,9 +60,10 @@ LOG_MODULE_REGISTER(usb_dc_stm32); #if DT_INST_NODE_HAS_PROP(0, maximum_speed) #define USB_MAXIMUM_SPEED DT_INST_PROP(0, maximum_speed) #endif -static const struct soc_gpio_pinctrl usb_pinctrl[] = - ST_STM32_DT_INST_PINCTRL(0, 0); +PINCTRL_DT_INST_DEFINE(0) +static const struct pinctrl_dev_config *usb_pcfg = + PINCTRL_DT_INST_DEV_CONFIG_GET(0); #define USB_OTG_HS_EMB_PHY (DT_HAS_COMPAT_STATUS_OKAY(st_stm32_usbphyc) && \ DT_HAS_COMPAT_STATUS_OKAY(st_stm32_otghs)) @@ -412,9 +413,7 @@ static int usb_dc_stm32_init(void) #endif LOG_DBG("Pinctrl signals configuration"); - status = stm32_dt_pinctrl_configure(usb_pinctrl, - ARRAY_SIZE(usb_pinctrl), - (uint32_t)usb_dc_stm32_state.pcd.Instance); + status = pinctrl_apply_state(usb_pcfg, PINCTRL_STATE_DEFAULT); if (status < 0) { LOG_ERR("USB pinctrl setup failed (%d)", status); return status; diff --git a/dts/bindings/usb/st,stm32-otgfs.yaml b/dts/bindings/usb/st,stm32-otgfs.yaml index 68c9ef7bd69..4f46a8d4a30 100644 --- a/dts/bindings/usb/st,stm32-otgfs.yaml +++ b/dts/bindings/usb/st,stm32-otgfs.yaml @@ -5,7 +5,7 @@ description: STM32 OTGFS controller compatible: "st,stm32-otgfs" -include: usb-ep.yaml +include: [usb-ep.yaml, pinctrl-device.yaml] properties: reg: @@ -28,13 +28,3 @@ properties: clocks: required: true - - pinctrl-0: - type: phandles - required: false - description: | - Pin configuration for USB OTG FS signals (DM/DP/SOF/ID/VBUS). - We expect that the phandles will reference pinctrl nodes. - - For example: - <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>; diff --git a/dts/bindings/usb/st,stm32-otghs.yaml b/dts/bindings/usb/st,stm32-otghs.yaml index 533f710e265..ea857222d85 100644 --- a/dts/bindings/usb/st,stm32-otghs.yaml +++ b/dts/bindings/usb/st,stm32-otghs.yaml @@ -5,7 +5,7 @@ description: STM32 OTGHS controller compatible: "st,stm32-otghs" -include: usb-ep.yaml +include: [usb-ep.yaml, pinctrl-device.yaml] properties: reg: @@ -28,14 +28,3 @@ properties: clocks: required: true - - pinctrl-0: - type: phandles - required: false - description: | - Pin configuration for USB OTG HS signals (DM/DP/SOF/ID/VBUS and - ULPI_DIR/ULPI_STP/ULPI_NXT/ULPI_D[0-7]). - We expect that the phandles will reference pinctrl nodes. - - For example: - <&usb_otg_hs_dm_pa11 &usb_otg_hs_dp_pa12>; diff --git a/dts/bindings/usb/st,stm32-usb.yaml b/dts/bindings/usb/st,stm32-usb.yaml index d03d26c53be..5b4d9596acd 100644 --- a/dts/bindings/usb/st,stm32-usb.yaml +++ b/dts/bindings/usb/st,stm32-usb.yaml @@ -5,7 +5,7 @@ description: STM32 USB controller compatible: "st,stm32-usb" -include: usb-ep.yaml +include: [usb-ep.yaml, pinctrl-device.yaml] properties: reg: @@ -43,13 +43,3 @@ properties: clocks: required: true - - pinctrl-0: - type: phandles - required: false - description: | - Pin configuration for USB signals (DM/DP/NOE). - We expect that the phandles will reference pinctrl nodes. - - For example: - <&usb_dm_pa11 &usb_dp_pa12>;