aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShengjiu Wang <b02247@freescale.com>2014-04-27 22:59:28 -0400
committerShengjiu Wang <b02247@freescale.com>2014-04-29 00:42:53 -0400
commit0673acf93a40e5b26b667b627dc62b81b377cc70 (patch)
tree7b78018b0dfaccad18f39c65761e1f3c8834f871
parentc626c77caa8d381254b24556ac78a96ab2936937 (diff)
ENGR00310878-1 Asoc: fsl: refine clock tree for ESAI
There are three clock for ESAI, esai_extal, esai_ipg, esai_mem. Make the clock for ESAI more clear. Signed-off-by: Shengjiu Wang <b02247@freescale.com>
-rw-r--r--Documentation/devicetree/bindings/clock/imx6q-clock.txt4
-rw-r--r--arch/arm/boot/dts/imx6qdl.dtsi4
-rw-r--r--arch/arm/boot/dts/imx6sx-19x19-arm2.dts4
-rw-r--r--arch/arm/boot/dts/imx6sx.dtsi8
-rw-r--r--arch/arm/mach-imx/clk-imx6q.c13
-rw-r--r--arch/arm/mach-imx/clk-imx6sx.c7
-rw-r--r--arch/arm/mach-imx/mach-imx6q.c8
-rw-r--r--include/dt-bindings/clock/imx6sx-clock.h6
-rw-r--r--sound/soc/fsl/fsl_esai.c9
-rw-r--r--sound/soc/fsl/fsl_esai.h1
10 files changed, 44 insertions, 20 deletions
diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/Documentation/devicetree/bindings/clock/imx6q-clock.txt
index 4f493bf9e961..622e5ac90d28 100644
--- a/Documentation/devicetree/bindings/clock/imx6q-clock.txt
+++ b/Documentation/devicetree/bindings/clock/imx6q-clock.txt
@@ -128,7 +128,7 @@ clocks and IDs.
128 ecspi4 115 128 ecspi4 115
129 ecspi5 116 129 ecspi5 116
130 enet 117 130 enet 117
131 esai 118 131 esai_extal 118
132 gpt_ipg 119 132 gpt_ipg 119
133 gpt_ipg_per 120 133 gpt_ipg_per 120
134 gpu2d_core 121 134 gpu2d_core 121
@@ -238,6 +238,8 @@ clocks and IDs.
238 spdif1 225 238 spdif1 225
239 asrc_ipg 226 239 asrc_ipg 226
240 asrc_mem 227 240 asrc_mem 227
241 esai_ipg 228
242 esai_mem 229
241 243
242Examples: 244Examples:
243 245
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 32c2e67cca63..9cdd0d3710b8 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -249,8 +249,8 @@
249 compatible = "fsl,imx6q-esai"; 249 compatible = "fsl,imx6q-esai";
250 reg = <0x02024000 0x4000>; 250 reg = <0x02024000 0x4000>;
251 interrupts = <0 51 0x04>; 251 interrupts = <0 51 0x04>;
252 clocks = <&clks 118>, <&clks 156>; 252 clocks = <&clks 228>, <&clks 229>, <&clks 118>, <&clks 228>, <&clks 156>;
253 clock-names = "core", "dma"; 253 clock-names = "core", "mem", "extal", "fsys", "dma";
254 fsl,esai-dma-events = <24 23>; 254 fsl,esai-dma-events = <24 23>;
255 fsl,flags = <1>; 255 fsl,flags = <1>;
256 status = "disabled"; 256 status = "disabled";
diff --git a/arch/arm/boot/dts/imx6sx-19x19-arm2.dts b/arch/arm/boot/dts/imx6sx-19x19-arm2.dts
index e7abb2a78ab7..901b469ee508 100644
--- a/arch/arm/boot/dts/imx6sx-19x19-arm2.dts
+++ b/arch/arm/boot/dts/imx6sx-19x19-arm2.dts
@@ -300,8 +300,8 @@
300 cs42888: cs42888@048 { 300 cs42888: cs42888@048 {
301 compatible = "cirrus,cs42888"; 301 compatible = "cirrus,cs42888";
302 reg = <0x048>; 302 reg = <0x048>;
303 clocks = <&clks IMX6SX_CLK_ESAI>; 303 clocks = <&clks IMX6SX_CLK_ESAI_EXTAL>;
304 clock-names = "esai"; 304 clock-names = "esai_extal";
305 VA-supply = <&reg_3p3v>; 305 VA-supply = <&reg_3p3v>;
306 VD-supply = <&reg_3p3v>; 306 VD-supply = <&reg_3p3v>;
307 VLS-supply = <&reg_3p3v>; 307 VLS-supply = <&reg_3p3v>;
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index 46a65cc9d258..9d04725f07d4 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -247,8 +247,12 @@
247 compatible = "fsl,imx6q-esai"; 247 compatible = "fsl,imx6q-esai";
248 reg = <0x02024000 0x4000>; 248 reg = <0x02024000 0x4000>;
249 interrupts = <0 51 0x04>; 249 interrupts = <0 51 0x04>;
250 clocks = <&clks IMX6SX_CLK_ESAI>, <&clks IMX6SX_CLK_SPBA>; 250 clocks = <&clks IMX6SX_CLK_ESAI_IPG>,
251 clock-names = "core", "dma"; 251 <&clks IMX6SX_CLK_ESAI_MEM>,
252 <&clks IMX6SX_CLK_ESAI_EXTAL>,
253 <&clks IMX6SX_CLK_ESAI_IPG>,
254 <&clks IMX6SX_CLK_SPBA>;
255 clock-names = "core", "mem", "extal", "fsys", "dma";
252 fsl,esai-dma-events = <24 23>; 256 fsl,esai-dma-events = <24 23>;
253 fsl,flags = <1>; 257 fsl,flags = <1>;
254 status = "disabled"; 258 status = "disabled";
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
index 77d425c4a3a5..6aaaee22805c 100644
--- a/arch/arm/mach-imx/clk-imx6q.c
+++ b/arch/arm/mach-imx/clk-imx6q.c
@@ -67,7 +67,7 @@ static const char *cko2_sels[] = {
67 "ipu2", "vdo_axi", "osc", "gpu2d_core", 67 "ipu2", "vdo_axi", "osc", "gpu2d_core",
68 "gpu3d_core", "usdhc2", "ssi1", "ssi2", 68 "gpu3d_core", "usdhc2", "ssi1", "ssi2",
69 "ssi3", "gpu3d_shader", "vpu_axi", "can_root", 69 "ssi3", "gpu3d_shader", "vpu_axi", "can_root",
70 "ldb_di0", "ldb_di1", "esai", "eim_slow", 70 "ldb_di0", "ldb_di1", "esai_extal", "eim_slow",
71 "uart_serial", "spdif", "spdif1", "hsi_tx", 71 "uart_serial", "spdif", "spdif1", "hsi_tx",
72}; 72};
73static const char *cko_sels[] = { "cko1", "cko2", }; 73static const char *cko_sels[] = { "cko1", "cko2", };
@@ -77,6 +77,7 @@ static const char *pll_av_sels[] = { "osc", "lvds1_in", "lvds2_in", "dummy", };
77static void __iomem *anatop_base; 77static void __iomem *anatop_base;
78static void __iomem *ccm_base; 78static void __iomem *ccm_base;
79 79
80static u32 share_count_esai;
80 81
81enum mx6q_clks { 82enum mx6q_clks {
82 dummy, ckil, ckih, osc, pll2_pfd0_352m, pll2_pfd1_594m, pll2_pfd2_396m, 83 dummy, ckil, ckih, osc, pll2_pfd0_352m, pll2_pfd1_594m, pll2_pfd2_396m,
@@ -100,7 +101,7 @@ enum mx6q_clks {
100 emi_podf, emi_slow_podf, vpu_axi_podf, cko1_podf, axi, mmdc_ch0_axi_podf, 101 emi_podf, emi_slow_podf, vpu_axi_podf, cko1_podf, axi, mmdc_ch0_axi_podf,
101 mmdc_ch1_axi_podf, arm, ahb, apbh_dma, asrc_gate, can1_ipg, can1_serial, 102 mmdc_ch1_axi_podf, arm, ahb, apbh_dma, asrc_gate, can1_ipg, can1_serial,
102 can2_ipg, can2_serial, ecspi1, ecspi2, ecspi3, ecspi4, ecspi5, enet, 103 can2_ipg, can2_serial, ecspi1, ecspi2, ecspi3, ecspi4, ecspi5, enet,
103 esai, gpt_ipg, gpt_ipg_per, gpu2d_core, gpu3d_core, hdmi_iahb, 104 esai_extal, gpt_ipg, gpt_ipg_per, gpu2d_core, gpu3d_core, hdmi_iahb,
104 hdmi_isfr, i2c1, i2c2, i2c3, iim, enfc, ipu1, ipu1_di0, ipu1_di1, ipu2, 105 hdmi_isfr, i2c1, i2c2, i2c3, iim, enfc, ipu1, ipu1_di0, ipu1_di1, ipu2,
105 ipu2_di0, ldb_di0, ldb_di1, ipu2_di1, hsi_tx, mlb, mmdc_ch0_axi, 106 ipu2_di0, ldb_di0, ldb_di1, ipu2_di1, hsi_tx, mlb, mmdc_ch0_axi,
106 mmdc_ch1_axi, ocram, openvg_axi, pcie_axi, pwm1, pwm2, pwm3, pwm4, per1_bch, 107 mmdc_ch1_axi, ocram, openvg_axi, pcie_axi, pwm1, pwm2, pwm3, pwm4, per1_bch,
@@ -115,7 +116,7 @@ enum mx6q_clks {
115 ldb_di0_div_7, ldb_di1_div_7, ldb_di0_div_sel, ldb_di1_div_sel, 116 ldb_di0_div_7, ldb_di1_div_7, ldb_di0_div_sel, ldb_di1_div_sel,
116 pll4_audio_div, lvds1_sel, lvds1_in, lvds1_out, caam_mem, caam_aclk, 117 pll4_audio_div, lvds1_sel, lvds1_in, lvds1_out, caam_mem, caam_aclk,
117 caam_ipg, epit1, epit2, tzasc2, pll4_sel, lvds2_sel, lvds2_in, lvds2_out, 118 caam_ipg, epit1, epit2, tzasc2, pll4_sel, lvds2_sel, lvds2_in, lvds2_out,
118 anaclk1, anaclk2, spdif1, asrc_ipg, asrc_mem, clk_max 119 anaclk1, anaclk2, spdif1, asrc_ipg, asrc_mem, esai_ipg, esai_mem, clk_max
119}; 120};
120 121
121static struct clk *clk[clk_max]; 122static struct clk *clk[clk_max];
@@ -484,7 +485,9 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
484 clk[enet] = imx_clk_gate2("enet", "ipg", base + 0x6c, 10); 485 clk[enet] = imx_clk_gate2("enet", "ipg", base + 0x6c, 10);
485 clk[epit1] = imx_clk_gate2("epit1", "ipg", base + 0x6c, 12); 486 clk[epit1] = imx_clk_gate2("epit1", "ipg", base + 0x6c, 12);
486 clk[epit2] = imx_clk_gate2("epit2", "ipg", base + 0x6c, 14); 487 clk[epit2] = imx_clk_gate2("epit2", "ipg", base + 0x6c, 14);
487 clk[esai] = imx_clk_gate2("esai", "esai_podf", base + 0x6c, 16); 488 clk[esai_extal] = imx_clk_gate2_shared("esai_extal", "esai_podf", base + 0x6c, 16, &share_count_esai);
489 clk[esai_ipg] = imx_clk_gate2_shared("esai_ipg", "ipg", base + 0x6c, 16, &share_count_esai);
490 clk[esai_mem] = imx_clk_gate2_shared("esai_mem", "ahb", base + 0x6c, 16, &share_count_esai);
488 clk[gpt_ipg] = imx_clk_gate2("gpt_ipg", "ipg", base + 0x6c, 20); 491 clk[gpt_ipg] = imx_clk_gate2("gpt_ipg", "ipg", base + 0x6c, 20);
489 clk[gpt_ipg_per] = imx_clk_gate2("gpt_ipg_per", "ipg_per", base + 0x6c, 22); 492 clk[gpt_ipg_per] = imx_clk_gate2("gpt_ipg_per", "ipg_per", base + 0x6c, 22);
490 if (cpu_is_imx6dl()) 493 if (cpu_is_imx6dl())
@@ -623,7 +626,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
623 clk_register_clkdev(clk[pll4_audio_div], "pll4_audio_div", NULL); 626 clk_register_clkdev(clk[pll4_audio_div], "pll4_audio_div", NULL);
624 clk_register_clkdev(clk[pll4_sel], "pll4_sel", NULL); 627 clk_register_clkdev(clk[pll4_sel], "pll4_sel", NULL);
625 clk_register_clkdev(clk[lvds2_in], "lvds2_in", NULL); 628 clk_register_clkdev(clk[lvds2_in], "lvds2_in", NULL);
626 clk_register_clkdev(clk[esai], "esai", NULL); 629 clk_register_clkdev(clk[esai_extal], "esai_extal", NULL);
627 630
628 /* 631 /*
629 * The gpmi needs 100MHz frequency in the EDO/Sync mode, 632 * The gpmi needs 100MHz frequency in the EDO/Sync mode,
diff --git a/arch/arm/mach-imx/clk-imx6sx.c b/arch/arm/mach-imx/clk-imx6sx.c
index 6c8a7506abf3..ff43bb706280 100644
--- a/arch/arm/mach-imx/clk-imx6sx.c
+++ b/arch/arm/mach-imx/clk-imx6sx.c
@@ -72,7 +72,7 @@ static const char *cko2_sels[] = {
72 "ecspi_root", "dummy", "usdhc3", "pcie", "arm", "csi_core", 72 "ecspi_root", "dummy", "usdhc3", "pcie", "arm", "csi_core",
73 "lcdif_axi", "dummy", "osc", "dummy", "gpu2d_ovg_core", 73 "lcdif_axi", "dummy", "osc", "dummy", "gpu2d_ovg_core",
74 "usdhc2", "ssi1", "ssi2", "ssi3", "gpu2d_core", "dummy", 74 "usdhc2", "ssi1", "ssi2", "ssi3", "gpu2d_core", "dummy",
75 "dummy", "dummy", "dummy", "esai", "eim_slow", "uart_serial", 75 "dummy", "dummy", "dummy", "esai_extal", "eim_slow", "uart_serial",
76 "spdif", "asrc", "dummy", 76 "spdif", "asrc", "dummy",
77}; 77};
78static const char *cko_sels[] = { "cko1", "cko2", }; 78static const char *cko_sels[] = { "cko1", "cko2", };
@@ -121,6 +121,7 @@ static struct clk_div_table video_div_table[] = {
121 121
122static u32 share_count_asrc; 122static u32 share_count_asrc;
123static u32 share_count_audio; 123static u32 share_count_audio;
124static u32 share_count_esai;
124 125
125static void __init imx6sx_clocks_init(struct device_node *ccm_node) 126static void __init imx6sx_clocks_init(struct device_node *ccm_node)
126{ 127{
@@ -347,7 +348,9 @@ static void __init imx6sx_clocks_init(struct device_node *ccm_node)
347 clks[IMX6SX_CLK_ECSPI5] = imx_clk_gate2("ecspi5", "ecspi_podf", base + 0x6c, 8); 348 clks[IMX6SX_CLK_ECSPI5] = imx_clk_gate2("ecspi5", "ecspi_podf", base + 0x6c, 8);
348 clks[IMX6SX_CLK_EPIT1] = imx_clk_gate2("epit1", "perclk", base + 0x6c, 12); 349 clks[IMX6SX_CLK_EPIT1] = imx_clk_gate2("epit1", "perclk", base + 0x6c, 12);
349 clks[IMX6SX_CLK_EPIT2] = imx_clk_gate2("epit2", "perclk", base + 0x6c, 14); 350 clks[IMX6SX_CLK_EPIT2] = imx_clk_gate2("epit2", "perclk", base + 0x6c, 14);
350 clks[IMX6SX_CLK_ESAI] = imx_clk_gate2("esai", "esai_podf", base + 0x6c, 16); 351 clks[IMX6SX_CLK_ESAI_EXTAL] = imx_clk_gate2_shared("esai_extal", "esai_podf", base + 0x6c, 16, &share_count_esai);
352 clks[IMX6SX_CLK_ESAI_IPG] = imx_clk_gate2_shared("esai_ipg", "ahb", base + 0x6c, 16, &share_count_esai);
353 clks[IMX6SX_CLK_ESAI_MEM] = imx_clk_gate2_shared("esai_mem", "ahb", base + 0x6c, 16, &share_count_esai);
351 clks[IMX6SX_CLK_WAKEUP] = imx_clk_gate2("wakeup", "ipg", base + 0x6c, 18); 354 clks[IMX6SX_CLK_WAKEUP] = imx_clk_gate2("wakeup", "ipg", base + 0x6c, 18);
352 clks[IMX6SX_CLK_GPT_BUS] = imx_clk_gate2("gpt_bus", "perclk", base + 0x6c, 20); 355 clks[IMX6SX_CLK_GPT_BUS] = imx_clk_gate2("gpt_bus", "perclk", base + 0x6c, 20);
353 clks[IMX6SX_CLK_GPT_SERIAL] = imx_clk_gate2("gpt_serial", "perclk", base + 0x6c, 22); 356 clks[IMX6SX_CLK_GPT_SERIAL] = imx_clk_gate2("gpt_serial", "perclk", base + 0x6c, 22);
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index aafec45babab..7ff96e7565aa 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -421,14 +421,14 @@ put_node:
421 421
422static void __init imx6q_audio_lvds2_init(void) 422static void __init imx6q_audio_lvds2_init(void)
423{ 423{
424 struct clk *pll4_sel, *lvds2_in, *pll4_audio_div, *esai; 424 struct clk *pll4_sel, *lvds2_in, *pll4_audio_div, *esai_extal;
425 425
426 pll4_audio_div = clk_get_sys(NULL, "pll4_audio_div"); 426 pll4_audio_div = clk_get_sys(NULL, "pll4_audio_div");
427 pll4_sel = clk_get_sys(NULL, "pll4_sel"); 427 pll4_sel = clk_get_sys(NULL, "pll4_sel");
428 lvds2_in = clk_get_sys(NULL, "lvds2_in"); 428 lvds2_in = clk_get_sys(NULL, "lvds2_in");
429 esai = clk_get_sys(NULL, "esai"); 429 esai_extal = clk_get_sys(NULL, "esai_extal");
430 if (IS_ERR(pll4_audio_div) || IS_ERR(pll4_sel) || 430 if (IS_ERR(pll4_audio_div) || IS_ERR(pll4_sel) ||
431 IS_ERR(lvds2_in) || IS_ERR(esai)) 431 IS_ERR(lvds2_in) || IS_ERR(esai_extal))
432 return; 432 return;
433 433
434 if (clk_get_rate(lvds2_in) != ESAI_AUDIO_MCLK) 434 if (clk_get_rate(lvds2_in) != ESAI_AUDIO_MCLK)
@@ -436,7 +436,7 @@ static void __init imx6q_audio_lvds2_init(void)
436 436
437 clk_set_parent(pll4_sel, lvds2_in); 437 clk_set_parent(pll4_sel, lvds2_in);
438 clk_set_rate(pll4_audio_div, 786432000); 438 clk_set_rate(pll4_audio_div, 786432000);
439 clk_set_rate(esai, ESAI_AUDIO_MCLK); 439 clk_set_rate(esai_extal, ESAI_AUDIO_MCLK);
440} 440}
441 441
442static struct platform_device imx6q_cpufreq_pdev = { 442static struct platform_device imx6q_cpufreq_pdev = {
diff --git a/include/dt-bindings/clock/imx6sx-clock.h b/include/dt-bindings/clock/imx6sx-clock.h
index 0cc658b7e436..421d8bb76f2f 100644
--- a/include/dt-bindings/clock/imx6sx-clock.h
+++ b/include/dt-bindings/clock/imx6sx-clock.h
@@ -162,7 +162,7 @@
162#define IMX6SX_CLK_ECSPI5 149 162#define IMX6SX_CLK_ECSPI5 149
163#define IMX6SX_CLK_EPIT1 150 163#define IMX6SX_CLK_EPIT1 150
164#define IMX6SX_CLK_EPIT2 151 164#define IMX6SX_CLK_EPIT2 151
165#define IMX6SX_CLK_ESAI 152 165#define IMX6SX_CLK_ESAI_EXTAL 152
166#define IMX6SX_CLK_WAKEUP 153 166#define IMX6SX_CLK_WAKEUP 153
167#define IMX6SX_CLK_GPT_BUS 154 167#define IMX6SX_CLK_GPT_BUS 154
168#define IMX6SX_CLK_GPT_SERIAL 155 168#define IMX6SX_CLK_GPT_SERIAL 155
@@ -249,6 +249,8 @@
249#define IMX6SX_CLK_ASRC_MEM 236 249#define IMX6SX_CLK_ASRC_MEM 236
250#define IMX6SX_CLK_SAI1_IPG 237 250#define IMX6SX_CLK_SAI1_IPG 237
251#define IMX6SX_CLK_SAI2_IPG 238 251#define IMX6SX_CLK_SAI2_IPG 238
252#define IMX6SX_CLK_CLK_END 239 252#define IMX6SX_CLK_ESAI_IPG 239
253#define IMX6SX_CLK_ESAI_MEM 240
254#define IMX6SX_CLK_CLK_END 241
253 255
254#endif /* __DT_BINDINGS_CLOCK_IMX6SX_H */ 256#endif /* __DT_BINDINGS_CLOCK_IMX6SX_H */
diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c
index 762ac316fa32..0f9282cc5acf 100644
--- a/sound/soc/fsl/fsl_esai.c
+++ b/sound/soc/fsl/fsl_esai.c
@@ -314,6 +314,7 @@ static int fsl_esai_startup(struct snd_pcm_substream *substream,
314 314
315 clk_enable(esai->clk); 315 clk_enable(esai->clk);
316 clk_prepare_enable(esai->dmaclk); 316 clk_prepare_enable(esai->dmaclk);
317 clk_prepare_enable(esai->extalclk);
317 318
318 esai->substream[substream->stream] = substream; 319 esai->substream[substream->stream] = substream;
319 320
@@ -474,6 +475,7 @@ static void fsl_esai_shutdown(struct snd_pcm_substream *substream,
474 475
475 esai->substream[substream->stream] = NULL; 476 esai->substream[substream->stream] = NULL;
476 477
478 clk_disable_unprepare(esai->extalclk);
477 clk_disable_unprepare(esai->dmaclk); 479 clk_disable_unprepare(esai->dmaclk);
478 clk_disable(esai->clk); 480 clk_disable(esai->clk);
479} 481}
@@ -774,6 +776,13 @@ static int fsl_esai_probe(struct platform_device *pdev)
774 goto failed_get_resource; 776 goto failed_get_resource;
775 } 777 }
776 778
779 esai->extalclk = devm_clk_get(&pdev->dev, "extal");
780 if (IS_ERR(esai->extalclk)) {
781 ret = PTR_ERR(esai->extalclk);
782 dev_err(&pdev->dev, "Cannot get extal clock: %d\n", ret);
783 goto failed_get_resource;
784 }
785
777 ret = of_address_to_resource(np, 0, &res); 786 ret = of_address_to_resource(np, 0, &res);
778 if (ret) { 787 if (ret) {
779 dev_err(&pdev->dev, "could not determine device resources\n"); 788 dev_err(&pdev->dev, "could not determine device resources\n");
diff --git a/sound/soc/fsl/fsl_esai.h b/sound/soc/fsl/fsl_esai.h
index daf080641277..b2551c530782 100644
--- a/sound/soc/fsl/fsl_esai.h
+++ b/sound/soc/fsl/fsl_esai.h
@@ -320,6 +320,7 @@
320struct fsl_esai { 320struct fsl_esai {
321 struct clk *clk; 321 struct clk *clk;
322 struct clk *dmaclk; 322 struct clk *dmaclk;
323 struct clk *extalclk;
323 void __iomem *base; 324 void __iomem *base;
324 int irq; 325 int irq;
325 unsigned int flags; 326 unsigned int flags;