Re: [PATCH v5] arm64: dts: hi6220: Add k3-dma and i2s/hdmi audio support

From: Wei Xu
Date: Thu Jun 15 2017 - 15:54:56 EST


Hi John,

On 2017/6/14 19:25, John Stultz wrote:
> Add entry for k3-dma driver and i2s/hdmi audio devices.
>
> This enables HDMI audio output.
>
> Cc: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx>
> Cc: Liam Girdwood <lgirdwood@xxxxxxxxx>
> Cc: Mark Brown <broonie@xxxxxxxxxx>
> Cc: Jaroslav Kysela <perex@xxxxxxxx>
> Cc: Takashi Iwai <tiwai@xxxxxxxx>
> Cc: Wei Xu <xuwei5@xxxxxxxxxxxxx>
> Cc: Rob Herring <robh+dt@xxxxxxxxxx>
> Cc: Andy Green <andy@xxxxxxxxxxx>
> Cc: Dave Long <dave.long@xxxxxxxxxx>
> Cc: Guodong Xu <guodong.xu@xxxxxxxxxx>
> Cc: Antonio Borneo <borneo.antonio@xxxxxxxxx>
> Cc: Olof Johansson <olof@xxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
> 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.
> ---

Applied to the hisilicon arm64 dt tree.
Sorry for the delay!
Thanks!

BR,
Wei

> arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 34 +++++++++++++++++++++++---
> arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 26 ++++++++++++++++++++
> 2 files changed, 57 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> index 5cdfe73..2b52630 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> @@ -468,6 +468,11 @@
> method = "smc";
> };
> };
> +
> + sound_card {
> + compatible = "audio-graph-card";
> + dais = <&i2s0_port0>;
> + };
> };
>
> &uart2 {
> @@ -508,10 +513,33 @@
> interrupts = <1 2>;
> pd-gpio = <&gpio0 4 0>;
> adi,dsi-lanes = <4>;
> + #sound-dai-cells = <0>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + adv7533_in: endpoint {
> + remote-endpoint = <&dsi_out0>;
> + };
> + };
> + port@2 {
> + reg = <2>;
> + codec_endpoint: endpoint {
> + remote-endpoint = <&i2s0_cpu_endpoint>;
> + };
> + };
> + };
> + };
> +};
>
> - port {
> - adv7533_in: endpoint {
> - remote-endpoint = <&dsi_out0>;
> +&i2s0 {
> +
> + ports {
> + i2s0_port0: port@0 {
> + i2s0_cpu_endpoint: endpoint {
> + remote-endpoint = <&codec_endpoint>;
> + dai-format = "i2s";
> };
> };
> };
> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
> index 5013e4b..f2e218c 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
> @@ -332,6 +332,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>;
> @@ -805,6 +818,19 @@
> #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 {
>
> cls0: cls0 {
>