Home | History | Annotate | Line # | Download | only in dev
wm8750reg.h revision 1.1.6.2
      1  1.1.6.2  ad /*	$NetBSD: wm8750reg.h,v 1.1.6.2 2007/01/12 01:01:03 ad Exp $	*/
      2  1.1.6.2  ad /*	$OpenBSD: wm8750reg.h,v 1.2 2005/12/31 04:31:27 deraadt Exp $	*/
      3  1.1.6.2  ad 
      4  1.1.6.2  ad /*
      5  1.1.6.2  ad  * Copyright (c) 2005 Christopher Pascoe <c.pascoe (at) itee.uq.edu.au>
      6  1.1.6.2  ad  *
      7  1.1.6.2  ad  * Permission to use, copy, modify, and distribute this software for any
      8  1.1.6.2  ad  * purpose with or without fee is hereby granted, provided that the above
      9  1.1.6.2  ad  * copyright notice and this permission notice appear in all copies.
     10  1.1.6.2  ad  *
     11  1.1.6.2  ad  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     12  1.1.6.2  ad  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     13  1.1.6.2  ad  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     14  1.1.6.2  ad  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     15  1.1.6.2  ad  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     16  1.1.6.2  ad  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     17  1.1.6.2  ad  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     18  1.1.6.2  ad  */
     19  1.1.6.2  ad 
     20  1.1.6.2  ad #ifndef	_DEV_IC_WM8750REG_H_
     21  1.1.6.2  ad #define	_DEV_IC_WM8750REG_H_
     22  1.1.6.2  ad 
     23  1.1.6.2  ad /*
     24  1.1.6.2  ad  * Wolfson Microelectronics' WM8750 I2C/I2S audio codec:
     25  1.1.6.2  ad  * - I2C register definitions.  Used in the Sharp Zaurus SL-C3000.
     26  1.1.6.2  ad  */
     27  1.1.6.2  ad 
     28  1.1.6.2  ad #define LINVOL_REG 0x00			/* Left Input volume */
     29  1.1.6.2  ad #define  LINVOL_LIVU 0x100
     30  1.1.6.2  ad #define  LINVOL_LINMUTE 0x80
     31  1.1.6.2  ad #define  LINVOL_LIZC 0x40
     32  1.1.6.2  ad #define  LINVOL_LINVOL_MASK 0x3F
     33  1.1.6.2  ad #define  LINVOL_GET_LINVOL(x) ((x) & 0x3F)
     34  1.1.6.2  ad #define  LINVOL_SET_LINVOL(x) (x)
     35  1.1.6.2  ad 
     36  1.1.6.2  ad #define RINVOL_REG 0x01			/* Right Input volume */
     37  1.1.6.2  ad #define  RINVOL_RIVU 0x100
     38  1.1.6.2  ad #define  RINVOL_RINMUTE 0x80
     39  1.1.6.2  ad #define  RINVOL_RIZC 0x40
     40  1.1.6.2  ad #define  RINVOL_RINVOL_MASK 0x3F
     41  1.1.6.2  ad #define  RINVOL_GET_RINVOL(x) ((x) & 0x3F)
     42  1.1.6.2  ad #define  RINVOL_SET_RINVOL(x) (x)
     43  1.1.6.2  ad 
     44  1.1.6.2  ad #define LOUT1VOL_REG 0x02		/* LOUT1 volume */
     45  1.1.6.2  ad #define  LOUT1VOL_LO1VU 0x100
     46  1.1.6.2  ad #define  LOUT1VOL_LO1ZC 0x80
     47  1.1.6.2  ad #define  LOUT1VOL_LOUT1VOL_MASK 0x7F
     48  1.1.6.2  ad #define  LOUT1VOL_GET_LOUT1VOL(x) ((x) & 0x7F)
     49  1.1.6.2  ad #define  LOUT1VOL_SET_LOUT1VOL(x) (x)
     50  1.1.6.2  ad 
     51  1.1.6.2  ad #define ROUT1VOL_REG 0x03		/* ROUT1 volume */
     52  1.1.6.2  ad #define  ROUT1VOL_RO1VU 0x100
     53  1.1.6.2  ad #define  ROUT1VOL_RO1ZC 0x80
     54  1.1.6.2  ad #define  ROUT1VOL_ROUT1VOL_MASK 0x7F
     55  1.1.6.2  ad #define  ROUT1VOL_GET_ROUT1VOL(x) ((x) & 0x7F)
     56  1.1.6.2  ad #define  ROUT1VOL_SET_ROUT1VOL(x) (x)
     57  1.1.6.2  ad 
     58  1.1.6.2  ad #define ADCDACCTL_REG 0x05		/* ADC & DAC Control */
     59  1.1.6.2  ad #define  ADCDACCTL_ADCDIV2 0x100
     60  1.1.6.2  ad #define  ADCDACCTL_DACDIV2 0x80
     61  1.1.6.2  ad #define  ADCDACCTL_ADCPOL_MASK 0x60
     62  1.1.6.2  ad #define  ADCDACCTL_GET_ADCPOL(x) (((x) >> 5) & 0x60)
     63  1.1.6.2  ad #define  ADCDACCTL_SET_ADCPOL(x) ((x) << 5)
     64  1.1.6.2  ad #define  ADCDACCTL_HPOR 0x10
     65  1.1.6.2  ad #define  ADCDACCTL_DACMU 0x8
     66  1.1.6.2  ad #define  ADCDACCTL_DEEMPH_MASK 0x6
     67  1.1.6.2  ad #define  ADCDACCTL_GET_DEEMPH(x) (((x) >> 1) & 0x6)
     68  1.1.6.2  ad #define  ADCDACCTL_SET_DEEMPH(x) ((x) << 1)
     69  1.1.6.2  ad #define  ADCDACCTL_ADCHPD 0x1
     70  1.1.6.2  ad 
     71  1.1.6.2  ad #define AUDINT_REG 0x07			/* Audio Interface */
     72  1.1.6.2  ad #define  AUDINT_BCLKINV 0x80
     73  1.1.6.2  ad #define  AUDINT_MS 0x40
     74  1.1.6.2  ad #define  AUDINT_LRSWAP 0x20
     75  1.1.6.2  ad #define  AUDINT_LRP 0x10
     76  1.1.6.2  ad #define  AUDINT_WL_MASK 0xC
     77  1.1.6.2  ad #define  AUDINT_GET_WL(x) (((x) >> 2) & 0xC)
     78  1.1.6.2  ad #define  AUDINT_SET_WL(x) ((x) << 2)
     79  1.1.6.2  ad #define  AUDINT_FORMAT_MASK 0x3
     80  1.1.6.2  ad #define  AUDINT_GET_FORMAT(x) ((x) & 0x3)
     81  1.1.6.2  ad #define  AUDINT_SET_FORMAT(x) (x)
     82  1.1.6.2  ad 
     83  1.1.6.2  ad #define SRATE_REG 0x08			/* Sample rate */
     84  1.1.6.2  ad #define  SRATE_BCM_MASK 0x180
     85  1.1.6.2  ad #define  SRATE_GET_BCM(x) (((x) >> 7) & 0x180)
     86  1.1.6.2  ad #define  SRATE_SET_BCM(x) ((x) << 7)
     87  1.1.6.2  ad #define  SRATE_CLKDIV2 0x40
     88  1.1.6.2  ad #define  SRATE_SR_MASK 0x3E
     89  1.1.6.2  ad #define  SRATE_GET_SR(x) (((x) >> 1) & 0x3E)
     90  1.1.6.2  ad #define  SRATE_SET_SR(x) ((x) << 1)
     91  1.1.6.2  ad #define  SRATE_USB 0x1
     92  1.1.6.2  ad 
     93  1.1.6.2  ad #define LDACVOL_REG 0x0A		/* Left DAC volume */
     94  1.1.6.2  ad #define  LDACVOL_LDVU 0x100
     95  1.1.6.2  ad #define  LDACVOL_LDACVOL_MASK 0xFF
     96  1.1.6.2  ad #define  LDACVOL_GET_LDACVOL(x) ((x) & 0xFF)
     97  1.1.6.2  ad #define  LDACVOL_SET_LDACVOL(x) (x)
     98  1.1.6.2  ad 
     99  1.1.6.2  ad #define RDACVOL_REG 0x0B		/* Right DAC volume */
    100  1.1.6.2  ad #define  RDACVOL_RDVU 0x100
    101  1.1.6.2  ad #define  RDACVOL_RDACVOL_MASK 0xFF
    102  1.1.6.2  ad #define  RDACVOL_GET_RDACVOL(x) ((x) & 0xFF)
    103  1.1.6.2  ad #define  RDACVOL_SET_RDACVOL(x) (x)
    104  1.1.6.2  ad 
    105  1.1.6.2  ad #define BASSCTL_REG 0x0C		/* Bass control */
    106  1.1.6.2  ad #define  BASSCTL_BB 0x80
    107  1.1.6.2  ad #define  BASSCTL_BC 0x40
    108  1.1.6.2  ad #define  BASSCTL_BASS_MASK 0xF
    109  1.1.6.2  ad #define  BASSCTL_GET_BASS(x) ((x) & 0xF)
    110  1.1.6.2  ad #define  BASSCTL_SET_BASS(x) (x)
    111  1.1.6.2  ad 
    112  1.1.6.2  ad #define TREBCTL_REG 0x0D		/* Treble control */
    113  1.1.6.2  ad #define  TREBCTL_TC 0x40
    114  1.1.6.2  ad #define  TREBCTL_TRBL_MASK 0xF
    115  1.1.6.2  ad #define  TREBCTL_GET_TRBL(x) ((x) & 0xF)
    116  1.1.6.2  ad #define  TREBCTL_SET_TRBL(x) (x)
    117  1.1.6.2  ad 
    118  1.1.6.2  ad #define RESET_REG 0x0F			/* Reset */
    119  1.1.6.2  ad 
    120  1.1.6.2  ad #define C3DCTL_REG 0x10			/* 3D control */
    121  1.1.6.2  ad #define  C3DCTL_MODE3D 0x80
    122  1.1.6.2  ad #define  C3DCTL_3DUC 0x40
    123  1.1.6.2  ad #define  C3DCTL_3DLC 0x20
    124  1.1.6.2  ad #define  C3DCTL_3DDEPTH_MASK 0x1E
    125  1.1.6.2  ad #define  C3DCTL_GET_3DDEPTH(x) (((x) >> 1) & 0x1E)
    126  1.1.6.2  ad #define  C3DCTL_SET_3DDEPTH(x) ((x) << 1)
    127  1.1.6.2  ad #define  C3DCTL_3DEN 0x1
    128  1.1.6.2  ad 
    129  1.1.6.2  ad #define ALC1_REG 0x11			/* ALC1 */
    130  1.1.6.2  ad #define  ALC1_ALCSEL_MASK 0x180
    131  1.1.6.2  ad #define  ALC1_GET_ALCSEL(x) (((x) >> 7) & 0x180)
    132  1.1.6.2  ad #define  ALC1_SET_ALCSEL(x) ((x) << 7)
    133  1.1.6.2  ad #define  ALC1_MAXGAIN_MASK 0x70
    134  1.1.6.2  ad #define  ALC1_GET_MAXGAIN(x) (((x) >> 4) & 0x70)
    135  1.1.6.2  ad #define  ALC1_SET_MAXGAIN(x) ((x) << 4)
    136  1.1.6.2  ad #define  ALC1_ALCL_MASK 0xF
    137  1.1.6.2  ad #define  ALC1_GET_ALCL(x) ((x) & 0xF)
    138  1.1.6.2  ad #define  ALC1_SET_ALCL(x) (x)
    139  1.1.6.2  ad 
    140  1.1.6.2  ad #define ALC2_REG 0x12			/* ALC2 */
    141  1.1.6.2  ad #define  ALC2_ALCZC 0x80
    142  1.1.6.2  ad #define  ALC2_HLD_MASK 0xF
    143  1.1.6.2  ad #define  ALC2_GET_HLD(x) ((x) & 0xF)
    144  1.1.6.2  ad #define  ALC2_SET_HLD(x) (x)
    145  1.1.6.2  ad 
    146  1.1.6.2  ad #define ALC3_REG 0x13			/* ALC3 */
    147  1.1.6.2  ad #define  ALC3_DCY_MASK 0xF0
    148  1.1.6.2  ad #define  ALC3_GET_DCY(x) (((x) >> 4) & 0xF0)
    149  1.1.6.2  ad #define  ALC3_SET_DCY(x) ((x) << 4)
    150  1.1.6.2  ad #define  ALC3_ATK_MASK 0xF
    151  1.1.6.2  ad #define  ALC3_GET_ATK(x) ((x) & 0xF)
    152  1.1.6.2  ad #define  ALC3_SET_ATK(x) (x)
    153  1.1.6.2  ad 
    154  1.1.6.2  ad #define NOISEGATE_REG 0x14		/* Noise Gate */
    155  1.1.6.2  ad #define  NOISEGATE_NGTH_MASK 0xF8
    156  1.1.6.2  ad #define  NOISEGATE_GET_NGTH(x) (((x) >> 3) & 0xF8)
    157  1.1.6.2  ad #define  NOISEGATE_SET_NGTH(x) ((x) << 3)
    158  1.1.6.2  ad #define  NOISEGATE_NGG_MASK 0x6
    159  1.1.6.2  ad #define  NOISEGATE_GET_NGG(x) (((x) >> 1) & 0x6)
    160  1.1.6.2  ad #define  NOISEGATE_SET_NGG(x) ((x) << 1)
    161  1.1.6.2  ad #define  NOISEGATE_NGAT 0x1
    162  1.1.6.2  ad 
    163  1.1.6.2  ad #define LADCVOL_REG 0x15		/* Left ADC volume */
    164  1.1.6.2  ad #define  LADCVOL_LAVU 0x100
    165  1.1.6.2  ad #define  LADCVOL_LADCVOL_MASK 0xFF
    166  1.1.6.2  ad #define  LADCVOL_GET_LADCVOL(x) ((x) & 0xFF)
    167  1.1.6.2  ad #define  LADCVOL_SET_LADCVOL(x) (x)
    168  1.1.6.2  ad 
    169  1.1.6.2  ad #define RADCVOL_REG 0x16		/* Right ADC volume */
    170  1.1.6.2  ad #define  RADCVOL_RAVU 0x100
    171  1.1.6.2  ad #define  RADCVOL_RADCVOL_MASK 0xFF
    172  1.1.6.2  ad #define  RADCVOL_GET_RADCVOL(x) ((x) & 0xFF)
    173  1.1.6.2  ad #define  RADCVOL_SET_RADCVOL(x) (x)
    174  1.1.6.2  ad 
    175  1.1.6.2  ad #define ADCTL1_REG 0x17			/* Additional control(1) */
    176  1.1.6.2  ad #define  ADCTL1_TSDEN 0x100
    177  1.1.6.2  ad #define  ADCTL1_VSEL_MASK 0xC0
    178  1.1.6.2  ad #define  ADCTL1_GET_VSEL(x) (((x) >> 6) & 0xC0)
    179  1.1.6.2  ad #define  ADCTL1_SET_VSEL(x) ((x) << 6)
    180  1.1.6.2  ad #define  ADCTL1_DMONOMIX_MASK 0x30
    181  1.1.6.2  ad #define  ADCTL1_GET_DMONOMIX(x) (((x) >> 4) & 0x30)
    182  1.1.6.2  ad #define  ADCTL1_SET_DMONOMIX(x) ((x) << 4)
    183  1.1.6.2  ad #define  ADCTL1_DATSEL_MASK 0xC
    184  1.1.6.2  ad #define  ADCTL1_GET_DATSEL(x) (((x) >> 2) & 0xC)
    185  1.1.6.2  ad #define  ADCTL1_SET_DATSEL(x) ((x) << 2)
    186  1.1.6.2  ad #define  ADCTL1_DACINV 0x2
    187  1.1.6.2  ad #define  ADCTL1_TOEN 0x1
    188  1.1.6.2  ad 
    189  1.1.6.2  ad #define ADCTL2_REG 0x18			/* Additional control(2) */
    190  1.1.6.2  ad #define  ADCTL2_OUTSW3_MASK 0x180
    191  1.1.6.2  ad #define  ADCTL2_GET_OUTSW3(x) (((x) >> 7) & 0x180)
    192  1.1.6.2  ad #define  ADCTL2_SET_OUTSW3(x) ((x) << 7)
    193  1.1.6.2  ad #define  ADCTL2_HPSWEN 0x40
    194  1.1.6.2  ad #define  ADCTL2_HPSWPOL 0x20
    195  1.1.6.2  ad #define  ADCTL2_ROUT2INV 0x10
    196  1.1.6.2  ad #define  ADCTL2_TRI 0x08
    197  1.1.6.2  ad #define  ADCTL2_LRCM 0x04
    198  1.1.6.2  ad #define  ADCTL2_ADCOSR 0x02
    199  1.1.6.2  ad #define  ADCTL2_DACOSR 0x01
    200  1.1.6.2  ad 
    201  1.1.6.2  ad #define PWRMGMT1_REG 0x19		/* Pwr Mgmt (1) */
    202  1.1.6.2  ad #define  PWRMGMT1_VMIDSEL_MASK 0x180
    203  1.1.6.2  ad #define  PWRMGMT1_GET_VMIDSEL(x) (((x) >> 7) & 0x180)
    204  1.1.6.2  ad #define  PWRMGMT1_SET_VMIDSEL(x) ((x) << 7)
    205  1.1.6.2  ad #define  PWRMGMT1_VREF 0x40
    206  1.1.6.2  ad #define  PWRMGMT1_AINL 0x20
    207  1.1.6.2  ad #define  PWRMGMT1_AINR 0x10
    208  1.1.6.2  ad #define  PWRMGMT1_ADCL 0x8
    209  1.1.6.2  ad #define  PWRMGMT1_ADCR 0x4
    210  1.1.6.2  ad #define  PWRMGMT1_MICB 0x2
    211  1.1.6.2  ad #define  PWRMGMT1_DIGENB 0x1
    212  1.1.6.2  ad 
    213  1.1.6.2  ad #define PWRMGMT2_REG 0x1A		/* Pwr Mgmt (2) */
    214  1.1.6.2  ad #define  PWRMGMT2_DACL 0x100
    215  1.1.6.2  ad #define  PWRMGMT2_DACR 0x80
    216  1.1.6.2  ad #define  PWRMGMT2_LOUT1 0x40
    217  1.1.6.2  ad #define  PWRMGMT2_ROUT1 0x20
    218  1.1.6.2  ad #define  PWRMGMT2_LOUT2 0x10
    219  1.1.6.2  ad #define  PWRMGMT2_ROUT2 0x8
    220  1.1.6.2  ad #define  PWRMGMT2_MONO 0x4
    221  1.1.6.2  ad #define  PWRMGMT2_OUT3 0x2
    222  1.1.6.2  ad 
    223  1.1.6.2  ad #define ADCTL3_REG 0x1B			/* Additional Control (3) */
    224  1.1.6.2  ad #define  ADCTL3_ADCLRM_MASK 0x180
    225  1.1.6.2  ad #define  ADCTL3_GET_ADCLRM(x) (((x) >> 7) & 0x180)
    226  1.1.6.2  ad #define  ADCTL3_SET_ADCLRM(x) ((x) << 7)
    227  1.1.6.2  ad #define  ADCTL3_VROI 0x40
    228  1.1.6.2  ad #define  ADCTL3_HPFLREN 0x20
    229  1.1.6.2  ad 
    230  1.1.6.2  ad #define ADCINPMODE_REG 0x1F		/* ADC input mode */
    231  1.1.6.2  ad #define  ADCINPMODE_DS 0x100
    232  1.1.6.2  ad #define  ADCINPMODE_MONOMIX_MASK 0xC0
    233  1.1.6.2  ad #define  ADCINPMODE_GET_MONOMIX(x) (((x) >> 6) & 0xC0)
    234  1.1.6.2  ad #define  ADCINPMODE_SET_MONOMIX(x) ((x) << 6)
    235  1.1.6.2  ad #define  ADCINPMODE_RDCM 0x20
    236  1.1.6.2  ad #define  ADCINPMODE_LDCM 0x10
    237  1.1.6.2  ad 
    238  1.1.6.2  ad #define ADCLSPATH_REG 0x20		/* ADCL signal path */
    239  1.1.6.2  ad #define  ADCLSPATH_LINSEL_MASK 0xC0
    240  1.1.6.2  ad #define  ADCLSPATH_GET_LINSEL(x) (((x) >> 6) & 0xC0)
    241  1.1.6.2  ad #define  ADCLSPATH_SET_LINSEL(x) ((x) << 6)
    242  1.1.6.2  ad #define  ADCLSPATH_LMICBOOST_MASK 0x30
    243  1.1.6.2  ad #define  ADCLSPATH_GET_LMICBOOST(x) (((x) >> 4) & 0x30)
    244  1.1.6.2  ad #define  ADCLSPATH_SET_LMICBOOST(x) ((x) << 4)
    245  1.1.6.2  ad 
    246  1.1.6.2  ad #define ADCRSPATH_REG 0x21		/* ADCR signal path */
    247  1.1.6.2  ad #define  ADCRSPATH_RINSEL_MASK 0xC0
    248  1.1.6.2  ad #define  ADCRSPATH_GET_RINSEL(x) (((x) >> 6) & 0xC0)
    249  1.1.6.2  ad #define  ADCRSPATH_SET_RINSEL(x) ((x) << 6)
    250  1.1.6.2  ad #define  ADCRSPATH_RMICBOOST_MASK 0x30
    251  1.1.6.2  ad #define  ADCRSPATH_GET_RMICBOOST(x) (((x) >> 4) & 0x30)
    252  1.1.6.2  ad #define  ADCRSPATH_SET_RMICBOOST(x) ((x) << 4)
    253  1.1.6.2  ad 
    254  1.1.6.2  ad #define LOUTMIX1_REG 0x22		/* Left out Mix (1) */
    255  1.1.6.2  ad #define  LOUTMIX1_LD2LO 0x100
    256  1.1.6.2  ad #define  LOUTMIX1_LI2LO 0x80
    257  1.1.6.2  ad #define  LOUTMIX1_LI2LOVOL_MASK 0x70
    258  1.1.6.2  ad #define  LOUTMIX1_GET_LI2LOVOL(x) (((x) >> 4) & 0x70)
    259  1.1.6.2  ad #define  LOUTMIX1_SET_LI2LOVOL(x) ((x) << 4)
    260  1.1.6.2  ad #define  LOUTMIX1_LMIXSEL_MASK 0x7
    261  1.1.6.2  ad #define  LOUTMIX1_GET_LMIXSEL(x) ((x) & 0x7)
    262  1.1.6.2  ad #define  LOUTMIX1_SET_LMIXSEL(x) (x)
    263  1.1.6.2  ad 
    264  1.1.6.2  ad #define LOUTMIX2_REG 0x23		/* Left out Mix (2) */
    265  1.1.6.2  ad #define  LOUTMIX2_RD2LO 0x100
    266  1.1.6.2  ad #define  LOUTMIX2_RI2LO 0x80
    267  1.1.6.2  ad #define  LOUTMIX2_RI2LOVOL_MASK 0x70
    268  1.1.6.2  ad #define  LOUTMIX2_GET_RI2LOVOL(x) (((x) >> 4) & 0x70)
    269  1.1.6.2  ad #define  LOUTMIX2_SET_RI2LOVOL(x) ((x) << 4)
    270  1.1.6.2  ad 
    271  1.1.6.2  ad #define ROUTMIX1_REG 0x24		/* Right out Mix (1) */
    272  1.1.6.2  ad #define  ROUTMIX1_LD2RO 0x100
    273  1.1.6.2  ad #define  ROUTMIX1_LI2RO 0x80
    274  1.1.6.2  ad #define  ROUTMIX1_LI2ROVOL_MASK 0x70
    275  1.1.6.2  ad #define  ROUTMIX1_GET_LI2ROVOL(x) (((x) >> 4) & 0x70)
    276  1.1.6.2  ad #define  ROUTMIX1_SET_LI2ROVOL(x) ((x) << 4)
    277  1.1.6.2  ad #define  ROUTMIX1_RMIXSEL_MASK 0x7
    278  1.1.6.2  ad #define  ROUTMIX1_GET_RMIXSEL(x) ((x) & 0x7)
    279  1.1.6.2  ad #define  ROUTMIX1_SET_RMIXSEL(x) (x)
    280  1.1.6.2  ad 
    281  1.1.6.2  ad #define ROUTMIX2_REG 0x25		/* Right out Mix (2) */
    282  1.1.6.2  ad #define  ROUTMIX2_RD2RO 0x100
    283  1.1.6.2  ad #define  ROUTMIX2_RI2RO 0x80
    284  1.1.6.2  ad #define  ROUTMIX2_RI2ROVOL_MASK 0x70
    285  1.1.6.2  ad #define  ROUTMIX2_GET_RI2ROVOL(x) (((x) >> 4) & 0x70)
    286  1.1.6.2  ad #define  ROUTMIX2_SET_RI2ROVOL(x) ((x) << 4)
    287  1.1.6.2  ad 
    288  1.1.6.2  ad #define MOUTMIX1_REG 0x26		/* Mono out Mix (1) */
    289  1.1.6.2  ad #define  MOUTMIX1_LD2MO 0x100
    290  1.1.6.2  ad #define  MOUTMIX1_LI2MO 0x80
    291  1.1.6.2  ad #define  MOUTMIX1_LI2MOVOL_MASK 0x70
    292  1.1.6.2  ad #define  MOUTMIX1_GET_LI2MOVOL(x) (((x) >> 4) & 0x70)
    293  1.1.6.2  ad #define  MOUTMIX1_SET_LI2MOVOL(x) ((x) << 4)
    294  1.1.6.2  ad 
    295  1.1.6.2  ad #define MOUTMIX2_REG 0x27		/* Mono out Mix (2) */
    296  1.1.6.2  ad #define  MOUTMIX2_RD2MO 0x100
    297  1.1.6.2  ad #define  MOUTMIX2_RI2MO 0x80
    298  1.1.6.2  ad #define  MOUTMIX2_RI2MOVOL_MASK 0x70
    299  1.1.6.2  ad #define  MOUTMIX2_GET_RI2MOVOL(x) (((x) >> 4) & 0x70)
    300  1.1.6.2  ad #define  MOUTMIX2_SET_RI2MOVOL(x) ((x) << 4)
    301  1.1.6.2  ad 
    302  1.1.6.2  ad #define LOUT2VOL_REG 0x28		/* LOUT2 volume */
    303  1.1.6.2  ad #define  LOUT2VOL_LO2VU 0x100
    304  1.1.6.2  ad #define  LOUT2VOL_LO2ZC 0x80
    305  1.1.6.2  ad #define  LOUT2VOL_LOUT2VOL_MASK 0x7F
    306  1.1.6.2  ad #define  LOUT2VOL_GET_LOUT2VOL(x) ((x) & 0x7F)
    307  1.1.6.2  ad #define  LOUT2VOL_SET_LOUT2VOL(x) (x)
    308  1.1.6.2  ad 
    309  1.1.6.2  ad #define ROUT2VOL_REG 0x29		/* ROUT2 volume */
    310  1.1.6.2  ad #define  ROUT2VOL_RO2VU 0x100
    311  1.1.6.2  ad #define  ROUT2VOL_RO2ZC 0x80
    312  1.1.6.2  ad #define  ROUT2VOL_ROUT2VOL_MASK 0x7F
    313  1.1.6.2  ad #define  ROUT2VOL_GET_ROUT2VOL(x) ((x) & 0x7F)
    314  1.1.6.2  ad #define  ROUT2VOL_SET_ROUT2VOL(x) (x)
    315  1.1.6.2  ad 
    316  1.1.6.2  ad #define MOUTVOL_REG 0x2A		/* MONOOUT volume */
    317  1.1.6.2  ad #define  MOUTVOL_MOZC 0x80
    318  1.1.6.2  ad #define  MOUTVOL_MOUTVOL_MASK 0x7F
    319  1.1.6.2  ad #define  MOUTVOL_GET_MOUTVOL(x) ((x) & 0x7F)
    320  1.1.6.2  ad #define  MOUTVOL_SET_MOUTVOL(x) (x)
    321  1.1.6.2  ad 
    322  1.1.6.2  ad #endif	/* _DEV_IC_WM8750REG_H_ */
    323