So what is the process for adding new parts to this? We've got the Coincraft A1 in the wild, and some of the simpler DIY boards are USB-SPI bridges. Zefir did some great work on the bitmine cgminer branch, but I'd like to see USB-SPI direct A1 support in BFGMiner as well. I haven't been involved in the mining software side of things, so I'm not certain of the normal procedures.
It sounds like similar to bitfury's chips, the Coincraft A1 is used by a variety of different boards, some of which are just thin interfaces to talk directly to the chip(s). In this case, I'd suggest a single driver-coincraft.c file which implements all the low-level communications with the chip (similar to driver-bitfury.c, but ideally without the libbitfury.* extras), possibly with a "coincraft_gpio" driver for testing, and then build additional board-specific drivers on top of this (similar to the "bfsb", "metabank", "nanofury", etc drivers). As nwoolls mentioned, HACKING documents the basic driver interface and the async minerloop; depending on the chip, however, the queue minerloop might (or might not) be preferable - the "bitforce" and "hashfast" drivers are good examples of different ways to use that interface.
If you'd like me to write the driver myself, I'd need at least a sample unit for each of the different interfaces/boards, and some documentation on them. I believe zefir linked me a draft doc for the chip itself a while back, but I'm not sure I have the latest version.