mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-22 06:40:58 +00:00
only save/restore CLK_RECOVER_IRC_EN/CTRL if FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED is defined to 1
This commit is contained in:
parent
21de8245ae
commit
a52b4647ec
@ -271,16 +271,20 @@ void dcd_init(uint8_t rhport)
|
|||||||
{
|
{
|
||||||
(void) 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_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;
|
CI_REG->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
|
||||||
while (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_IRC_EN = clk_recover_irc_en;
|
||||||
CI_REG->CLK_RECOVER_CTRL |= clk_recover_ctrl;
|
CI_REG->CLK_RECOVER_CTRL |= clk_recover_ctrl;
|
||||||
|
#endif
|
||||||
|
|
||||||
tu_memclr(&_dcd, sizeof(_dcd));
|
tu_memclr(&_dcd, sizeof(_dcd));
|
||||||
CI_REG->USBTRC0 |= TU_BIT(6); /* software must set this bit to 1 */
|
CI_REG->USBTRC0 |= TU_BIT(6); /* software must set this bit to 1 */
|
||||||
|
@ -269,8 +269,8 @@ void dcd_init(uint8_t rhport)
|
|||||||
{
|
{
|
||||||
(void) rhport;
|
(void) rhport;
|
||||||
|
|
||||||
// save crystal-less setting (recovery clock)
|
// save crystal-less setting (if available)
|
||||||
#ifdef USB_CLK_RECOVER_IRC_EN_IRC_EN
|
#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 = KHCI->CLK_RECOVER_IRC_EN;
|
uint32_t clk_recover_irc_en = KHCI->CLK_RECOVER_IRC_EN;
|
||||||
uint32_t clk_recover_ctrl = KHCI->CLK_RECOVER_CTRL;
|
uint32_t clk_recover_ctrl = KHCI->CLK_RECOVER_CTRL;
|
||||||
#endif
|
#endif
|
||||||
@ -278,8 +278,8 @@ void dcd_init(uint8_t rhport)
|
|||||||
KHCI->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
|
KHCI->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
|
||||||
while (KHCI->USBTRC0 & USB_USBTRC0_USBRESET_MASK);
|
while (KHCI->USBTRC0 & USB_USBTRC0_USBRESET_MASK);
|
||||||
|
|
||||||
// restore crystal-less setting
|
// restore crystal-less setting (if available)
|
||||||
#ifdef USB_CLK_RECOVER_IRC_EN_IRC_EN
|
#if defined(FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED) && FSL_FEATURE_USB_KHCI_IRC48M_MODULE_CLOCK_ENABLED == 1
|
||||||
KHCI->CLK_RECOVER_IRC_EN = clk_recover_irc_en;
|
KHCI->CLK_RECOVER_IRC_EN = clk_recover_irc_en;
|
||||||
KHCI->CLK_RECOVER_CTRL |= clk_recover_ctrl;
|
KHCI->CLK_RECOVER_CTRL |= clk_recover_ctrl;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user