WM8904: Ad the MCLK frequency to the interface definition. The WM8904 driver needs to know this frequency in order to configure the FLL to generate the correct bitrate

This commit is contained in:
Gregory Nutt 2014-08-01 18:37:56 -06:00
parent 7e576e308a
commit 1f2428c087
3 changed files with 10 additions and 2 deletions

View File

@ -120,6 +120,7 @@ static struct sama5d3ek_mwinfo_s g_mxtinfo =
{
.address = WM8904_I2C_ADDRESS,
.frequency = CONFIG_SAMA5D3xEK_WM8904_I2CFREQUENCY,
.mclk = BOARD_SLOWCLK_FREQUENCY,
.attach = wm8904_attach,
.enable = wm8904_enable,

View File

@ -120,6 +120,7 @@ static struct sama5d4ek_mwinfo_s g_mxtinfo =
{
.address = WM8904_I2C_ADDRESS,
.frequency = CONFIG_SAMA5D4EK_WM8904_I2CFREQUENCY,
.mclk = BOARD_SLOWCLK_FREQUENCY,
.attach = wm8904_attach,
.enable = wm8904_enable,

View File

@ -150,10 +150,16 @@ typedef CODE int (*wm8904_handler_t)(FAR const struct wm8904_lower_s *lower,
struct wm8904_lower_s
{
/* Device characterization */
/* I2C characterization */
uint32_t frequency; /* Initial I2C frequency */
uint8_t address; /* 7-bit I2C address (only bits 0-6 used) */
uint8_t address; /* 7-bit I2C address (only bits 0-6 used) */
/* Clocking is provided via MCLK. The WM8904 driver will need to know
* the frequency of MCLK in order to generate the correct bitrates.
*/
uint32_t mcclk; /* W8904 Master clock frequency */
/* IRQ/GPIO access callbacks. These operations all hidden behind
* callbacks to isolate the WM8904 driver from differences in GPIO