Lines Matching +full:0 +full:x0d000000
24 # define SIU_MAX_VOLUME 0x1000
26 # define SIU_MAX_VOLUME 0x7fff
29 #define PRAM_SIZE 0x2000
30 #define XRAM_SIZE 0x800
31 #define YRAM_SIZE 0x800
33 #define XRAM_OFFSET 0x4000
34 #define YRAM_OFFSET 0x6000
35 #define REG_OFFSET 0xc000
40 #define VOLUME_CAPTURE 0
42 #define DFLT_VOLUME_LEVEL 0x08000800
66 .i2s = 0x50000000,
67 .pcm = 0x40000000,
68 .spdif = 0x80000000, /* not on all SIU versions */
69 .mask = 0xd0000000,
72 .i2s = 0x05000000,
73 .pcm = 0x04000000,
74 .spdif = 0x08000000,
75 .mask = 0x0d000000,
80 .i2s = 0x00500000,
81 .pcm = 0x00400000,
82 .spdif = 0, /* impossible - turn off */
83 .mask = 0x00500000,
86 .i2s = 0x00050000,
87 .pcm = 0x00040000,
88 .spdif = 0, /* impossible - turn off */
89 .mask = 0x00050000,
102 siu_write32(base + SIU_SRCTL, 0); in siu_dai_start()
107 port_info->stfifo = 0; in siu_dai_start()
108 port_info->trdat = 0; in siu_dai_start()
111 siu_write32(base + SIU_SRCTL, 0x301); in siu_dai_start()
114 siu_write32(base + SIU_CKCTL, 0x40400000); in siu_dai_start()
117 siu_write32(base + SIU_BRGASEL, 0); in siu_dai_start()
118 siu_write32(base + SIU_BRRA, 0); in siu_dai_start()
122 siu_write32(base + SIU_BRRB, 0); in siu_dai_start()
124 siu_write32(base + SIU_IFCTL, 0x44440000); in siu_dai_start()
127 siu_write32(base + SIU_SFORM, 0x0c0c0000); in siu_dai_start()
143 siu_write32(base + SIU_SRCTL, 0); in siu_dai_stop()
159 ydef[0] = (fw->spbpar[idx].ab1a << 16) | in siu_dai_spbAselect()
162 ydef[1] = fw->yram0[1]; /* 0x03000300 */ in siu_dai_spbAselect()
164 ydef[3] = fw->yram0[3]; /* 0 */ in siu_dai_spbAselect()
165 ydef[4] = fw->yram0[4]; /* 0 */ in siu_dai_spbAselect()
203 srctl |= 0x200; in siu_dai_open()
204 ifctl &= ~0xc2; in siu_dai_open()
208 srctl |= 0x100; in siu_dai_open()
209 ifctl &= ~0x31; in siu_dai_open()
232 dpak &= ~0xc0000000; in siu_dai_pcmdatapack()
235 dpak &= ~0x00c00000; in siu_dai_pcmdatapack()
255 for (cnt = 0; cnt < PRAM0_SIZE; cnt++, add++, ptr++) in siu_dai_spbstart()
259 add = info->pram + (0x0100 / sizeof(u32)); in siu_dai_spbstart()
260 for (cnt = 0; cnt < PRAM1_SIZE; cnt++, add++, ptr++) in siu_dai_spbstart()
265 for (cnt = 0; cnt < XRAM0_SIZE + XRAM1_SIZE + XRAM2_SIZE; cnt++, add++) in siu_dai_spbstart()
266 siu_write32(add, 0); in siu_dai_spbstart()
270 for (cnt = 0; cnt < YRAM_DEF_SIZE; cnt++, add++) in siu_dai_spbstart()
274 add = info->yram + (0x0200 / sizeof(u32)); in siu_dai_spbstart()
275 for (cnt = 0; cnt < YRAM_FIR_SIZE; cnt++, add++) in siu_dai_spbstart()
279 add = info->yram + (0x0600 / sizeof(u32)); in siu_dai_spbstart()
280 for (cnt = 0; cnt < YRAM_IIR_SIZE; cnt++, add++) in siu_dai_spbstart()
281 siu_write32(add, 0); in siu_dai_spbstart()
284 port_info->trdat = 0x0; in siu_dai_spbstart()
288 siu_write32(base + SIU_SBACTIV, 0); in siu_dai_spbstart()
290 siu_write32(base + SIU_SBCTL, 0xc0000000); in siu_dai_spbstart()
292 cnt = 0x10000; in siu_dai_spbstart()
293 while (--cnt && siu_read32(base + SIU_SBCTL) != 0x80000000) in siu_dai_spbstart()
300 siu_write32(base + SIU_SBPSET, 0x00400000); in siu_dai_spbstart()
302 siu_write32(base + SIU_SBACTIV, 0xc0000000); in siu_dai_spbstart()
304 return 0; in siu_dai_spbstart()
312 siu_write32(base + SIU_SBACTIV, 0); in siu_dai_spbstop()
314 siu_write32(base + SIU_SBCTL, 0); in siu_dai_spbstop()
316 port_info->stfifo = 0; in siu_dai_spbstop()
346 uinfo->value.integer.min = 0; in siu_dai_info_volume()
349 return 0; in siu_dai_info_volume()
363 /* Playback is always on port 0 */ in siu_dai_get_volume()
365 ucontrol->value.integer.value[0] = vol & 0xffff; in siu_dai_get_volume()
366 ucontrol->value.integer.value[1] = vol >> 16 & 0xffff; in siu_dai_get_volume()
371 ucontrol->value.integer.value[0] = vol & 0xffff; in siu_dai_get_volume()
372 ucontrol->value.integer.value[1] = vol >> 16 & 0xffff; in siu_dai_get_volume()
380 return 0; in siu_dai_get_volume()
395 if (ucontrol->value.integer.value[0] < 0 || in siu_dai_put_volume()
396 ucontrol->value.integer.value[0] > SIU_MAX_VOLUME || in siu_dai_put_volume()
397 ucontrol->value.integer.value[1] < 0 || in siu_dai_put_volume()
401 new_vol = ucontrol->value.integer.value[0] | in siu_dai_put_volume()
407 /* Playback is always on port 0 */ in siu_dai_put_volume()
427 return 0; in siu_dai_put_volume()
433 .index = 0,
443 .index = 0,
473 if (ret < 0) in siu_init_port()
480 if (ret < 0) in siu_init_port()
485 return 0; in siu_init_port()
507 if (unlikely(ret < 0)) in siu_dai_startup()
512 return 0; in siu_dai_startup()
563 siu_stream->rw_flg = 0; /* stream-data transfer flag */ in siu_dai_prepare()
573 if (ret < 0) in siu_dai_prepare()
576 ret = 0; in siu_dai_prepare()
596 dev_dbg(dai->dev, "%s: fmt 0x%x on port %d\n", in siu_dai_set_fmt()
599 if (info->port_id < 0) in siu_dai_set_fmt()
622 return 0; in siu_dai_set_fmt()
673 if (ret < 0) { in siu_dai_set_sysclk()
679 if (ret < 0) in siu_dai_set_sysclk()
741 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); in siu_probe()
773 if (ret < 0) in siu_probe()
778 return 0; in siu_probe()
784 return 0; in siu_remove()