diff options
author | John Stultz <john.stultz@linaro.org> | 2017-06-14 14:25:17 -0400 |
---|---|---|
committer | Wei Xu <xuwei5@hisilicon.com> | 2017-06-16 10:31:21 -0400 |
commit | 0cf6a8e2fb8413b581fc0d960f7831b0e7583406 (patch) | |
tree | 420c3f6a5b24fd434e26e1d8bbe45f4eaa73e0db | |
parent | 7d8c36674b965fca5ed4a112bc9642703fa657b6 (diff) |
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>
-rw-r--r-- | arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 34 | ||||
-rw-r--r-- | 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 75bce2d0b1a8..ae8a8c5c21d2 100644 --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | |||
@@ -418,6 +418,11 @@ | |||
418 | method = "smc"; | 418 | method = "smc"; |
419 | }; | 419 | }; |
420 | }; | 420 | }; |
421 | |||
422 | sound_card { | ||
423 | compatible = "audio-graph-card"; | ||
424 | dais = <&i2s0_port0>; | ||
425 | }; | ||
421 | }; | 426 | }; |
422 | 427 | ||
423 | &uart2 { | 428 | &uart2 { |
@@ -458,10 +463,33 @@ | |||
458 | interrupts = <1 2>; | 463 | interrupts = <1 2>; |
459 | pd-gpio = <&gpio0 4 0>; | 464 | pd-gpio = <&gpio0 4 0>; |
460 | adi,dsi-lanes = <4>; | 465 | adi,dsi-lanes = <4>; |
466 | #sound-dai-cells = <0>; | ||
467 | |||
468 | ports { | ||
469 | #address-cells = <1>; | ||
470 | #size-cells = <0>; | ||
471 | port@0 { | ||
472 | adv7533_in: endpoint { | ||
473 | remote-endpoint = <&dsi_out0>; | ||
474 | }; | ||
475 | }; | ||
476 | port@2 { | ||
477 | reg = <2>; | ||
478 | codec_endpoint: endpoint { | ||
479 | remote-endpoint = <&i2s0_cpu_endpoint>; | ||
480 | }; | ||
481 | }; | ||
482 | }; | ||
483 | }; | ||
484 | }; | ||
461 | 485 | ||
462 | port { | 486 | &i2s0 { |
463 | adv7533_in: endpoint { | 487 | |
464 | remote-endpoint = <&dsi_out0>; | 488 | ports { |
489 | i2s0_port0: port@0 { | ||
490 | i2s0_cpu_endpoint: endpoint { | ||
491 | remote-endpoint = <&codec_endpoint>; | ||
492 | dai-format = "i2s"; | ||
465 | }; | 493 | }; |
466 | }; | 494 | }; |
467 | }; | 495 | }; |
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi index 1e5129b19280..bead85228fe7 100644 --- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi +++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi | |||
@@ -332,6 +332,19 @@ | |||
332 | status = "disabled"; | 332 | status = "disabled"; |
333 | }; | 333 | }; |
334 | 334 | ||
335 | dma0: dma@f7370000 { | ||
336 | compatible = "hisilicon,k3-dma-1.0"; | ||
337 | reg = <0x0 0xf7370000 0x0 0x1000>; | ||
338 | #dma-cells = <1>; | ||
339 | dma-channels = <15>; | ||
340 | dma-requests = <32>; | ||
341 | interrupts = <0 84 4>; | ||
342 | clocks = <&sys_ctrl HI6220_EDMAC_ACLK>; | ||
343 | dma-no-cci; | ||
344 | dma-type = "hi6220_dma"; | ||
345 | status = "ok"; | ||
346 | }; | ||
347 | |||
335 | dual_timer0: timer@f8008000 { | 348 | dual_timer0: timer@f8008000 { |
336 | compatible = "arm,sp804", "arm,primecell"; | 349 | compatible = "arm,sp804", "arm,primecell"; |
337 | reg = <0x0 0xf8008000 0x0 0x1000>; | 350 | reg = <0x0 0xf8008000 0x0 0x1000>; |
@@ -834,6 +847,19 @@ | |||
834 | #thermal-sensor-cells = <1>; | 847 | #thermal-sensor-cells = <1>; |
835 | }; | 848 | }; |
836 | 849 | ||
850 | i2s0: i2s@f7118000{ | ||
851 | compatible = "hisilicon,hi6210-i2s"; | ||
852 | reg = <0x0 0xf7118000 0x0 0x8000>; /* i2s unit */ | ||
853 | interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; /* 155 "DigACodec_intr"-32 */ | ||
854 | clocks = <&sys_ctrl HI6220_DACODEC_PCLK>, | ||
855 | <&sys_ctrl HI6220_BBPPLL0_DIV>; | ||
856 | clock-names = "dacodec", "i2s-base"; | ||
857 | dmas = <&dma0 15 &dma0 14>; | ||
858 | dma-names = "rx", "tx"; | ||
859 | hisilicon,sysctrl-syscon = <&sys_ctrl>; | ||
860 | #sound-dai-cells = <1>; | ||
861 | }; | ||
862 | |||
837 | thermal-zones { | 863 | thermal-zones { |
838 | 864 | ||
839 | cls0: cls0 { | 865 | cls0: cls0 { |