summaryrefslogtreecommitdiff
path: root/bsp/at32/at32f415-start/board
diff options
context:
space:
mode:
authorMan, Jianting (Meco) <[email protected]>2023-02-25 13:52:37 -0500
committerGitHub <[email protected]>2023-02-25 13:52:37 -0500
commit1acef4277b02e5084310ecd7028656ae535178f5 (patch)
tree03b6b6f0b3df75a1cef301e1e7b2b3d234213390 /bsp/at32/at32f415-start/board
parent759192f5f5af23ae360818483d35974ef5b91c78 (diff)
parente63e33a3c64327aef3556fa811df0a8ec1e0e7ee (diff)
Merge pull request #6981 from RT-Thread/masterserialX-dev
sync from master
Diffstat (limited to 'bsp/at32/at32f415-start/board')
-rw-r--r--bsp/at32/at32f415-start/board/Kconfig20
-rw-r--r--bsp/at32/at32f415-start/board/inc/at32_msp.h1
-rw-r--r--bsp/at32/at32f415-start/board/src/at32_msp.c40
3 files changed, 61 insertions, 0 deletions
diff --git a/bsp/at32/at32f415-start/board/Kconfig b/bsp/at32/at32f415-start/board/Kconfig
index a33314f349..db26d9c74c 100644
--- a/bsp/at32/at32f415-start/board/Kconfig
+++ b/bsp/at32/at32f415-start/board/Kconfig
@@ -26,7 +26,27 @@ menu "On-chip Peripheral Drivers"
config BSP_USING_ON_CHIP_FLASH
bool "Enable on-chip FLASH"
+ default n
+
+ menuconfig BSP_USING_USBFS
+ bool "Enable USB BUS"
default n
+ if BSP_USING_USBFS
+ menuconfig BSP_USING_USBFS1
+ bool "Enable USB BUS1"
+ default n
+ if BSP_USING_USBFS1
+ config BSP_USING_DEVICE_USBFS1
+ bool "Enable USB1 Deivce"
+ select RT_USING_USB_DEVICE
+ default n
+
+ config BSP_USING_HOST_USBFS1
+ bool "Enable USB1 Host"
+ select RT_USING_USB_HOST
+ default n
+ endif
+ endif
menuconfig BSP_USING_RTC
bool "Enable RTC"
diff --git a/bsp/at32/at32f415-start/board/inc/at32_msp.h b/bsp/at32/at32f415-start/board/inc/at32_msp.h
index ba267a172c..8efd4dbe32 100644
--- a/bsp/at32/at32f415-start/board/inc/at32_msp.h
+++ b/bsp/at32/at32f415-start/board/inc/at32_msp.h
@@ -19,5 +19,6 @@ void at32_msp_sdio_init(void *instance);
void at32_msp_adc_init(void *instance);
void at32_msp_hwtmr_init(void *instance);
void at32_msp_can_init(void *instance);
+void at32_msp_usb_init(void *instance);
#endif /* __AT32_MSP_H__ */
diff --git a/bsp/at32/at32f415-start/board/src/at32_msp.c b/bsp/at32/at32f415-start/board/src/at32_msp.c
index e8515a00af..a72fc80e06 100644
--- a/bsp/at32/at32f415-start/board/src/at32_msp.c
+++ b/bsp/at32/at32f415-start/board/src/at32_msp.c
@@ -283,3 +283,43 @@ void at32_msp_can_init(void *instance)
#endif
}
#endif /* BSP_USING_CAN */
+
+#ifdef BSP_USING_USBFS
+void at32_msp_usb_init(void *instance)
+{
+ /* enable usb clock */
+ crm_periph_clock_enable(CRM_OTGFS1_PERIPH_CLOCK, TRUE);
+
+ switch(system_core_clock)
+ {
+ /* 48MHz */
+ case 48000000:
+ crm_usb_clock_div_set(CRM_USB_DIV_1);
+ break;
+
+ /* 72MHz */
+ case 72000000:
+ crm_usb_clock_div_set(CRM_USB_DIV_1_5);
+ break;
+
+ /* 96MHz */
+ case 96000000:
+ crm_usb_clock_div_set(CRM_USB_DIV_2);
+ break;
+
+ /* 120MHz */
+ case 120000000:
+ crm_usb_clock_div_set(CRM_USB_DIV_2_5);
+ break;
+
+ /* 144MHz */
+ case 144000000:
+ crm_usb_clock_div_set(CRM_USB_DIV_3);
+ break;
+
+ default:
+ break;
+ }
+}
+
+#endif /* BSP_USING_USBFS */