Dummy sound codec devicetree node for Linux

I have an rk3588-based SBC. I need to output audio via I2S (specifically its I2S1 output). However, there is no “codec” device which Linux knows about; the system which receives the I2S sound is completely separate.

It is my understanding that for ALSA to let me play audio, I need a codec devicetree node. However, since there is no actual codec hardware that Linux should care about, I guess I need some kind of dummy node. How can I do this?

Enabling the i2s1 node is simple enough with a devicetree overlay:

&i2s1_8ch {
    status = "okay";
};

However, I can’t get the codec to show up. This is what I’ve tried so far (but I really have no idea what I’m doing):

&{/} {
    dummy_sound: sound {
        compatible = "simple-audio-card";
        simple-audio-card,name = "Dummy Audio Card";
        simple-audio-card,format = "i2s";

        simple-audio-card,cpu {
            sound-dai = <&i2s1_8ch>;
        };

        simple-audio-card,codec {
            sound-dai = <&dummy_codec>;
        };

        dummy_codec: codec {
            compatible = "linux,snd-soc-dummy";
        };
    };
};