linux/sound/aoa/codecs/onyx.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Apple Onboard Audio driver for Onyx codec (header)
   4 *
   5 * Copyright 2006 Johannes Berg <johannes@sipsolutions.net>
   6 */
   7#ifndef __SND_AOA_CODEC_ONYX_H
   8#define __SND_AOA_CODEC_ONYX_H
   9#include <stddef.h>
  10#include <linux/i2c.h>
  11#include <asm/pmac_low_i2c.h>
  12#include <asm/prom.h>
  13
  14/* PCM3052 register definitions */
  15
  16/* the attenuation registers take values from
  17 * -1 (0dB) to -127 (-63.0 dB) or others (muted) */
  18#define ONYX_REG_DAC_ATTEN_LEFT         65
  19#define FIRSTREGISTER                   ONYX_REG_DAC_ATTEN_LEFT
  20#define ONYX_REG_DAC_ATTEN_RIGHT        66
  21
  22#define ONYX_REG_CONTROL                67
  23#       define ONYX_MRST                (1<<7)
  24#       define ONYX_SRST                (1<<6)
  25#       define ONYX_ADPSV               (1<<5)
  26#       define ONYX_DAPSV               (1<<4)
  27#       define ONYX_SILICONVERSION      (1<<0)
  28/* all others reserved */
  29
  30#define ONYX_REG_DAC_CONTROL            68
  31#       define ONYX_OVR1                (1<<6)
  32#       define ONYX_MUTE_RIGHT          (1<<1)
  33#       define ONYX_MUTE_LEFT           (1<<0)
  34
  35#define ONYX_REG_DAC_DEEMPH             69
  36#       define ONYX_DIGDEEMPH_SHIFT     5
  37#       define ONYX_DIGDEEMPH_MASK      (3<<ONYX_DIGDEEMPH_SHIFT)
  38#       define ONYX_DIGDEEMPH_CTRL      (1<<4)
  39
  40#define ONYX_REG_DAC_FILTER             70
  41#       define ONYX_ROLLOFF_FAST        (1<<5)
  42#       define ONYX_DAC_FILTER_ALWAYS   (1<<2)
  43
  44#define ONYX_REG_DAC_OUTPHASE           71
  45#       define ONYX_OUTPHASE_INVERTED   (1<<0)
  46
  47#define ONYX_REG_ADC_CONTROL            72
  48#       define ONYX_ADC_INPUT_MIC       (1<<5)
  49/* 8 + input gain in dB, valid range for input gain is -4 .. 20 dB */
  50#       define ONYX_ADC_PGA_GAIN_MASK   0x1f
  51
  52#define ONYX_REG_ADC_HPF_BYPASS         75
  53#       define ONYX_HPF_DISABLE         (1<<3)
  54#       define ONYX_ADC_HPF_ALWAYS      (1<<2)
  55
  56#define ONYX_REG_DIG_INFO1              77
  57#       define ONYX_MASK_DIN_TO_BPZ     (1<<7)
  58/* bits 1-5 control channel bits 1-5 */
  59#       define ONYX_DIGOUT_DISABLE      (1<<0)
  60
  61#define ONYX_REG_DIG_INFO2              78
  62/* controls channel bits 8-15 */
  63
  64#define ONYX_REG_DIG_INFO3              79
  65/* control channel bits 24-29, high 2 bits reserved */
  66
  67#define ONYX_REG_DIG_INFO4              80
  68#       define ONYX_VALIDL              (1<<7)
  69#       define ONYX_VALIDR              (1<<6)
  70#       define ONYX_SPDIF_ENABLE        (1<<5)
  71/* lower 4 bits control bits 32-35 of channel control and word length */
  72#       define ONYX_WORDLEN_MASK        (0xF)
  73
  74#endif /* __SND_AOA_CODEC_ONYX_H */
  75