diff --git a/softpll/softpll_ng.c b/softpll/softpll_ng.c index d74f03e9792938fb1b090a3535c1625ac72954b6..614e9efbbbc2bfe0e4f519888b1e2d91cfe650dc 100644 --- a/softpll/softpll_ng.c +++ b/softpll/softpll_ng.c @@ -340,8 +340,14 @@ void spll_init(int mode, int slave_ref_channel, int align_pps) else s->seq_state = SEQ_CLEAR_DACS; + int helper_ref; + + if( mode == SPLL_MODE_SLAVE) + helper_ref = slave_ref_channel; // Slave mode: lock the helper to an uplink port + else + helper_ref = spll_n_chan_ref; // Master/GM mode: lock the helper to the local ref clock - helper_init(&s->helper, spll_n_chan_ref); + helper_init(&s->helper, helper_ref); mpll_init(&s->mpll, slave_ref_channel, spll_n_chan_ref); for (i = 0; i < spll_n_chan_out - 1; i++) {