wlan_utility.c 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Copyright (c) 2017 The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for
  5. * any purpose with or without fee is hereby granted, provided that the
  6. * above copyright notice and this permission notice appear in all
  7. * copies.
  8. *
  9. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
  10. * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
  11. * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
  12. * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  13. * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  14. * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  15. * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  16. * PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. /**
  19. * DOC: This file contains definition for mandatory legacy API
  20. */
  21. #include "wlan_utility.h"
  22. #include <wlan_cmn.h>
  23. uint32_t wlan_chan_to_freq(uint8_t chan)
  24. {
  25. /* ch 0 - ch 13 */
  26. if (chan < WLAN_24_GHZ_CHANNEL_14)
  27. return WLAN_24_GHZ_BASE_FREQ + chan * WLAN_CHAN_SPACING_5MHZ;
  28. else if (chan == WLAN_24_GHZ_CHANNEL_14)
  29. return WLAN_CHAN_14_FREQ;
  30. else if (chan < WLAN_24_GHZ_CHANNEL_27)
  31. /* ch 15 - ch 26 */
  32. return WLAN_CHAN_15_FREQ +
  33. (chan - WLAN_24_GHZ_CHANNEL_15) * WLAN_CHAN_SPACING_20MHZ;
  34. else if (chan == WLAN_5_GHZ_CHANNEL_170)
  35. return WLAN_CHAN_170_FREQ;
  36. else
  37. return WLAN_5_GHZ_BASE_FREQ + chan * WLAN_CHAN_SPACING_5MHZ;
  38. }
  39. bool wlan_is_dsrc_channel(uint16_t center_freq)
  40. {
  41. if (center_freq >= 5852 &&
  42. center_freq <= 5920)
  43. return true;
  44. return false;
  45. }