SAMA5 WM8904: Add option to use MAINCK as WM8904 MCLK
This commit is contained in:
parent
55e6fd5381
commit
1f213064e0
@ -260,5 +260,16 @@ config SAMA5D3xEK_WM8904_I2CFREQUENCY
|
||||
the WM8904. If you have problems communicating with the WM8904,
|
||||
then you might want to try lowering this rate.
|
||||
|
||||
choice
|
||||
prompt "WM8904 MCLK source"
|
||||
default SAMA5D3xEK_WM8904_SRCMAIN
|
||||
|
||||
config SAMA5D3xEK_WM8904_SRCMAIN
|
||||
bool "Main Clock (12MHz)"
|
||||
|
||||
config SAMA5D3xEK_WM8904_SRCSCK
|
||||
bool "Slow XTAL (32.768KHz)"
|
||||
|
||||
endchoice # WM8904 MCLK source
|
||||
endif # AUDIO_WM8904
|
||||
endif # ARCH_BOARD_SAMA5D3X_EK
|
||||
|
@ -120,7 +120,11 @@ static struct sama5d3ek_mwinfo_s g_mxtinfo =
|
||||
{
|
||||
.address = WM8904_I2C_ADDRESS,
|
||||
.frequency = CONFIG_SAMA5D3xEK_WM8904_I2CFREQUENCY,
|
||||
#ifdef CONFIG_SAMA5D3xEK_WM8904_SRCSCK
|
||||
.mclk = BOARD_SLOWCLK_FREQUENCY,
|
||||
#else
|
||||
.mclk = BOARD_MAINCK_FREQUENCY,
|
||||
#endif
|
||||
|
||||
.attach = wm8904_attach,
|
||||
.enable = wm8904_enable,
|
||||
@ -281,8 +285,16 @@ int sam_wm8904_initialize(int minor)
|
||||
* that is connected to the WM8904 MCLK.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_SAMA5D3xEK_WM8904_SRCSCK
|
||||
/* Drive the DAC with the slow clock (32.768 KHz) */
|
||||
|
||||
sam_sckc_enable(true);
|
||||
(void)sam_pck_configure(PCK0, PCKSRC_SCK, BOARD_SLOWCLK_FREQUENCY);
|
||||
#else
|
||||
/* Drive the DAC with the main clock (12 MHz) */
|
||||
|
||||
(void)sam_pck_configure(PCK0, PCKSRC_MAINCK, BOARD_MAINCK_FREQUENCY);
|
||||
#endif
|
||||
|
||||
/* Enable the DAC master clock */
|
||||
|
||||
|
@ -280,5 +280,16 @@ config SAMA5D4EK_WM8904_I2CFREQUENCY
|
||||
the WM8904. If you have problems communicating with the WM8904,
|
||||
then you might want to try lowering this rate.
|
||||
|
||||
choice
|
||||
prompt "WM8904 MCLK source"
|
||||
default SAMA5D4EK_WM8904_SRCMAIN
|
||||
|
||||
config SAMA5D4EK_WM8904_SRCMAIN
|
||||
bool "Main Clock (12MHz)"
|
||||
|
||||
config SAMA5D4EK_WM8904_SRCSCK
|
||||
bool "Slow XTAL (32.768KHz)"
|
||||
|
||||
endchoice # WM8904 MCLK source
|
||||
endif # AUDIO_WM8904
|
||||
endif # ARCH_BOARD_SAMA5D4_EK
|
||||
|
@ -120,7 +120,11 @@ static struct sama5d4ek_mwinfo_s g_mxtinfo =
|
||||
{
|
||||
.address = WM8904_I2C_ADDRESS,
|
||||
.frequency = CONFIG_SAMA5D4EK_WM8904_I2CFREQUENCY,
|
||||
#ifdef CONFIG_SAMA5D4EK_WM8904_SRCSCK
|
||||
.mclk = BOARD_SLOWCLK_FREQUENCY,
|
||||
#else
|
||||
.mclk = BOARD_MAINCK_FREQUENCY,
|
||||
#endif
|
||||
|
||||
.attach = wm8904_attach,
|
||||
.enable = wm8904_enable,
|
||||
@ -281,8 +285,16 @@ int sam_wm8904_initialize(int minor)
|
||||
* that is connected to the WM8904 MCLK.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_SAMA5D4EK_WM8904_SRCSCK
|
||||
/* Drive the DAC with the slow clock (32.768 KHz) */
|
||||
|
||||
sam_sckc_enable(true);
|
||||
(void)sam_pck_configure(PCK2, PCKSRC_SCK, BOARD_SLOWCLK_FREQUENCY);
|
||||
#else
|
||||
/* Drive the DAC with the main clock (12 MHz) */
|
||||
|
||||
(void)sam_pck_configure(PCK0, PCKSRC_MAINCK, BOARD_MAINCK_FREQUENCY);
|
||||
#endif
|
||||
|
||||
/* Enable the DAC master clock */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user