Skip to content

Commit 18a6b96

Browse files
committed
STM32 USBHOST: Add support of DISCO_F469NI and DISCO_F769NI
1 parent 8416afa commit 18a6b96

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

features/unsupported/USBHost/targets/TARGET_STM/USBHALHost_STM.h

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
//#define TARGET_DISCO_F746NG_HS
2525
#endif
2626

27-
#if defined(TARGET_DISCO_F429ZI) || defined(TARGET_DISCO_F746NG_HS)
27+
#if defined(TARGET_DISCO_F429ZI) || defined(TARGET_DISCO_F746NG_HS) || defined(TARGET_DISCO_F769NI)
2828
#define USBHAL_IRQn OTG_HS_IRQn
2929
#else
3030
#define USBHAL_IRQn OTG_FS_IRQn
@@ -87,6 +87,11 @@ static gpio_t gpio_powerpin;
8787
#define USB_POWER_OFF 1
8888
#define USB_POWERPIN_CONFIG {__HAL_RCC_GPIOC_CLK_ENABLE();gpio_init_out_ex(&gpio_powerpin, PC_4, USB_POWER_OFF);}
8989

90+
#elif defined(TARGET_DISCO_F469NI)
91+
#define USB_POWER_ON 1
92+
#define USB_POWER_OFF 0
93+
#define USB_POWERPIN_CONFIG {__HAL_RCC_GPIOB_CLK_ENABLE();gpio_init_out_ex(&gpio_powerpin, PB_2, USB_POWER_OFF);}
94+
9095
#elif defined(TARGET_DISCO_F746NG_FS)
9196
#define USB_POWER_ON 0
9297
#define USB_POWER_OFF 1
@@ -97,6 +102,11 @@ static gpio_t gpio_powerpin;
97102
#define USB_POWER_OFF 1
98103
#define USB_POWERPIN_CONFIG {}
99104

105+
#elif defined(TARGET_DISCO_F769NI)
106+
#define USB_POWER_ON 0
107+
#define USB_POWER_OFF 1
108+
#define USB_POWERPIN_CONFIG {}
109+
100110
#elif defined(TARGET_DISCO_L475VG_IOT01A)
101111
#define USB_POWER_ON 0
102112
#define USB_POWER_OFF 1
@@ -136,7 +146,7 @@ USBHALHost::USBHALHost()
136146
hhcd = (HCD_HandleTypeDef *)usb_hcca;
137147
hhcd->pData = (void*)HALPriv;
138148

139-
#if defined(TARGET_DISCO_F429ZI) || defined(TARGET_DISCO_F746NG_HS)
149+
#if defined(TARGET_DISCO_F429ZI) || defined(TARGET_DISCO_F746NG_HS) || defined(TARGET_DISCO_F769NI)
140150
hhcd->Instance = USB_OTG_HS;
141151
hhcd->Init.speed = HCD_SPEED_HIGH;
142152
hhcd->Init.phy_itface = HCD_PHY_ULPI;
@@ -190,6 +200,7 @@ USBHALHost::USBHALHost()
190200
defined(TARGET_NUCLEO_F756ZG) || \
191201
defined(TARGET_NUCLEO_F767ZI) || \
192202
defined(TARGET_DISCO_F413ZH) || \
203+
defined(TARGET_DISCO_F469NI) || \
193204
defined(TARGET_DISCO_L475VG_IOT01A)
194205
__HAL_RCC_GPIOA_CLK_ENABLE();
195206
pin_function(PA_11, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_FS)); // DM
@@ -231,7 +242,26 @@ USBHALHost::USBHALHost()
231242
pin_function(PC_0, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // STP
232243
pin_function(PH_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // NXT
233244
pin_function(PC_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // DIR
234-
245+
246+
#elif defined(TARGET_DISCO_F769NI)
247+
__HAL_RCC_GPIOA_CLK_ENABLE();
248+
__HAL_RCC_GPIOB_CLK_ENABLE();
249+
__HAL_RCC_GPIOC_CLK_ENABLE();
250+
__HAL_RCC_GPIOH_CLK_ENABLE();
251+
__HAL_RCC_GPIOI_CLK_ENABLE();
252+
pin_function(PA_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // CLK
253+
pin_function(PA_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // D0
254+
pin_function(PB_0, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // D1
255+
pin_function(PB_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // D2
256+
pin_function(PB_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // D3
257+
pin_function(PB_10, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // D4
258+
pin_function(PB_11, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // D5
259+
pin_function(PB_12, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // D6
260+
pin_function(PB_13, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // D7
261+
pin_function(PC_0, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // STP
262+
pin_function(PH_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // NXT
263+
pin_function(PI_11, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_HS)); // DIR
264+
235265
#elif defined(TARGET_DISCO_L476VG)
236266
__HAL_RCC_GPIOA_CLK_ENABLE();
237267
pin_function(PA_11, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF10_OTG_FS)); // DM
@@ -249,7 +279,7 @@ USBHALHost::USBHALHost()
249279
// Enable clocks
250280
__HAL_RCC_SYSCFG_CLK_ENABLE();
251281

252-
#if defined(TARGET_DISCO_F429ZI) || defined(TARGET_DISCO_F746NG_HS)
282+
#if defined(TARGET_DISCO_F429ZI) || defined(TARGET_DISCO_F746NG_HS) || defined(TARGET_DISCO_F769NI)
253283
__HAL_RCC_USB_OTG_HS_ULPI_CLK_ENABLE();
254284
__HAL_RCC_USB_OTG_HS_CLK_ENABLE();
255285
#else

targets/targets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1543,7 +1543,7 @@
15431543
}
15441544
},
15451545
"detect_code": ["0788"],
1546-
"macros_add": ["USB_STM_HAL"],
1546+
"macros_add": ["USB_STM_HAL", "USBHOST_OTHER"],
15471547
"device_has_add": ["ANALOGOUT", "CAN", "LOWPOWERTIMER", "SERIAL_FC", "TRNG", "FLASH"],
15481548
"release_versions": ["2", "5"],
15491549
"device_name": "STM32F469NI"

0 commit comments

Comments
 (0)