From b07e92e60a8849afe1da53a2147f9ae4d2e9eefa Mon Sep 17 00:00:00 2001 From: Andrew Jackson Date: Fri, 29 Aug 2014 16:00:29 +0100 Subject: [PATCH] Juno: Add I2S and TDA998x audio CODEC support. Signed-off-by: Andrew Jackson --- arch/arm64/boot/dts/juno.dts | 51 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/arch/arm64/boot/dts/juno.dts b/arch/arm64/boot/dts/juno.dts index 862ab7f..364f80e 100644 --- a/arch/arm64/boot/dts/juno.dts +++ b/arch/arm64/boot/dts/juno.dts @@ -252,6 +252,13 @@ 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 { @@ -293,6 +300,13 @@ 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>; @@ -401,11 +415,17 @@ 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>; }; }; @@ -479,6 +499,37 @@ 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>; -- 2.7.4