In current code, as you say, you have to directly change the value of the reg cache for setting to option2, also you have to modify the REG_OPTION and REG_VOICE_IF reg for voice, but this is temporary method.
This can be done with a register write from the DAI init() function in the machine driver in order to avoid modifying twl4030.c itself.
For audio and voice interface, following things need to be configured:
Audio interface: - Output pins state: high impendance or application mode - Enable audio interface
Voice interface: - Enable voice data input - Enable voice data output - Output pins state: high impedance or application mode - Enable voice interface
I think that interfaces can be enabled in DAI init as Mark suggests, but input/output should be enabled depending on whether we are doing playback/capture or not, and then they should be handled in the codec driver.
For the codec operation mode selection, I still think Peter's advice is more appropriate because options1,2 are not really tight to DAIs. For example, we can be in option2 (voice/audio) and do transferences using both DAIs: I2S and PCM.