Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1444724 > unrolled thread

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

Started byJohn Stultz <john.stultz@linaro.org>
First post2016-07-16 04:20 +0200
Last post2016-07-18 19:30 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 7/7] dts: hi6220: Add k3-dma and i2s/hdmi audio support John Stultz <john.stultz@linaro.org> - 2016-07-16 04:20 +0200
    Re: [PATCH 7/7] dts: hi6220: Add k3-dma and i2s/hdmi audio support Mark Brown <broonie@kernel.org> - 2016-07-16 13:50 +0200
      Re: [PATCH 7/7] dts: hi6220: Add k3-dma and i2s/hdmi audio support John Stultz <john.stultz@linaro.org> - 2016-07-18 19:30 +0200

#1444724 — [PATCH 7/7] dts: hi6220: Add k3-dma and i2s/hdmi audio support

FromJohn Stultz <john.stultz@linaro.org>
Date2016-07-16 04:20 +0200
Subject[PATCH 7/7] dts: hi6220: Add k3-dma and i2s/hdmi audio support
Message-ID<rVnmV-6qg-13@gated-at.bofh.it>
Add entry for k3-dma driver and i2s/hdmi audio devices.

This enables HDMI audio output.

Cc: Zhangfei Gao <zhangfei.gao@linaro.org>
Cc: Jingoo Han <jg1.han@samsung.com>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Vinod Koul <vinod.koul@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
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>
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 189d215..ba34962 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,27 @@
 			#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";
+		};
+
+		hi6210_hdmi_card: hi6210_hdmi_card {
+			compatible = "hisilicon,hi6210-hdmi-audio-card";
+			reg = <0 0 0 0>;
+			sound-dai = <&i2s0>;
+		};
+
 		thermal-zones {
 
 			cls0: cls0 {
-- 
1.9.1

[toc] | [next] | [standalone]


#1444821

FromMark Brown <broonie@kernel.org>
Date2016-07-16 13:50 +0200
Message-ID<rVwgx-3iP-11@gated-at.bofh.it>
In reply to#1444724

[Multipart message — attachments visible in raw view] — view raw

On Fri, Jul 15, 2016 at 07:13:27PM -0700, John Stultz wrote:

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

> This enables HDMI audio output.

These bindings appear to be undocumented.  All new bindings require
documentation.

> +		i2s0: hi6210_i2s {
> +			compatible = "hisilicon,hi6210-i2s";
> +			reg = <0x0 0xf7118000 0x0 0x8000>, /* i2s unit */
> +			      <0x0 0xf7030000 0x0 0x400>,  /* syscon */
> +			      <0x0 0xf7032000 0x0 0x400>;  /* pmctrl */

Some of this looks like we should be using a system controller binding
rather than listing the system controller directly here.  The magic
number indexing for the resources is also not good, we should be using
reg-names to get name based lookups (I had been going to query that on
the binding document when I failed to find it...).

[toc] | [prev] | [next] | [standalone]


#1445659

FromJohn Stultz <john.stultz@linaro.org>
Date2016-07-18 19:30 +0200
Message-ID<rWkwG-Jb-9@gated-at.bofh.it>
In reply to#1444821
On Sat, Jul 16, 2016 at 4:48 AM, Mark Brown <broonie@kernel.org> wrote:
> On Fri, Jul 15, 2016 at 07:13:27PM -0700, John Stultz wrote:
>
>> Add entry for k3-dma driver and i2s/hdmi audio devices.
>
>> This enables HDMI audio output.
>
> These bindings appear to be undocumented.  All new bindings require
> documentation.

Yea. I figured there would be potentially substantial enough changes
required that doing a initial draft (which given my limited knowledge
of the hardware, would be mostly boilerplate) might not be worth it
for the first RFC.

>> +             i2s0: hi6210_i2s {
>> +                     compatible = "hisilicon,hi6210-i2s";
>> +                     reg = <0x0 0xf7118000 0x0 0x8000>, /* i2s unit */
>> +                           <0x0 0xf7030000 0x0 0x400>,  /* syscon */
>> +                           <0x0 0xf7032000 0x0 0x400>;  /* pmctrl */
>
> Some of this looks like we should be using a system controller binding
> rather than listing the system controller directly here.  The magic
> number indexing for the resources is also not good, we should be using
> reg-names to get name based lookups (I had been going to query that on
> the binding document when I failed to find it...).

Ok. I'll need to dig a bit to understand it better, but will try to
address this.

thanks
-john

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web