adc: break the xadc code into a separate module