diff options
Diffstat (limited to 'chip/nrf51/ppi.c')
-rw-r--r-- | chip/nrf51/ppi.c | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/chip/nrf51/ppi.c b/chip/nrf51/ppi.c deleted file mode 100644 index 016cbf3008..0000000000 --- a/chip/nrf51/ppi.c +++ /dev/null @@ -1,69 +0,0 @@ -/* Copyright 2016 The Chromium OS Authors. All rights reserved. - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "ppi.h" -#include "registers.h" -#include "util.h" - -#define NRF51_PPI_FIRST_PP_CH NRF51_PPI_CH_TIMER0_CC0__RADIO_TXEN -#define NRF51_PPI_LAST_PP_CH NRF51_PPI_CH_RTC0_COMPARE0__TIMER0_START - -static uint32_t channels_in_use; -static uint32_t channel_groups_in_use; - -int ppi_request_pre_programmed_channel(int ppi_chan) -{ - ASSERT(ppi_chan >= NRF51_PPI_FIRST_PP_CH && - ppi_chan <= NRF51_PPI_LAST_PP_CH); - - if (channels_in_use & BIT(ppi_chan)) - return EC_ERROR_BUSY; - - channels_in_use |= BIT(ppi_chan); - - return EC_SUCCESS; -} - -int ppi_request_channel(int *ppi_chan) -{ - int chan; - - for (chan = 0; chan < NRF51_PPI_NUM_PROGRAMMABLE_CHANNELS; chan++) - if ((channels_in_use & BIT(chan)) == 0) - break; - - if (chan == NRF51_PPI_NUM_PROGRAMMABLE_CHANNELS) - return EC_ERROR_BUSY; - - channels_in_use |= BIT(chan); - *ppi_chan = chan; - return EC_SUCCESS; -} - -void ppi_release_channel(int ppi_chan) -{ - channels_in_use &= ~BIT(ppi_chan); -} - -void ppi_release_group(int ppi_group) -{ - channel_groups_in_use &= ~BIT(ppi_group); -} - -int ppi_request_group(int *ppi_group) -{ - int group; - - for (group = 0; group < NRF51_PPI_NUM_GROUPS; group++) - if ((channel_groups_in_use & BIT(group)) == 0) - break; - - if (group == NRF51_PPI_NUM_GROUPS) - return EC_ERROR_BUSY; - - channel_groups_in_use |= BIT(group); - *ppi_group = group; - return EC_SUCCESS; -} |