Nuvoton NCT6793D SMBus drivers for Windows and Linux

After some investigation it looks like some Intel boards have their Aura controller attached to the Super IO chip's SMBus instead of the chipset/PCH. The Asus Prime Z270-A uses the Nuvoton NCT6793D. I have started writing a driver for this SMBus master. It appears that this chip does not support Quick accesses, which I have been using for i2cdetect functionality. The block writes are a bit strange too, because it doesn't have enough register space for 4 bytes in the FIFO. You have to poll the FIFO Empty status and keep refilling it as it transmits. I haven't implemented block reads yet, but it will probably be similar (read 4 bytes, poll FIFO full, read 4 bytes, repeat until done).

Since this chip has no existing Linux driver, I will also be porting my Windows userspace driver into a Linux kernel driver. I believe a driver already exists for the Nuvoton chip, but not the SMBus portion, only the fan/temp/etc hardware monitoring stuff. I may be able to add SMBus capability to the existing driver.

I would like to know if Asus used any other Super IO chips on other boards. It's possible they are different but share the same SMBus controller block.