17 Jun
2018
17 Jun
'18
11:03 p.m.
Hi Mark,
The new ac97 is working well in a platform data build. But in the device tree case, there is an issue, triggered by our review in [1].
The main issue is the lack of one clock.
The device hierarchy is : - platform device sound@40500000 (the AC97 controller) -> ac97 device sound@40500000:0 (the discovered ac97 IP for a wm9713)
Now the issue is here : - sound/ac97/bus.c:419, function ac97_get_enable_clk() - the clk_get() fails
The sound@40500000:0 device was automatically created by the AC97 bus code, but I don't see any way to provide this device the "ac97_clk" ... How do you think this is supposed to work, and how can my devicetree description provide this clock ?
--
Robert
[1] Discussion reference
https://groups.google.com/forum/#!msg/linux.kernel/6_zIXK_maA4/RMYsmLlRMgAJ
Look for "You probably mean the BITCLK clock."
[2] Device tree extract
ac97: sound@40500000 {
compatible = "marvell,pxa270-ac97";
reg = < 0x40500000 0x1000 >;
interrupts = <14>;
reset-gpios = <&gpio 95 GPIO_ACTIVE_HIGH>;
#sound-dai-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = < &pinctrl_ac97_default >;
clocks = <&clks CLK_AC97>, <&clks CLK_AC97CONF>;
clock-names = "AC97CLK", "AC97CONFCLK";
};