add low power
This commit is contained in:
@@ -393,16 +393,18 @@ static int XUD_Manager_loop(XUD_chan epChans0[], XUD_chan epAddr_Ready[], chane
|
|||||||
}
|
}
|
||||||
|
|
||||||
XUD_HAL_Mode_DataTransfer();
|
XUD_HAL_Mode_DataTransfer();
|
||||||
|
#ifndef LOW_POWER_EN
|
||||||
set_thread_fast_mode_on();
|
set_thread_fast_mode_on();
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Run main IO loop */
|
/* Run main IO loop */
|
||||||
/* flag0: Rx Error
|
/* flag0: Rx Error
|
||||||
flag1: Rx Active
|
flag1: Rx Active
|
||||||
flag2: Null / Valid Token */
|
flag2: Null / Valid Token */
|
||||||
noExit = XUD_LLD_IoLoop(p_usb_rxd, flag1_port, p_usb_txd, flag0_port, flag2_port, epTypeTableOut, epTypeTableIn, epAddr_Ready, noEpOut, c_sof);
|
noExit = XUD_LLD_IoLoop(p_usb_rxd, flag1_port, p_usb_txd, flag0_port, flag2_port, epTypeTableOut, epTypeTableIn, epAddr_Ready, noEpOut, c_sof);
|
||||||
|
#ifndef LOW_POWER_EN
|
||||||
set_thread_fast_mode_off();
|
set_thread_fast_mode_off();
|
||||||
|
#endif
|
||||||
|
|
||||||
if(!noExit)
|
if(!noExit)
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
#include <platform.h>
|
||||||
|
|
||||||
|
void power_down()
|
||||||
|
{
|
||||||
|
#if (LOW_POWER_EN == 1)
|
||||||
|
// Give the software 10 seconds to start up, then apply power optimisations below.
|
||||||
|
timer tmr;
|
||||||
|
int t;
|
||||||
|
tmr :> t;
|
||||||
|
tmr when timerafter(t+1000000000) :> void;
|
||||||
|
|
||||||
|
// Reduce switch clock frequency
|
||||||
|
// write_node_config_reg(tile[0], XS1_SSWITCH_CLK_DIVIDER_NUM, 4);
|
||||||
|
write_node_config_reg(tile[1], XS1_SSWITCH_CLK_DIVIDER_NUM, 4);
|
||||||
|
//
|
||||||
|
// // Reduce core 0 clock frequency (to 9 MHz)
|
||||||
|
// // Note, to completely disable, use:
|
||||||
|
// // write_tile_config_reg(tile[0], XS1_PSWITCH_PLL_CLK_DIVIDER_NUM, 0x80000000);
|
||||||
|
// write_tile_config_reg(tile[0], XS1_PSWITCH_PLL_CLK_DIVIDER_NUM, 0x00000040);
|
||||||
|
write_tile_config_reg(tile[1], XS1_PSWITCH_PLL_CLK_DIVIDER_NUM, 0x00000040);
|
||||||
|
|
||||||
|
setps(XS1_PS_XCORE_CTRL0, 0x10);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user