Add entry for k3-dma driver and i2s/hdmi audio devices.

This enables HDMI audio output.

Cc: Zhangfei Gao <zhangfei....@linaro.org>
Cc: Jingoo Han <jg1....@samsung.com>
Cc: Krzysztof Kozlowski <k.kozlow...@samsung.com>
Cc: Maxime Ripard <maxime.rip...@free-electrons.com>
Cc: Vinod Koul <vinod.k...@intel.com>
Cc: Dan Williams <dan.j.willi...@intel.com>
Cc: Liam Girdwood <lgirdw...@gmail.com>
Cc: Mark Brown <broo...@kernel.org>
Cc: Jaroslav Kysela <pe...@perex.cz>
Cc: Takashi Iwai <ti...@suse.com>
Cc: Wei Xu <xuw...@hisilicon.com>
Cc: Rob Herring <robh...@kernel.org>
Cc: Andy Green <a...@warmcat.com>
Signed-off-by: John Stultz <john.stu...@linaro.org>
---
v2:
* Split core i2s entry into dtsi and hdmi specific bits into hikey dts

 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 22 ++++++++++++++++++
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi      | 31 ++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts 
b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index e92a30c..6979c55 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -221,6 +221,28 @@
                        };
                };
        };
+
+       hi6210_hdmi_codec: hi6210_hdmi_codec {
+               compatible = "hisilicon,hi6210-hdmi-audio-codec";
+               #sound-dai-cells = <0>;
+       };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "hikey-hdmi";
+               simple-audio-card,format = "i2s";
+
+               simple-audio-card,bitclock-master = <&sound_master>;
+               simple-audio-card,frame-master = <&sound_master>;
+
+               sound_master: simple-audio-card,cpu {
+                       sound-dai = <&i2s0>;
+               };
+
+               simple-audio-card,codec {
+                       sound-dai = <&hi6210_hdmi_codec>;
+               };
+       };
 };
 
 &uart2 {
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi 
b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 189d215..9c60bff 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -228,6 +228,8 @@
                compatible = "simple-bus";
                #address-cells = <2>;
                #size-cells = <2>;
+               #sound-dai-cells = <0>;
+               interrupt-parent = <&gic>;
                ranges;
 
                sram: sram@fff80000 {
@@ -325,6 +327,19 @@
                        status = "disabled";
                };
 
+               dma0: dma@f7370000 {
+                       compatible = "hisilicon,k3-dma-1.0";
+                       reg = <0x0 0xf7370000 0x0 0x1000>;
+                       #dma-cells = <1>;
+                       dma-channels = <15>;
+                       dma-requests = <32>;
+                       interrupts = <0 84 4>;
+                       clocks = <&sys_ctrl HI6220_EDMAC_ACLK>;
+                       dma-no-cci;
+                       dma-type = "hi6220_dma";
+                       status = "ok";
+               };
+
                dual_timer0: timer@f8008000 {
                        compatible = "arm,sp804", "arm,primecell";
                        reg = <0x0 0xf8008000 0x0 0x1000>;
@@ -800,6 +815,22 @@
                        #thermal-sensor-cells = <1>;
                };
 
+               i2s0: hi6210_i2s {
+                       compatible = "hisilicon,hi6210-i2s";
+                       reg = <0x0 0xf7118000 0x0 0x8000>, /* i2s unit */
+                             <0x0 0xf7030000 0x0 0x400>,  /* syscon */
+                             <0x0 0xf7032000 0x0 0x400>;  /* pmctrl */
+                       interrupts = <0 123 0x4>; /* 155 "DigACodec_intr"-32 */
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&bt_pmx_func &bt_cfg_func>;
+                       clocks = <&sys_ctrl HI6220_DACODEC_PCLK>,
+                                <&sys_ctrl HI6220_BBPPLL0_DIV>;
+                       clock-names = "dacodec", "i2s-base";
+                       dmas = <&dma0 15 &dma0 14>;
+                       dma-names = "rx", "tx";
+                       #sound-dai-cells = <0>;
+               };
+
                thermal-zones {
 
                        cls0: cls0 {
-- 
1.9.1

Reply via email to