1.1.1 Linux WLAN

The Linux WLAN implements Linux software-specific operations:
  • Controls the ATWILC device power
  • Initializes/de-initializes the module during insert/remove
  • Registers Interrupt Service Register (ISR)
  • Turns on and turns off the chip by controlling the CHIP_EN and RESET_N GPIOs
  • Registers the net_device interface
  • Downloads and starts the firmware
  • Implements the following net_device operations:
    • mac_init_fn
    • wilc_mac_open
    • wilc_mac_close
    • wilc_mac_xmit
    • mac_stats
    • wilc_set_multicast_list
    • wilc_set_mac_addr
  • Pushes TX packets into the TX queue
  • Delivers RX packets to the Linux stack