]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00139265-3 mxc alsa soc spdif driver
authorAlan Tull <alan.tull@freescale.com>
Tue, 28 Jun 2011 16:18:05 +0000 (11:18 -0500)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:09:46 +0000 (14:09 +0200)
* Add spdif block clock divider settings and spdif_clk_set_rate
  function to mxc_spdif_platform_data.

Signed-off-by: Alan Tull <alan.tull@freescale.com>
arch/arm/mach-mx5/board-mx51_3ds.c
arch/arm/mach-mx5/board-mx51_babbage.c
arch/arm/mach-mx5/board-mx53_ard.c
arch/arm/mach-mx5/board-mx53_evk.c
arch/arm/mach-mx5/board-mx53_loco.c
arch/arm/mach-mx5/board-mx53_smd.c

index c279555bf2d7531b85919f7e27288998dbeb70a2..b51f08eab6c3df837766c18d6b6e34028bfca2e8 100644 (file)
@@ -135,9 +135,12 @@ static struct spi_board_info mx51_3ds_spi_nor_device[] = {
 static struct mxc_spdif_platform_data mxc_spdif_data = {
        .spdif_tx = 1,
        .spdif_rx = 0,
-       .spdif_clk_44100 = 0,   /* spdif_ext_clk source for 44.1KHz */
-       .spdif_clk_48000 = 7,   /* audio osc source */
-       .spdif_clkid = 0,
+       .spdif_clk_44100 = 0,   /* tx clk from CKIH1 for 44.1K */
+       .spdif_clk_48000 = 7,   /* tx clk from CKIH2 for 48k and 32k */
+       .spdif_div_44100 = 8,
+       .spdif_div_48000 = 8,
+       .spdif_div_32000 = 12,
+       .spdif_rx_clk = 0,      /* rx clk from spdif stream */
        .spdif_clk = NULL,      /* spdif bus clk */
 };
 
index 8a7d8af560731aca154088ec8b03457283024335..17a02201e2415156aab42f2c8c2be206547d4a91 100755 (executable)
@@ -673,9 +673,12 @@ static struct platform_device bbg_audio_device = {
 static struct mxc_spdif_platform_data mxc_spdif_data = {
        .spdif_tx = 1,
        .spdif_rx = 0,
-       .spdif_clk_44100 = 0,   /* spdif_ext_clk source for 44.1KHz */
-       .spdif_clk_48000 = 7,   /* audio osc source */
-       .spdif_clkid = 0,
+       .spdif_clk_44100 = 0,   /* tx clk from CKIH1 for 44.1K */
+       .spdif_clk_48000 = 7,   /* tx clk from CKIH2 for 48k and 32k */
+       .spdif_div_44100 = 8,
+       .spdif_div_48000 = 8,
+       .spdif_div_32000 = 12,
+       .spdif_rx_clk = 0,      /* rx clk from spdif stream */
        .spdif_clk = NULL,      /* spdif bus clk */
 };
 
index 8f0cb9c7d4dd2744a96fa96eb6384860b5e66bc5..f07ed8e48790b4f97bc7d94f56a9c235a1761485 100755 (executable)
@@ -341,9 +341,12 @@ static struct i2c_board_info mxc_i2c2_board_info[] __initdata = {
 static struct mxc_spdif_platform_data mxc_spdif_data = {
        .spdif_tx = 0,
        .spdif_rx = 1,
-       .spdif_clk_44100 = 0,   /* Souce from CKIH1 for 44.1K */
-       .spdif_clk_48000 = 7,   /* Source from CKIH2 for 48k and 32k */
-       .spdif_clkid = 0,
+       .spdif_clk_44100 = 0,   /* tx clk from CKIH1 for 44.1K */
+       .spdif_clk_48000 = 7,   /* tx clk from CKIH2 for 48k and 32k */
+       .spdif_div_44100 = 8,
+       .spdif_div_48000 = 8,
+       .spdif_div_32000 = 12,
+       .spdif_rx_clk = 0,      /* rx clk from spdif stream */
        .spdif_clk = NULL,      /* spdif bus clk */
 };
 
index 81aa39755f9021983f899c17554fa2e8fbed9829..63d555893dc79c877666b67df54fceb0806e403e 100755 (executable)
@@ -714,9 +714,12 @@ static void __init mx53_evk_io_init(void)
 static struct mxc_spdif_platform_data mxc_spdif_data = {
        .spdif_tx = 1,
        .spdif_rx = 0,
-       .spdif_clk_44100 = 0,   /* Souce from CKIH1 for 44.1K */
-       .spdif_clk_48000 = 7,   /* Source from CKIH2 for 48k and 32k */
-       .spdif_clkid = 0,
+       .spdif_clk_44100 = 0,   /* tx clk from CKIH1 for 44.1K */
+       .spdif_clk_48000 = 7,   /* tx clk from CKIH2 for 48k and 32k */
+       .spdif_div_44100 = 8,
+       .spdif_div_48000 = 8,
+       .spdif_div_32000 = 12,
+       .spdif_rx_clk = 0,      /* rx clk from spdif stream */
        .spdif_clk = NULL,      /* spdif bus clk */
 };
 
index b9a8a8ebf0dc61b11f947bf103f806eca5b9ee7b..e8dfdadf3af8be1c7acd54e350b5f502ad82764e 100755 (executable)
@@ -675,7 +675,10 @@ static struct mxc_spdif_platform_data mxc_spdif_data = {
         * It's not accurate: for 48Khz it is actually 46875Hz (2.3% off)
         */
        .spdif_clk_48000 = 1,
-       .spdif_clkid = 0,
+       .spdif_div_44100 = 8,
+       .spdif_div_48000 = 8,
+       .spdif_div_32000 = 12,
+       .spdif_rx_clk = 0,      /* rx clk from spdif stream */
        .spdif_clk = NULL,      /* spdif bus clk */
 };
 
index 79d0c76b7b62ab1d126fa55abfa6ce7f209963c8..51ef71d9f2670758183460511550c59e562f4d0a 100755 (executable)
@@ -734,7 +734,10 @@ static struct mxc_spdif_platform_data mxc_spdif_data = {
         * It's not accurate
         */
        .spdif_clk_48000 = 1,
-       .spdif_clkid = 0,
+       .spdif_div_44100 = 8,
+       .spdif_div_48000 = 8,
+       .spdif_div_32000 = 12,
+       .spdif_rx_clk = 0,      /* rx clk from spdif stream */
        .spdif_clk = NULL,      /* spdif bus clk */
 };