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.josserand@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>;