I recently obtained a DE1-SoC and am attempting to control the WM8731 codec using a kernel driver. I was able to change the multiplexer control from the FPGA to the HPS using the hps_i2c_switch demo from the system CD as a template, but I am unable to probe both the codec and the TV decoder using an i2cdetect command. When I use insmod to load the codec kernel module, I can see that it reserves the address 0x1a and I don't get any errors. If I load another driver that uses the DAI in the codec driver to issue ALSA commands, I get communication errors that seem to relate to the I2C interface. I have done some searching and found that modifying the drive strength of the I2C lines in the pin planner worked in some cases, but this didn't work for me. Is there something else that I could try?