For RK3288-LINUX:
The HDMI TX audio process contain audio clock regeneration, placement of audio samples
within packets, packet timing control, audio sample rates setting, and channel/speaker
assignments. This function is implemented by Audio Capture blocks

By following simple configuration, you can make HDMI-AUDIO work normally in your own board.
1、Ensure that the config file has the below option to ensure that the HDMI-AUDIO related code can be compiled into kernel zImage.


2、Enable the HDMI-AUDIO node in DTS file of target board:

    sound {
        compatible = "simple-audio-card";
        simple-audio-card,format = "i2s";
        simple-audio-card,name = "rockchip,miniarm-codec";
        simple-audio-card,mclk-fs = <512>;
        simple-audio-card,cpu {
            sound-dai = <&i2s>;
        simple-audio-card,codec {
            sound-dai = <&hdmi>;

&hdmi {
    #address-cells = <1>;
    #size-cells = <0>;
    #sound-dai-cells = <0>;
    ddc-i2c-bus = <&i2c5>;
    status = "okay";

&i2s {
    #sound-dai-cells = <0>;
    status = "okay";

(you can also see commit

3、Rebuild and Flash kernel, we can use aplay command in the console

root@linaro-alip:~# aplay -l                                                         
**** List of PLAYBACK Hardware Devices ****
card 0: rockchipminiarm [rockchip,miniarm-codec], device 0: ff890000.i2s-i2s-hifi i2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

You can download the test audio from your network, or through the link we provide: password: waty

root@linaro-alip:~# aplay 250Hz_44100Hz_16bit_30sec.wav 
Playing WAVE '250Hz_44100Hz_16bit_30sec.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

Now you will hear the sound on the device which support HDMI-AUDIO.
Enjoy it.