This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCM1865: Raspberry Pi CM4

Part Number: PCM1865

Been digging through these forums for a few weeks now as I attempt to debug my PCM1865 ADC with a Raspberry Pi Compute Module 4.

Here is my current .dts file

/dts-v1/;
/plugin/;

/ {
    compatible = "brcm,bcm2711";

    fragment@0 {
        target = <&i2c1>;

        __overlay__ {
            #address-cells = <1>;
            #size-cells = <0>;

            pcm1865: pcm1865@4a {
                compatible = "ti,pcm1865";
                reg = <0x4a>;
                #sound-dai-cells = <0>;
                clocks = <&external_clock>;
                clock-names = "mclk";
            };
        };
    };

    fragment@1 {
        target-path = "/";
        __overlay__ {
            external_clock: clock {
                #clock-cells = <0>;
                compatible = "fixed-clock";
                clock-frequency = <24000000>; // 24MHz clock frequency
            };
        };
    };

    fragment@2 {
        target = <&i2s>;

        __overlay__ {
            status = "okay";
        };
    };

    fragment@3 {
        target-path = "/";

        __overlay__ {
            sound {
                compatible = "simple-audio-card";
                simple-audio-card,name = "pcm1865";
                simple-audio-card,format = "i2s";
                simple-audio-card,widgets =
                "Line", "Stereo Line In";
                simple-audio-card,routing =
                "Stereo Line In", "VINL1",
                "Stereo Line In", "VINR1";
                simple-audio-card,cpu {
                    sound-dai = <&i2s>;
                };

                simple-audio-card,codec {
                    sound-dai = <&pcm1865>;
                    simple-audio-card,bitclock-master = <&sound>;
                    simple-audio-card,frame-master = <&sound>;
                };
            };
        };
    };
};

Some additional context - I am using an external clock, tied into the appropriate pins as well as have external power supplies for avdd, ivdd, and iovdd - after compiling these show up as dummy regulators in dmesg.

After compiling and loading the dtoverlay, I confirm that the soundcard exists with `arecord -l` and that the appropriate gain levels are set with `amixer`.

No errors are showing up in my dtoverlay on boot/recording, and I have confirmed that the i2c address is correct - but I'm not getting any audio input.

Hoping that an experienced TI engineer can notice an obvious flaw in either my code or my schematic.