Do You suggest to use separate structure like struct lpass_hdmi_interface in lpass_data?
Before going into detail review, I see real issue in the overall approach here to add new interface to exiting lpass!!
Intention of struct lpass_variant is to address differences between SoCs or different lpass versions. But you should not duplicate this and use it for addressing differences between each lpass interfaces!
All the dai related register offsets should still go in to this structure and driver should be able to know which dai its talking to based on snd_soc_dai_driver id and select correct register offset.