/space/home/slher/rel/Beken/v6_4_5/macsw/ip/lmac/src/hal/hal_machw.h File Reference

Definition of the API used to initialize and control the MAC HW. More...

#include "hal_desc.h"
#include "reg_mac_core.h"

Go to the source code of this file.

Defines

#define HAL_MACHW_BCN_TX_DELAY_US   (2048)
 Duration between AP TBTT and Beacon Transmission (in us, should be a multiple of 128us).
#define MU_MIMO_MASTER_TX_IRQ   NXMAC_SEC_USER_TX_TRIGGER_BIT
 Global Interrupt bit for TX IRQ on secondary user.
#define TX_SEC_IRQ_BITS
 Bits indicating activity on secondary users (separated trigger and buffer).

Enumerations

enum  { HW_IDLE = 0, HW_RESERVED, HW_DOZE, HW_ACTIVE }
 

For MAC HW States.

More...
enum  {
  MODE_802_11B = 0, MODE_802_11A, MODE_802_11G, MODE_802_11N_2_4,
  MODE_802_11N_5, MODE_RESERVED, MODE_802_11AC_5
}
 

802.11 modes

More...
enum  {
  HAL_AC0_TIMER = 0, HAL_AC1_TIMER, HAL_AC2_TIMER, HAL_AC3_TIMER,
  HAL_BCN_TIMER, HAL_IDLE_TIMER, HAL_RX_TIMER, HAL_MM_TIMER,
  HAL_KE_TIMER, HAL_TIMER_MAX
}
 

Mapping of HW timers.

More...
enum  {
  HAL_AC0_TIMER_BIT = CO_BIT(HAL_AC0_TIMER), HAL_AC1_TIMER_BIT = CO_BIT(HAL_AC1_TIMER), HAL_AC2_TIMER_BIT = CO_BIT(HAL_AC2_TIMER), HAL_AC3_TIMER_BIT = CO_BIT(HAL_AC3_TIMER),
  HAL_BCN_TIMER_BIT = CO_BIT(HAL_BCN_TIMER), HAL_IDLE_TIMER_BIT = CO_BIT(HAL_IDLE_TIMER), HAL_RX_TIMER_BIT = CO_BIT(HAL_RX_TIMER), HAL_MM_TIMER_BIT = CO_BIT(HAL_MM_TIMER),
  HAL_KE_TIMER_BIT = CO_BIT(HAL_KE_TIMER)
}
 

Bits associated to HW timers.

More...

Functions

__INLINE uint32_t hal_machw_time (void)
 Get the current HW time.
__INLINE bool hal_machw_time_cmp (uint32_t time1, uint32_t time2)
 Compare timer absolute expiration time.
__INLINE bool hal_machw_time_past (uint32_t time)
 Compare timer absolute expiration time.
__INLINE void hal_machw_udelay (uint32_t us)
 Block execution for the given number of us.
__INLINE uint32_t hal_machw_rx_bcn_duration (struct rx_hd *rhd, uint16_t len)
 Compute duration it took to transmit the received frame.
__INLINE bool hal_machw_bfmee_support (void)
 Check whether BFMEE is supported by the MAC and PHY HW.
__INLINE bool hal_machw_bfmer_support (void)
 Check whether BFMER is supported by the MAC and PHY HW.
__INLINE bool hal_machw_mu_mimo_rx_support (void)
 Check whether Mu-MIMO RX is supported by the MAC and PHY HW.
__INLINE bool hal_machw_mu_mimo_tx_support (void)
 Check whether Mu-MIMO TX is supported by the MAC and PHY HW.
__INLINE bool hal_machw_he_support (void)
 Check whether HE is supported by the MAC and PHY HW.
void hal_machw_init (void)
 Interrupt Controller initialization.
void hal_machw_reset (void)
 MAC HW reset function.
uint8_t hal_machw_search_addr (struct mac_addr *addr)
 Function accessing the HW address search engine.
void hal_machw_disable_int (void)
 MAC HW interrupt disable function.
void hal_machw_stop (void)
 Stop the operation of the MAC HW.
void hal_machw_monitor_mode (void)
 Put back the MAC HW in monitoring mode.
int hal_machw_tsf_move (int32_t offset)
 Apply an offset (positive or negative) to the TSF timer.
bool hal_machw_sleep_check (void)
 Check if the HW timers don expire too early to go to sleep.
void hal_machw_gen_handler (void)
 Interrupt Handling.
void hal_machw_idle_req (void)
 Ask to HW to move to IDLE state.

Variables

const uint8_t rxv2macrate []
 Table of conversion between a RX vector rate to a MAC HW rate.

Detailed Description

Definition of the API used to initialize and control the MAC HW.

File contains the API to perform the functions of the MAC HW initialization and interrupt handling. This module initializes the MAC HW registers and handles the different interrupts raised by MAC HW.

Copyright (C) RivieraWaves 2011-2019

Definition in file hal_machw.h.


Generated on 14 Jan 2020 for Ceva-RW WLAN FullMAC SW documentation by  doxygen 1.6.1