summaryrefslogtreecommitdiff
path: root/firmware/drivers/wm8523.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/wm8523.c')
-rw-r--r--firmware/drivers/wm8523.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/firmware/drivers/wm8523.c b/firmware/drivers/wm8523.c
index 96d5cae..e1711fd 100644
--- a/firmware/drivers/wm8523.c
+++ b/firmware/drivers/wm8523.c
@@ -113,6 +113,10 @@ void wm8523_init(uint8_t portnum, wm8523_samplerate_t fs)
if(portnum == 0) SSP0Init();
else SSP1Init();
+#if 1
+ i2s_init();
+ (void)fs;
+#else
I2SInit();
// pg. 482
@@ -138,8 +142,8 @@ void wm8523_init(uint8_t portnum, wm8523_samplerate_t fs)
// I2STXBITRATE 0x400A 8028
// bit 0-5 I2S transmit bit rate. This value plus one is used to divide TX_MCLK to produce the transmit bit clock.
// set to 31 (divide by 32): stereo (2) * 16bit
- uint32_t *i2stxbirate = (uint32_t *)0x400a8028;
- *i2stxbirate = 7;
+ uint32_t *i2stxbitrate = (uint32_t *)0x400a8028;
+ *i2stxbitrate = 7;
// bitclock = mclock / (divider+1)
// samplerate = mclock / bitclock
@@ -179,7 +183,8 @@ void wm8523_init(uint8_t portnum, wm8523_samplerate_t fs)
(0b1111 << 4) | // Divide by 16
(0b1 << 8) // Enable
;
- */
+ */
+#endif
}
unsigned short wm8523_get_chip_id(uint8_t portnum)
@@ -315,7 +320,8 @@ void wm8523_tone()
NVIC_EnableIRQ(I2S_IRQn);
// RX FIFO depth is 1, TX FIFO depth is 8.
- I2SStart();
+ //I2SStart();
+ i2s_tx_start();
LPC_I2S->I2SIRQ = (8 << 16) | (1 << 8) | (0x01 << 0);
//uint32_t val = 0;