summaryrefslogtreecommitdiff
path: root/src/portable/chipidea
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-02-24 17:18:30 +0700
committerhathach <[email protected]>2024-02-24 17:18:30 +0700
commita52b4647ec20414bbfde986c13a18598ffd426d6 (patch)
tree7499a87619209bf76080a5efd4dff0a5bc33049b /src/portable/chipidea
parent21de8245aea294753236c182d9ed63875503df5d (diff)
only save/restore CLK_RECOVER_IRC_EN/CTRL if FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED is defined to 1
Diffstat (limited to 'src/portable/chipidea')
-rw-r--r--src/portable/chipidea/ci_fs/dcd_ci_fs.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/portable/chipidea/ci_fs/dcd_ci_fs.c b/src/portable/chipidea/ci_fs/dcd_ci_fs.c
index 4b1d488b5..a68ecf8c9 100644
--- a/src/portable/chipidea/ci_fs/dcd_ci_fs.c
+++ b/src/portable/chipidea/ci_fs/dcd_ci_fs.c
@@ -271,16 +271,20 @@ void dcd_init(uint8_t rhport)
{
(void) rhport;
- // save crystal-less setting (recovery clock)
+ // save crystal-less setting (if available)
+ #if defined(FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED) && FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED == 1
uint32_t clk_recover_irc_en = CI_REG->CLK_RECOVER_IRC_EN;
- uint32_t clk_recover_ctrl = CI_REG->CLK_RECOVER_CTRL;;
+ uint32_t clk_recover_ctrl = CI_REG->CLK_RECOVER_CTRL;
+ #endif
CI_REG->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
while (CI_REG->USBTRC0 & USB_USBTRC0_USBRESET_MASK);
- // restore crystal-less setting
+ // restore crystal-less setting (if available)
+ #if defined(FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED) && FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED == 1
CI_REG->CLK_RECOVER_IRC_EN = clk_recover_irc_en;
CI_REG->CLK_RECOVER_CTRL |= clk_recover_ctrl;
+ #endif
tu_memclr(&_dcd, sizeof(_dcd));
CI_REG->USBTRC0 |= TU_BIT(6); /* software must set this bit to 1 */