forked from M-Labs/artiq
runtime: support for RTIO PLL
This commit is contained in:
parent
d7138b25f2
commit
fe57308e71
|
@ -253,6 +253,10 @@ int main(void)
|
||||||
puts("Press 't' to enter test mode...");
|
puts("Press 't' to enter test mode...");
|
||||||
blink_led();
|
blink_led();
|
||||||
|
|
||||||
|
#ifdef CSR_RTIO_CRG_PLL_RESET_ADDR
|
||||||
|
rtio_crg_pll_reset_write(0);
|
||||||
|
#endif
|
||||||
|
|
||||||
if(check_test_mode()) {
|
if(check_test_mode()) {
|
||||||
puts("Entering test mode.");
|
puts("Entering test mode.");
|
||||||
test_main();
|
test_main();
|
||||||
|
|
|
@ -128,6 +128,22 @@ static int check_flash_storage_key_len(char *key, unsigned int key_len)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void switch_clock(int clk)
|
||||||
|
{
|
||||||
|
int current_clk;
|
||||||
|
|
||||||
|
current_clk = rtio_crg_clock_sel_read();
|
||||||
|
if(clk == current_clk)
|
||||||
|
return;
|
||||||
|
#ifdef CSR_RTIO_CRG_PLL_RESET_ADDR
|
||||||
|
rtio_crg_pll_reset_write(1);
|
||||||
|
#endif
|
||||||
|
rtio_crg_clock_sel_write(clk);
|
||||||
|
#ifdef CSR_RTIO_CRG_PLL_RESET_ADDR
|
||||||
|
rtio_crg_pll_reset_write(0);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static int process_input(void)
|
static int process_input(void)
|
||||||
{
|
{
|
||||||
switch(buffer_in[8]) {
|
switch(buffer_in[8]) {
|
||||||
|
@ -154,7 +170,7 @@ static int process_input(void)
|
||||||
submit_output(9);
|
submit_output(9);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
rtio_crg_clock_sel_write(buffer_in[9]);
|
switch_clock(buffer_in[9]);
|
||||||
buffer_out[8] = REMOTEMSG_TYPE_CLOCK_SWITCH_COMPLETED;
|
buffer_out[8] = REMOTEMSG_TYPE_CLOCK_SWITCH_COMPLETED;
|
||||||
submit_output(9);
|
submit_output(9);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue