diff options
Diffstat (limited to 'src/atsamd/samd51_clock.c')
-rw-r--r-- | src/atsamd/samd51_clock.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/atsamd/samd51_clock.c b/src/atsamd/samd51_clock.c index 2f769435..3497bccf 100644 --- a/src/atsamd/samd51_clock.c +++ b/src/atsamd/samd51_clock.c @@ -39,11 +39,13 @@ route_pclock(uint32_t pclk_id, uint32_t clkgen_id) // Enable a peripheral clock and power to that peripheral void -enable_pclock(uint32_t pclk_id, uint32_t pm_id) +enable_pclock(uint32_t pclk_id, int32_t pm_id) { route_pclock(pclk_id, CLKGEN_48M); - uint32_t pm_port = pm_id / 32, pm_bit = 1 << (pm_id % 32); - (&MCLK->APBAMASK.reg)[pm_port] |= pm_bit; + if (pm_id >= 0) { + uint32_t pm_port = pm_id / 32, pm_bit = 1 << (pm_id % 32); + (&MCLK->APBAMASK.reg)[pm_port] |= pm_bit; + } } // Return the frequency of the given peripheral clock |