arm64: dts: hi6220: Add k3-dma and i2s/hdmi audio support

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

This enables HDMI audio output.

Cc: Zhangfei Gao <zhangfei.gao@linaro.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Andy Green <andy@warmcat.com>
Cc: Dave Long <dave.long@linaro.org>
Cc: Guodong Xu <guodong.xu@linaro.org>
Cc: Antonio Borneo <borneo.antonio@gmail.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: John Stultz <john.stultz@linaro.org>
v2:
* Split core i2s entry into dtsi and hdmi specific bits into
  hikey dts
v4:
* Rework simple-card to use many-dai-links method, as
  there may be other links in the future
v5:
* Rework audio description to use the audio-card-graph method
  as requested by Mark.
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
This commit is contained in:
John Stultz 2017-06-14 11:25:17 -07:00 committed by Wei Xu
parent 7d8c36674b
commit 0cf6a8e2fb
2 changed files with 57 additions and 3 deletions

View File

@ -418,6 +418,11 @@
method = "smc"; method = "smc";
}; };
}; };
sound_card {
compatible = "audio-graph-card";
dais = <&i2s0_port0>;
};
}; };
&uart2 { &uart2 {
@ -458,10 +463,33 @@
interrupts = <1 2>; interrupts = <1 2>;
pd-gpio = <&gpio0 4 0>; pd-gpio = <&gpio0 4 0>;
adi,dsi-lanes = <4>; adi,dsi-lanes = <4>;
#sound-dai-cells = <0>;
port { ports {
adv7533_in: endpoint { #address-cells = <1>;
remote-endpoint = <&dsi_out0>; #size-cells = <0>;
port@0 {
adv7533_in: endpoint {
remote-endpoint = <&dsi_out0>;
};
};
port@2 {
reg = <2>;
codec_endpoint: endpoint {
remote-endpoint = <&i2s0_cpu_endpoint>;
};
};
};
};
};
&i2s0 {
ports {
i2s0_port0: port@0 {
i2s0_cpu_endpoint: endpoint {
remote-endpoint = <&codec_endpoint>;
dai-format = "i2s";
}; };
}; };
}; };

View File

@ -332,6 +332,19 @@
status = "disabled"; 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 { dual_timer0: timer@f8008000 {
compatible = "arm,sp804", "arm,primecell"; compatible = "arm,sp804", "arm,primecell";
reg = <0x0 0xf8008000 0x0 0x1000>; reg = <0x0 0xf8008000 0x0 0x1000>;
@ -834,6 +847,19 @@
#thermal-sensor-cells = <1>; #thermal-sensor-cells = <1>;
}; };
i2s0: i2s@f7118000{
compatible = "hisilicon,hi6210-i2s";
reg = <0x0 0xf7118000 0x0 0x8000>; /* i2s unit */
interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; /* 155 "DigACodec_intr"-32 */
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";
hisilicon,sysctrl-syscon = <&sys_ctrl>;
#sound-dai-cells = <1>;
};
thermal-zones { thermal-zones {
cls0: cls0 { cls0: cls0 {