By changing or adding a few files and implementing the SPI bus, the ATWINC1500 API can be used with any MCU. The following files have been changed or added to use the ATWINC1500 with ATmega328P:
winc/bsp/include/nm_bsp.h - Must be updated to add a new device, and include the nm_bsp_* header file for the particular device.
winc/bsp/include/nm_bsp_mega.h - Must be added with device-specific configuration.
winc/bsp/source/nm_bsp_mega.c - Must be added with implementation of the function declarations from nm_bsp.h. This includes setting up the output pins used for resetting and enabling the ATWINC1500, as well as the interrupt input pin used by the ATWINC1500 to signal to the MCU that an even needs to be handled.
winc/bus_wrapper/source/nm_bus_wrapper_mega.c - Must be added to implement the function declarations from nm_bus_wrapper.h. This includes functions to initialize and use the SPI bus to communicate with the ATWINC1500.
config/conf_winc.h - Must be added with device- and hardware-specific configuration.