diff --git a/drivers/at86rf2xx/at86rf2xx.c b/drivers/at86rf2xx/at86rf2xx.c index ccabc35679..7a1d91e5e3 100644 --- a/drivers/at86rf2xx/at86rf2xx.c +++ b/drivers/at86rf2xx/at86rf2xx.c @@ -160,6 +160,13 @@ void at86rf2xx_reset(at86rf2xx_t *dev) tmp &= ~(AT86RF2XX_TRX_CTRL_1_MASK__IRQ_MASK_MODE); at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_CTRL_1, tmp); + /* disable clock output to save power */ + tmp = at86rf2xx_reg_read(dev, AT86RF2XX_REG__TRX_CTRL_0); + tmp &= ~(AT86RF2XX_TRX_CTRL_0_MASK__CLKM_CTRL); + tmp &= ~(AT86RF2XX_TRX_CTRL_0_MASK__CLKM_SHA_SEL); + tmp |= (AT86RF2XX_TRX_CTRL_0_CLKM_CTRL__OFF); + at86rf2xx_reg_write(dev, AT86RF2XX_REG__TRX_CTRL_0, tmp); + /* enable interrupts */ at86rf2xx_reg_write(dev, AT86RF2XX_REG__IRQ_MASK, AT86RF2XX_IRQ_STATUS_MASK__TRX_END);