45#define WM8904_CSB_STATE (0x0 << 0)
48#define WM8904_SLAVE_ADDRESS 0x1a | WM8904_CSB_STATE
49#define CS2100_SLAVE_ADDRESS 0x4E
53#define WM8904_REG_RESET 0x00
56#define WM8904_REG_BIAS_CTRL0 0x04
59#define WM8904_REG_VMID_CTRL0 0x05
62#define WM8904_REG_MICBIAS_CTRL0 0x06
65#define WM8904_REG_BIAS_CTRL1 0x07
68#define WM8904_REG_POWER_MANG0 0x0C
70#define WM8904_REG_POWER_MANG2 0x0E
72#define WM8904_REG_POWER_MANG3 0x0F
74#define WM8904_REG_POWER_MANG6 0x12
77#define WM8904_REG_CLOCK_RATE0 0x14
79#define WM8904_REG_CLOCK_RATE1 0x15
82#define WM8904_REG_CLOCK_RATE2 0x16
85#define WM8904_REG_AUD_INF0 0x18
88#define WM8904_REG_AUD_INF1 0x19
90#define WM8904_REG_AUD_INF2 0x1A
92#define WM8904_REG_AUD_INF3 0x1B
95#define WM8904_REG_ADC_DIG0 0x20
97#define WM8904_REG_ADC_DIG1 0x21
100#define WM8904_REG_ANALOGUE_LIN0 0x2C
102#define WM8904_REG_ANALOGUE_RIN0 0x2D
105#define WM8904_REG_ANALOGUE_LIN1 0x2E
107#define WM8904_REG_ANALOGUE_RIN1 0x2F
110#define WM8904_REG_ANALOGUE_LOUT1 0x39
112#define WM8904_REG_ANALOGUE_ROUT1 0x3A
115#define WM8904_REG_ANALOGUE_LOUT2 0x3B
117#define WM8904_REG_ANALOGUE_ROUT2 0x3C
120#define WM8904_REG_ANALOGUE_OUT12ZC 0x3D
123#define WM8904_REG_DC_SERVO0 0x43
126#define WM8904_REG_ANALOGUE_HP0 0x5A
129#define WM8904_REG_CHARGE_PUMP0 0x62
132#define WM8904_REG_CLASS0 0x68
135#define WM8904_REG_FLL_CRTL1 0x74
137#define WM8904_REG_FLL_CRTL2 0x75
139#define WM8904_REG_FLL_CRTL3 0x76
141#define WM8904_REG_FLL_CRTL4 0x77
143#define WM8904_REG_FLL_CRTL5 0x78
146#define WM8904_REG_END 0xFF
152extern uint16_t WM8904_Read(
Twid *pTwid, uint32_t device, uint32_t regAddr);
153extern void WM8904_Write(
Twid *pTwid, uint32_t device, uint32_t regAddr,
155extern uint8_t WM8904_Init(
Twid *pTwid, uint32_t device, uint32_t PCK);
156extern uint8_t WM8904_VolumeSet(
Twid *pTwid, uint32_t device, uint16_t value);
157extern void WM8904_IN2R_IN1L(
Twid *pTwid, uint32_t device);
TWI driver structure. Holds the internal state of the driver.
Definition: twid.h:72