38 #define I2S_MCK_PORT 1
39 #define I2S_MCK_PIN 17
42 #define I2S_SCK_PORT 0
51 #define I2CDEV_CODEC_ADDR 0x1A
52 #define CODEC_I2C_BUS LPC_I2C0
53 #define CODEC_I2C_BUS_ID I2C0
55 #define MULTI_REGISTER_DELAY_COMMAND 0xFFFF
56 #define MULTI_REGISTER_WAIT_FOR_SEQUENCER_NOT_BUSY 0xFFFE
58 typedef struct __WM8903_Init_Seq {
117 uint32_t timeoutTimer;
118 uint32_t timeoutTicks;
122 for (i = 0; i < cnt; i++) {
124 switch ( seq[i].reg_adr ) {
168 i2cmXferRec.
txSz = txSize;
169 i2cmXferRec.
rxSz = rxSize;
170 i2cmXferRec.
txBuff = txBuffPtr;
171 i2cmXferRec.
rxBuff = rxBuffPtr;
190 return (rx_data[0] << 8) | rx_data[1];
197 dat[0] = reg; dat[1] = val >> 8; dat[2] = val & 0xFF;
201 return i2cmXferRec.
status;
345 DEBUGOUT(
"Dump of all registers:\r\n" );
348 for (ix=0; registerLookupTable[ix].
name;ix++) {
350 uint16_t valueRead =
WM8903_REG_Read( registerLookupTable[ix].address );
352 DEBUGOUT(
"%-30s = 0x%04X\r\n", registerLookupTable[ix].name, valueRead );