JZ4740_DMA_TYPE_UART_RECEIVE    = 21,
        JZ4740_DMA_TYPE_SPI_TRANSMIT    = 22,
        JZ4740_DMA_TYPE_SPI_RECEIVE     = 23,
-       JZ4740_DMA_TYPE_AIC_TRANSMIT    = 24,
-       JZ4740_DMA_TYPE_AIC_RECEIVE     = 25,
        JZ4740_DMA_TYPE_MMC_TRANSMIT    = 26,
        JZ4740_DMA_TYPE_MMC_RECEIVE     = 27,
        JZ4740_DMA_TYPE_TCU             = 28,
 
 config SND_JZ4740_SOC
        tristate "SoC Audio for Ingenic JZ4740 SoC"
-       depends on MACH_JZ4740 && SND_SOC
+       depends on MACH_JZ4740 || COMPILE_TEST
        select SND_SOC_GENERIC_DMAENGINE_PCM
        help
          Say Y or M if you want to add support for codecs attached to
          the JZ4740 I2S interface. You will also need to select the audio
          interfaces to support below.
 
+if SND_JZ4740_SOC
+
 config SND_JZ4740_SOC_I2S
-       depends on SND_JZ4740_SOC
        tristate "SoC Audio (I2S protocol) for Ingenic JZ4740 SoC"
+       depends on HAS_IOMEM
        help
          Say Y if you want to use I2S protocol and I2S codec on Ingenic JZ4740
          based boards.
 
 config SND_JZ4740_SOC_QI_LB60
        tristate "SoC Audio support for Qi LB60"
-       depends on SND_JZ4740_SOC && JZ4740_QI_LB60
+       depends on HAS_IOMEM
+       depends on JZ4740_QI_LB60 || COMPILE_TEST
        select SND_JZ4740_SOC_I2S
     select SND_SOC_JZ4740_CODEC
        help
          Say Y if you want to add support for ASoC audio on the Qi LB60 board
          a.k.a Qi Ben NanoNote.
+
+endif
 
 #include <sound/initval.h>
 #include <sound/dmaengine_pcm.h>
 
-#include <asm/mach-jz4740/dma.h>
-
 #include "jz4740-i2s.h"
 
+#define JZ4740_DMA_TYPE_AIC_TRANSMIT 24
+#define JZ4740_DMA_TYPE_AIC_RECEIVE 25
+
 #define JZ_REG_AIC_CONF                0x00
 #define JZ_REG_AIC_CTRL                0x04
 #define JZ_REG_AIC_I2S_FMT     0x10