[BACK]Return to wm8750reg.h CVS log [TXT][DIR] Up to [local] / sys / dev / i2c

Annotation of sys/dev/i2c/wm8750reg.h, Revision 1.1

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

CVSweb