Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Linux/AM4378: davinci-mcasp rx_irq_handler not called

$
0
0

Part Number:AM4378

Tool/software: Linux

I have a pcm1862 hooked up to mcasp0 on an am4378 processor. Here is the pin setup for mcasp0 in the dts file:

mcasp0_pcm1862_pins_default: mcasp0_pcm1862_pins_default {
        pinctrl-single,pins = <
                0x19c ( PIN_INPUT | MUX_MODE0 ) /* (M24) mcasp0_ahclkr.mcasp0_ahclkr */
                0x1a0 ( PIN_INPUT | MUX_MODE0 ) /* (L23) mcasp0_aclkr.mcasp0_aclkr */
                0x1a4 ( PIN_INPUT | MUX_MODE0 ) /* (K23) mcasp0_fsr.mcasp0_fsr */
                0x1ac ( PIN_INPUT | MUX_MODE2 ) /* (L24) mcasp0_ahclkx.mcasp0_axr3 */
        >;
};

Here is the mcasp0 setup:

&mcasp0 {
        #sound-dai-cells = <0>;
        pinctrl-names = "default";
        pinctrl-0 = <&mcasp0_pcm1862_pins_default>;

        compatible = "ti,da830-mcasp-audio";
        /*reg = <0x100000 0x3000>;
        reg-names = "mpu";*/
        interrupts = <82 83>;

        status = "okay";

        op-mode = <0>;
        tdm-slots = <2>;
        serial-dir = <
                0 0 0 2
        >;

        tx-num-evt = <1>;
        rx-num-evt = <1>;
};

I put printk statements in the davinci-mcasp.c code in the mcasp_start_rx(), mcasp_stop_rx() and davinci_mcasp_rx_irq_handler() functions. Here's a terminal capture when I run arecord:

The davinci_mcasp_rx_irq_handler() never gets called. I have an anlyzer on the i2s bus. Here is what it is showing while arecord is running:

It looks like the clocks and data are valid but the irq handler never gets called. I think there must be something wrong with my configuration of mcasp0 in the .dts file.

Any help or insight into this problem would be appreciated.


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>