Juno: Add I2S and TDA998x audio CODEC support.
authorAndrew Jackson <Andrew.Jackson@arm.com>
Fri, 29 Aug 2014 15:00:29 +0000 (16:00 +0100)
committerLiviu Dudau <Liviu.Dudau@arm.com>
Tue, 7 Oct 2014 11:11:00 +0000 (12:11 +0100)
Signed-off-by: Andrew Jackson <Andrew.Jackson@arm.com>
arch/arm64/boot/dts/juno.dts

index 862ab7f..364f80e 100644 (file)
                        clock-output-names = "pxlclk0", "pxlclk1";
                };
 
+               scpi_i2sclk: scpi_clocks@5 {
+                       compatible = "arm,scpi-clk-range";
+                       #clock-cells = <1>;
+                       clock-indices = <5>;
+                       frequency-range = <1536000 9216000>;
+                       clock-output-names = "i2s_clock";
+               };
        };
 
        cpufreq {
                clock-output-names = "smc_clk";
        };
 
+       soc_i2sclk: clki2s {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <2116800>;
+               clock-output-names = "i2sclk";
+       };
+
        soc_refclk100mhz: refclk100mhz {
                compatible = "fixed-clock";
                #clock-cells = <0>;
                dvi0: dvi-transmitter@70 {
                        compatible = "nxp,tda998x";
                        reg = <0x70>;
+                       audio-ports = <0x03>, <0x04>;
+                       audio-port-names = "i2s", "spdif";
+                       #sound-dai-cells = <1>;
                };
 
                dvi1: dvi-transmitter@71 {
                        compatible = "nxp,tda998x";
                        reg = <0x71>;
+                       audio-ports = <0x03>, <0x04>;
+                       audio-port-names = "i2s", "spdif";
+                       #sound-dai-cells = <1>;
                };
        };
 
                clock-names = "clk_mali";
        };
 
+       soc_i2s: i2s@7ff90000 {
+               compatible = "snps,i2s";
+               reg = <0x0 0x7ff90000 0x0 0x1000>;
+               clocks = <&scpi_i2sclk 0>, <&soc_refclk100mhz>;
+               clock-names = "i2sclk", "apb_pclk";
+               #sound-dai-cells = <0>;
+               dmas = <&dma0 5>;
+               dma-names = "tx";
+       };
+
+       hdmi_audio: hdmi_audio@0 {
+               compatible = "linux,hdmi-audio";
+               #sound-dai-cells = <0>;
+               status = "okay";
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+
+               simple-audio-card,format = "i2s";
+
+               simple-audio-card,cpu {
+                       sound-dai = <&soc_i2s>;
+               };
+
+               simple-audio-card,codec {
+                       sound-dai = <&dvi0 0>;
+               };
+
+       };
+
        smb {
                compatible = "simple-bus";
                #address-cells = <2>;