imx6q codec / esai, clock issues

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6q codec / esai, clock issues

Jump to solution
1,486 Views
angelo_d
Senior Contributor I

Hi,

upgrading from kernel 3.10.17 to 3.14.28 on similar sabreauto borard, i get this warning for the audio codec cs42888 / esai interface

fsl-esai-dai 2024000.esai: failed to derive required HCKT rate

fsl-esai-dai 2024000.esai: the ratio is out of range, 0 (2 ~ 65536)

fsl-esai-dai 2024000.esai: ASoC: 2024000.esai hw params failed: -22

Is there any main difference on clocks in the new kernel that i have to take in account ?


Thanks

angelo

Labels (2)
0 Kudos
1 Solution
805 Views
angelo_d
Senior Contributor I

I solved.

my issues was related to a devicetree node name different from sabreauto devicetree:

clocks {

        codec_osc: anaclk2 {

            compatible = "fixed-clock";

            #clock-cells = <0>;

            clock-frequency = <24576000>;

        };

    };

Note, the naming must repsect "anaclk2" or there is no link with anaclk2 clock.

View solution in original post

0 Kudos
3 Replies
807 Views
angelo_d
Senior Contributor I

Thanks,

changes are many.

I am looking into the 3.14.28 sabreauto dtsi, that have same cs42888 to imx6q wirings as in my board, and there are changes inside the &esai { } section,

but if i reflect them on my board i still have similar issues:

fsl_esai_set_dai_sysclk clk_rate 30000000

changes to

fsl_esai_set_dai_sysclk clk_rate 24000000

About this error:

fsl-esai-dai 2024000.esai: failed to derive required HCKT rate

It is not clear why HCKT have to be set internally. I am in slave mode, since external master clock (24576000) is provided to cs42888 and it should act as master.

0 Kudos
806 Views
angelo_d
Senior Contributor I

I solved.

my issues was related to a devicetree node name different from sabreauto devicetree:

clocks {

        codec_osc: anaclk2 {

            compatible = "fixed-clock";

            #clock-cells = <0>;

            clock-frequency = <24576000>;

        };

    };

Note, the naming must repsect "anaclk2" or there is no link with anaclk2 clock.

0 Kudos