From 131185a2b84de5432c33b2aa46bff8c2354297ca Mon Sep 17 00:00:00 2001 From: Damien George <damien.p.george@gmail.com> Date: Mon, 12 Jan 2015 16:13:29 +0000 Subject: [PATCH] stmhal: Add MICROPY_HW_USB_OTG_ID_PIN config, set for relevant boards. This config option is for the USB OTG pin, pin A10. This is used on some boards but not others. Eg PYBv3 uses PA10 for LED(2), so it shouldn't be used for OTG ID (actually PA10 is multiplexed on this board, but defaults to LED(2)). Partially addresses issue #1059. --- stmhal/boards/HYDRABUS/mpconfigboard.h | 3 +++ stmhal/boards/NETDUINO_PLUS_2/stm32f4xx_hal_conf.h | 1 - stmhal/boards/PYBV10/mpconfigboard.h | 3 ++- stmhal/boards/PYBV4/mpconfigboard.h | 3 ++- stmhal/boards/STM32F4DISC/mpconfigboard.h | 3 ++- stmhal/usbd_conf.c | 7 ++----- 6 files changed, 11 insertions(+), 9 deletions(-) diff --git a/stmhal/boards/HYDRABUS/mpconfigboard.h b/stmhal/boards/HYDRABUS/mpconfigboard.h index 9a3f05452..0109930ca 100644 --- a/stmhal/boards/HYDRABUS/mpconfigboard.h +++ b/stmhal/boards/HYDRABUS/mpconfigboard.h @@ -37,3 +37,6 @@ #define MICROPY_HW_SDCARD_DETECT_PIN (pin_A8) #define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP) #define MICROPY_HW_SDCARD_DETECT_PRESENT (1) + +// USB config +#define MICROPY_HW_USB_OTG_ID_PIN (pin_A10) diff --git a/stmhal/boards/NETDUINO_PLUS_2/stm32f4xx_hal_conf.h b/stmhal/boards/NETDUINO_PLUS_2/stm32f4xx_hal_conf.h index 8d1563566..f266732d5 100644 --- a/stmhal/boards/NETDUINO_PLUS_2/stm32f4xx_hal_conf.h +++ b/stmhal/boards/NETDUINO_PLUS_2/stm32f4xx_hal_conf.h @@ -48,7 +48,6 @@ #define STM32F405xx #define USE_USB_FS -#define USE_USB_OTG_ID 0 /* ########################## Module Selection ############################## */ /** diff --git a/stmhal/boards/PYBV10/mpconfigboard.h b/stmhal/boards/PYBV10/mpconfigboard.h index 48c40e993..25472ba69 100644 --- a/stmhal/boards/PYBV10/mpconfigboard.h +++ b/stmhal/boards/PYBV10/mpconfigboard.h @@ -39,5 +39,6 @@ #define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP) #define MICROPY_HW_SDCARD_DETECT_PRESENT (GPIO_PIN_RESET) -// USB VBUS detect pin +// USB config #define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9) +#define MICROPY_HW_USB_OTG_ID_PIN (pin_A10) diff --git a/stmhal/boards/PYBV4/mpconfigboard.h b/stmhal/boards/PYBV4/mpconfigboard.h index a72da6f52..6663175f7 100644 --- a/stmhal/boards/PYBV4/mpconfigboard.h +++ b/stmhal/boards/PYBV4/mpconfigboard.h @@ -38,5 +38,6 @@ #define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP) #define MICROPY_HW_SDCARD_DETECT_PRESENT (GPIO_PIN_RESET) -// USB VBUS detect pin +// USB config #define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9) +#define MICROPY_HW_USB_OTG_ID_PIN (pin_A10) diff --git a/stmhal/boards/STM32F4DISC/mpconfigboard.h b/stmhal/boards/STM32F4DISC/mpconfigboard.h index b2ccefda5..bf26f641d 100644 --- a/stmhal/boards/STM32F4DISC/mpconfigboard.h +++ b/stmhal/boards/STM32F4DISC/mpconfigboard.h @@ -33,5 +33,6 @@ #define MICROPY_HW_LED_ON(pin) (pin->gpio->BSRRL = pin->pin_mask) #define MICROPY_HW_LED_OFF(pin) (pin->gpio->BSRRH = pin->pin_mask) -// USB VBUS detect pin +// USB config #define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9) +#define MICROPY_HW_USB_OTG_ID_PIN (pin_A10) diff --git a/stmhal/usbd_conf.c b/stmhal/usbd_conf.c index 2ff31c989..eddf1d626 100644 --- a/stmhal/usbd_conf.c +++ b/stmhal/usbd_conf.c @@ -33,10 +33,6 @@ #include "stm32f4xx_hal.h" #include "usbd_core.h" -#if !defined(USE_USB_OTG_ID) -#define USE_USB_OTG_ID 1 -#endif - /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ @@ -79,7 +75,8 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd) HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); #endif -#if USE_USB_OTG_ID +#if defined(MICROPY_HW_USB_OTG_ID_PIN) + // USB ID pin is always A10 GPIO_InitStruct.Pin = GPIO_PIN_10; GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; GPIO_InitStruct.Pull = GPIO_PULLUP; -- GitLab