Lines Matching +full:0 +full:x042
23 #define WM8776_REG_HEADPHONE_L 0x00
24 #define WM8776_REG_HEADPHONE_R 0x01
25 #define WM8776_REG_HEADPHONE_MASTER 0x02
26 #define WM8776_REG_DAC_ATTEN_L 0x03
27 #define WM8776_REG_DAC_ATTEN_R 0x04
28 #define WM8776_REG_DAC_ATTEN_MASTER 0x05
29 #define WM8776_REG_DAC_PHASE 0x06
30 #define WM8776_REG_DAC_CONTROL 0x07
31 #define WM8776_REG_DAC_MUTE 0x08
32 #define WM8776_REG_DAC_DEEMPH 0x09
33 #define WM8776_REG_DAC_IF_CONTROL 0x0a
34 #define WM8776_REG_ADC_IF_CONTROL 0x0b
35 #define WM8776_REG_MASTER_MODE_CONTROL 0x0c
36 #define WM8776_REG_POWERDOWN 0x0d
37 #define WM8776_REG_ADC_ATTEN_L 0x0e
38 #define WM8776_REG_ADC_ATTEN_R 0x0f
39 #define WM8776_REG_ADC_ALC1 0x10
40 #define WM8776_REG_ADC_ALC2 0x11
41 #define WM8776_REG_ADC_ALC3 0x12
42 #define WM8776_REG_ADC_NOISE_GATE 0x13
43 #define WM8776_REG_ADC_LIMITER 0x14
44 #define WM8776_REG_ADC_MUX 0x15
45 #define WM8776_REG_OUTPUT_MUX 0x16
46 #define WM8776_REG_RESET 0x17
48 #define WM8776_NUM_REGS 0x18
51 #define WM8776_CLOCK_RATIO_128FS 0
85 val & 0xff); in wm8776_write()
101 return 0; in wm8776_write_bits()
110 unsigned int maxval; /* volume range: 0..maxval */
123 .mask = 0x7f,
124 .offset = 0x30,
125 .mute = 0x00,
126 .update = 0x180, /* update and zero-cross enable */
131 .mask = 0xff,
132 .offset = 0x01,
133 .mute = 0x00,
134 .update = 0x100, /* zero-cross enable */
139 .mask = 0xff,
140 .offset = 0xa5,
141 .mute = 0xa5,
142 .update = 0x100, /* update */
143 .mux_bits = { 0x80, 0x40 }, /* ADCMUX bits */
152 /* DAC output: mute, -127..0db (0.5db step) */
165 uinfo->value.integer.min = 0; in maya_vol_info()
167 return 0; in maya_vol_info()
179 ucontrol->value.integer.value[0] = wm->volumes[idx][0]; in maya_vol_get()
182 return 0; in maya_vol_get()
194 int ch, changed = 0; in maya_vol_put()
197 for (ch = 0; ch < 2; ch++) { in maya_vol_put()
213 val ? 0 : vol->mux_bits[ch]); in maya_vol_put()
225 #define GET_SW_VAL_IDX(val) ((val) & 0xff)
226 #define GET_SW_VAL_REG(val) (((val) >> 8) & 0xff)
227 #define GET_SW_VAL_MASK(val) (((val) >> 16) & 0xff)
239 ucontrol->value.integer.value[0] = (wm->switch_bits >> idx) & 1; in maya_sw_get()
240 return 0; in maya_sw_get()
256 val = ucontrol->value.integer.value[0]; in maya_sw_put()
262 mask, val ? mask : 0); in maya_sw_put()
280 #define GET_GPIO_VAL_SHIFT(val) ((val) & 0xff)
289 return 0; in maya_set_gpio_bits()
306 ucontrol->value.integer.value[0] = val; in maya_gpio_sw_get()
307 return 0; in maya_gpio_sw_get()
320 val = ucontrol->value.integer.value[0]; in maya_gpio_sw_put()
323 val = val ? mask : 0; in maya_gpio_sw_put()
333 /* known working input slots (0-4) */
340 0x1f, 1 << line); in wm8776_select_input()
360 sel = 0; in maya_rec_src_get()
361 ucontrol->value.enumerated.item[0] = sel; in maya_rec_src_get()
362 return 0; in maya_rec_src_get()
369 int sel = ucontrol->value.enumerated.item[0]; in maya_rec_src_put()
374 sel ? (1 << GPIO_MIC_RELAY) : 0); in maya_rec_src_put()
375 wm8776_select_input(chip, 0, sel ? MAYA_MIC_IN : MAYA_LINE_IN); in maya_rec_src_put()
388 "PCM Out", /* 0 */ in maya_pb_route_info()
398 { 8, 20, 0, 3, 11, 23, 14, 26, 17, 29 }; in maya_pb_route_shift()
407 ucontrol->value.enumerated.item[0] = in maya_pb_route_get()
409 return 0; in maya_pb_route_get()
418 ucontrol->value.enumerated.item[0], in maya_pb_route_put()
471 WM8776_REG_OUTPUT_MUX, 0x01),
481 WM8776_REG_OUTPUT_MUX, 0x04),
521 for (i = 0; i < ARRAY_SIZE(maya_controls); i++) { in maya44_add_controls()
524 if (err < 0) in maya44_add_controls()
527 return 0; in maya44_add_controls()
538 0x02, 0x100, /* R2: headphone L+R muted + update */ in wm8776_init()
539 0x05, 0x100, /* R5: DAC output L+R muted + update */ in wm8776_init()
540 0x06, 0x000, /* R6: DAC output phase normal */ in wm8776_init()
541 0x07, 0x091, /* R7: DAC enable zero cross detection, in wm8776_init()
543 0x08, 0x000, /* R8: DAC soft mute off */ in wm8776_init()
544 0x09, 0x000, /* R9: no deemph, DAC zero detect disabled */ in wm8776_init()
545 0x0a, 0x022, /* R10: DAC I2C mode, std polarities, 24bit */ in wm8776_init()
546 0x0b, 0x022, /* R11: ADC I2C mode, std polarities, 24bit, in wm8776_init()
548 0x0c, 0x042, /* R12: ADC+DAC slave, ADC+DAC 44,1kHz */ in wm8776_init()
549 0x0d, 0x000, /* R13: all power up */ in wm8776_init()
550 0x0e, 0x100, /* R14: ADC left muted, in wm8776_init()
552 0x0f, 0x100, /* R15: ADC right muted, in wm8776_init()
555 0x11, 0x000, /* R17: disable ALC */ in wm8776_init()
558 0x15, 0x000, /* R21: ADC input mux init, mute all inputs */ in wm8776_init()
559 0x16, 0x001, /* R22: output mux, select DAC */ in wm8776_init()
560 0xff, 0xff in wm8776_init()
572 while (*ptr != 0xff) { in wm8776_init()
615 case 0: in set_rate()
639 for (i = 0; i < 2; i++) in set_rate()
642 0x180, val); in set_rate()
658 .mask = 0
666 0x34, 0x36, /* codec 0 & 1 */
687 ice->akm_codecs = 0; in maya44_init()
689 for (i = 0; i < 2; i++) { in maya44_init()
706 return 0; in maya44_init()
716 [ICE_EEP2_SYSCONF] = 0x45,
718 [ICE_EEP2_ACLINK] = 0x80,
720 [ICE_EEP2_I2S] = 0xf8,
722 [ICE_EEP2_SPDIF] = 0xc3,
724 [ICE_EEP2_GPIO_DIR] = 0xff,
725 [ICE_EEP2_GPIO_DIR1] = 0xff,
726 [ICE_EEP2_GPIO_DIR2] = 0xff,
727 [ICE_EEP2_GPIO_MASK] = 0/*0x9f*/,
728 [ICE_EEP2_GPIO_MASK1] = 0/*0xff*/,
729 [ICE_EEP2_GPIO_MASK2] = 0/*0x7f*/,
732 [ICE_EEP2_GPIO_STATE1] = 0x00,
733 [ICE_EEP2_GPIO_STATE2] = 0x00,