Skip to content

Commit cc2d819

Browse files
committed
clk: ti: Fix missing omap4 mcbsp functional clock and aliases
We are using a wrong mcbsp functional clock. The interconnect target module driver provided clock for mcbsp is not same as the mcbsp functional clock known as the gfclk main_clk. The mcbsp functional clocks for mcbsp should have been added before we dropped the legacy platform data. Additionally we are also missing the clock aliases for the clocks used by the audio driver if reparenting is needed. This causes audio driver errors like "CLKS: could not clk_get() prcm_fck" for mcbsp as reported by Andreas. The mcbsp clock aliases too should have been added before we dropped the legacy platform data. Let's add the clocks and aliases with a single patch to fix the issue. Fixes: 349355c ("ARM: OMAP2+: Drop legacy platform data for omap4 mcbsp") Reported-by: Andreas Kemnade <[email protected]> Reported-by: Péter Ujfalusi <[email protected]> Acked-by: Stephen Boyd <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
1 parent 5447da5 commit cc2d819

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

arch/arm/boot/dts/ti/omap/omap4-l4-abe.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@
109109
reg = <0x0 0xff>, /* MPU private access */
110110
<0x49022000 0xff>; /* L3 Interconnect */
111111
reg-names = "mpu", "dma";
112+
clocks = <&abe_clkctrl OMAP4_MCBSP1_CLKCTRL 24>;
113+
clock-names = "fck";
112114
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
113115
interrupt-names = "common";
114116
ti,buffer-size = <128>;
@@ -142,6 +144,8 @@
142144
reg = <0x0 0xff>, /* MPU private access */
143145
<0x49024000 0xff>; /* L3 Interconnect */
144146
reg-names = "mpu", "dma";
147+
clocks = <&abe_clkctrl OMAP4_MCBSP2_CLKCTRL 24>;
148+
clock-names = "fck";
145149
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
146150
interrupt-names = "common";
147151
ti,buffer-size = <128>;
@@ -175,6 +179,8 @@
175179
reg = <0x0 0xff>, /* MPU private access */
176180
<0x49026000 0xff>; /* L3 Interconnect */
177181
reg-names = "mpu", "dma";
182+
clocks = <&abe_clkctrl OMAP4_MCBSP3_CLKCTRL 24>;
183+
clock-names = "fck";
178184
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
179185
interrupt-names = "common";
180186
ti,buffer-size = <128>;

arch/arm/boot/dts/ti/omap/omap4-l4.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2043,6 +2043,8 @@
20432043
compatible = "ti,omap4-mcbsp";
20442044
reg = <0x0 0xff>; /* L4 Interconnect */
20452045
reg-names = "mpu";
2046+
clocks = <&l4_per_clkctrl OMAP4_MCBSP4_CLKCTRL 24>;
2047+
clock-names = "fck";
20462048
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
20472049
interrupt-names = "common";
20482050
ti,buffer-size = <128>;

drivers/clk/ti/clk-44xx.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -749,9 +749,14 @@ static struct ti_dt_clk omap44xx_clks[] = {
749749
DT_CLK(NULL, "mcbsp1_sync_mux_ck", "abe-clkctrl:0028:26"),
750750
DT_CLK(NULL, "mcbsp2_sync_mux_ck", "abe-clkctrl:0030:26"),
751751
DT_CLK(NULL, "mcbsp3_sync_mux_ck", "abe-clkctrl:0038:26"),
752+
DT_CLK("40122000.mcbsp", "prcm_fck", "abe-clkctrl:0028:26"),
753+
DT_CLK("40124000.mcbsp", "prcm_fck", "abe-clkctrl:0030:26"),
754+
DT_CLK("40126000.mcbsp", "prcm_fck", "abe-clkctrl:0038:26"),
752755
DT_CLK(NULL, "mcbsp4_sync_mux_ck", "l4-per-clkctrl:00c0:26"),
756+
DT_CLK("48096000.mcbsp", "prcm_fck", "l4-per-clkctrl:00c0:26"),
753757
DT_CLK(NULL, "ocp2scp_usb_phy_phy_48m", "l3-init-clkctrl:00c0:8"),
754758
DT_CLK(NULL, "otg_60m_gfclk", "l3-init-clkctrl:0040:24"),
759+
DT_CLK(NULL, "pad_fck", "pad_clks_ck"),
755760
DT_CLK(NULL, "per_mcbsp4_gfclk", "l4-per-clkctrl:00c0:24"),
756761
DT_CLK(NULL, "pmd_stm_clock_mux_ck", "emu-sys-clkctrl:0000:20"),
757762
DT_CLK(NULL, "pmd_trace_clk_mux_ck", "emu-sys-clkctrl:0000:22"),

0 commit comments

Comments
 (0)