On Sat, Aug 09, 2014 at 08:08:45PM -0400, jonsmirl@gmail.com wrote:
The problem is in asoc_simple_card_sub_parse_of() in the else case..
} else { clk = of_clk_get(node, 0); if (!IS_ERR(clk)) dai->sysclk = clk_get_rate(clk); }
This is picking up the input clocks to the devices. On the cpu-dai you want to pick up the ouput mclk (my first input clock is an 80Mhz bus clock). My IIS output clock is: clock-output-names = "mclk0";
Setting clocks="" doesn't work either, it also picks up the input clock.
I'm sorry but I'm having an awfully hard time working out what you are trying to say in this mail. When you say things like "you want to pick up the ouput mclk" it's really not clear what any of that means - why do you want to pick it and what is it being picked for?
But then simple goes and tries to set both system clocks - my 80Mhz bus clock and the 22.5 true sysclk. And my cpu-dai barfs when it is passed a 80Mhz sysclk.
Naturally... this does suggest you're doing something wrong but like I say I really don't understand what's going on. What does your system look like, what are you trying to get it to do and how are you going about that?