Add the audio codec, dai and a sun8i card to be able to use the
audio stream of the builtin codec on sun8i SoC.

Signed-off-by: Mylène Josserand <mylene.josser...@free-electrons.com>
---
 arch/arm/boot/dts/sun8i-a33.dtsi | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
index fd1e1cd..4f8b442 100644
--- a/arch/arm/boot/dts/sun8i-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a33.dtsi
@@ -43,6 +43,7 @@
  */
 
 #include "sun8i-a23-a33.dtsi"
+#include <dt-bindings/dma/sun4i-a10.h>
 
 / {
        cpus {
@@ -69,6 +70,12 @@
                reg = <0x40000000 0x80000000>;
        };
 
+       sound {
+               compatible = "allwinner,sun8i-audio";
+               allwinner,audio-codec = <&codec>;
+               allwinner,i2s-controller = <&dai>;
+       };
+
        soc@01c00000 {
                tcon0: lcd-controller@01c0c000 {
                        compatible = "allwinner,sun8i-a33-tcon";
@@ -116,6 +123,32 @@
                        reset-names = "ahb";
                };
 
+               dai: dai@01c22c00 {
+                       #sound-dai-cells = <0>;
+                       compatible = "allwinner,sun4i-a10-i2s";
+                       reg = <0x01c22c00 0x200>;
+                       interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
+                       clock-names = "apb", "mod";
+                       resets = <&ccu RST_BUS_CODEC>;
+                       reset-names = "apb_reset";
+                       dmas = <&dma 15>, /* AUDIO_CODEC port */
+                               <&dma 15>; /* AUDIO_CODEC port */
+                       dma-names = "rx", "tx";
+                       status = "disabled";
+               };
+
+               codec: codec@01c22e00 {
+                       #sound-dai-cells = <0>;
+                       compatible = "allwinner,sun8i-a33-codec";
+                       reg = <0x01c22e00 0x400>; /* SUNXI_AUDIO_PBASE + 0x200 
*/
+                       reg-names = "audio";
+                       interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
+                       clock-names = "apb", "codec";
+                       status = "disabled";
+               };
+
                fe0: display-frontend@01e00000 {
                        compatible = "allwinner,sun8i-a33-display-frontend";
                        reg = <0x01e00000 0x20000>;
-- 
2.9.3

Reply via email to