#clock-cells = <0>;
        };
 
+       sound {
+               compatible = "amlogic,gx-sound-card";
+               model = "M8B-EC100";
+
+               assigned-clocks = <&clkc CLKID_MPLL0>,
+                                 <&clkc CLKID_MPLL1>,
+                                 <&clkc CLKID_MPLL2>;
+               assigned-clock-rates = <270950400>,
+                                      <294912000>,
+                                      <393216000>;
+
+               dai-link-0 {
+                       sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
+               };
+
+               dai-link-1 {
+                       sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
+                       dai-format = "i2s";
+                       mclk-fs = <256>;
+
+                       codec-0 {
+                               sound-dai = <&rt5640>;
+                       };
+               };
+       };
+
        usb_vbus: regulator-usb-vbus {
                /*
                 * Silergy SY6288CCAC-GP 2A Power Distribution Switch.
        };
 };
 
+&aiu {
+       status = "okay";
+
+       pinctrl-0 = <&i2s_am_clk_pins>, <&i2s_out_ao_clk_pins>,
+                   <&i2s_out_lr_clk_pins>, <&i2s_out_ch01_ao_pins>;
+       pinctrl-names = "default";
+};
+
 &cpu0 {
        cpu-supply = <&vcck>;
 };
 
        rt5640: codec@1c {
                compatible = "realtek,rt5640";
+
                reg = <0x1c>;
+
+               #sound-dai-cells = <0>;
+
                interrupt-parent = <&gpio_intc>;
                interrupts = <13 IRQ_TYPE_EDGE_BOTH>; /* GPIOAO_13 */
+
+               /*
+                * TODO: realtek,ldo1-en-gpios is connected to GPIO_BSD_EN.
+                * We currently cannot configure this pin correctly.
+                * Luckily for us it's in the "right" state by default.
+                */
                realtek,in1-differential;
        };
 };