[Letux-kernel] McBSP clocks on OMAP5?

H. Nikolaus Schaller hns at goldelico.com
Sat Aug 25 18:29:05 CEST 2018


Hi,
I am trying to set up a simple sound card on the OMAP5
using a McBSP like I have it working on OMAP3.

But I get this messsage:

[  617.934410] omap_mcbsp_dai_hw_params: not enough bandwidth for desired rate and channels
[  617.955069] omap-mcbsp 40124000.mcbsp: ASoC: can't set 40124000.mcbsp hw params: -22

This comes from 

https://elixir.bootlin.com/linux/v4.18.5/source/sound/soc/omap/omap-mcbsp.c#L368

Printing the values reveals:

[  617.946281]   in_freq 0 clk_div 0 div 1
[  617.950393]   framesize 0 wlen 16 channels 2

So this means mcbsp->in_freq == 0 which seems to be wrong.

But how do I set it?

In omap3.dtsi it appears as if clock is defined:

		mcbsp1: mcbsp at 48074000 {
			compatible = "ti,omap3-mcbsp";
			reg = <0x48074000 0xff>;
			reg-names = "mpu";
			interrupts = <16>, /* OCP compliant interrupt */
				     <59>, /* TX interrupt */
				     <60>; /* RX interrupt */
			interrupt-names = "common", "tx", "rx";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp1";
			dmas = <&sdma 31>,
			       <&sdma 32>;
			dma-names = "tx", "rx";
			clocks = <&mcbsp1_fck>;
			clock-names = "fck";
			status = "disabled";
		};

while for omap5.dtsi there is no clock:

		mcbsp1: mcbsp at 40122000 {
			compatible = "ti,omap4-mcbsp";
			reg = <0x40122000 0xff>, /* MPU private access */
			      <0x49022000 0xff>; /* L3 Interconnect */
			reg-names = "mpu", "dma";
			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "common";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp1";
			dmas = <&sdma 33>,
			       <&sdma 34>;
			dma-names = "tx", "rx";
			status = "disabled";
		};

In both cases I have overwritten status = "okay".

Any advice?

BR and thanks,
Nikolaus




More information about the Letux-kernel mailing list