diff mbox

[linux-sunxi,3/5] ARM: dts: sunxi: Add the SPDIF to the A10 and A20

Message ID 1456589909-2428-4-git-send-email-codekipper@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Code Kipper Feb. 27, 2016, 4:18 p.m. UTC
From: Marcus Cooper <codekipper@gmail.com>

Add the SPDIF transceiver controller and clock to the A10 and
A20 dtsi.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
---
 arch/arm/boot/dts/sun4i-a10.dtsi | 23 +++++++++++++++++++++++
 arch/arm/boot/dts/sun7i-a20.dtsi | 23 +++++++++++++++++++++++
 2 files changed, 46 insertions(+)

Comments

Maxime Ripard March 13, 2016, 9:50 p.m. UTC | #1
Hi,

On Sat, Feb 27, 2016 at 05:18:27PM +0100, codekipper@gmail.com wrote:
> From: Marcus Cooper <codekipper@gmail.com>
> 
> Add the SPDIF transceiver controller and clock to the A10 and
> A20 dtsi.
> 
> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> ---
>  arch/arm/boot/dts/sun4i-a10.dtsi | 23 +++++++++++++++++++++++
>  arch/arm/boot/dts/sun7i-a20.dtsi | 23 +++++++++++++++++++++++
>  2 files changed, 46 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
> index 0483640..83d46b2 100644
> --- a/arch/arm/boot/dts/sun4i-a10.dtsi
> +++ b/arch/arm/boot/dts/sun4i-a10.dtsi
> @@ -477,6 +477,17 @@
>  			clock-output-names = "ir1";
>  		};
>  
> +		spdif_clk: clk@01c200c0 {
> +			#clock-cells = <0>;
> +			compatible = "allwinner,sun4i-a10-mod1-clk";
> +			reg = <0x01c200c0 0x4>;
> +			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
> +				 <&pll2 SUN4I_A10_PLL2_4X>,
> +				 <&pll2 SUN4I_A10_PLL2_2X>,
> +				 <&pll2 SUN4I_A10_PLL2_1X>;
> +			clock-output-names = "spdif";
> +		};
> +
>  		usb_clk: clk@01c200cc {
>  			#clock-cells = <1>;
>  			#reset-cells = <1>;
> @@ -1055,6 +1066,18 @@
>  			status = "disabled";
>  		};
>  
> +		spdif: spdif@01c21000 {
> +			#sound-dai-cells = <0>;
> +			compatible = "allwinner,sun4i-a10-spdif";
> +			reg = <0x01c21000 0x40>;

It only takes 64 bytes?

> +			interrupts = <13>;
> +			clocks = <&apb0_gates 1>, <&spdif_clk>;
> +			clock-names = "apb", "spdif";
> +			dmas = <&dma 0 2>, <&dma 0 2>;

Please use the defines here.

Thanks!
Maxime
Code Kipper March 14, 2016, 4:29 p.m. UTC | #2
On 13 March 2016 at 22:50, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> Hi,
>
> On Sat, Feb 27, 2016 at 05:18:27PM +0100, codekipper@gmail.com wrote:
>> From: Marcus Cooper <codekipper@gmail.com>
>>
>> Add the SPDIF transceiver controller and clock to the A10 and
>> A20 dtsi.
>>
>> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
>> ---
>>  arch/arm/boot/dts/sun4i-a10.dtsi | 23 +++++++++++++++++++++++
>>  arch/arm/boot/dts/sun7i-a20.dtsi | 23 +++++++++++++++++++++++
>>  2 files changed, 46 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
>> index 0483640..83d46b2 100644
>> --- a/arch/arm/boot/dts/sun4i-a10.dtsi
>> +++ b/arch/arm/boot/dts/sun4i-a10.dtsi
>> @@ -477,6 +477,17 @@
>>                       clock-output-names = "ir1";
>>               };
>>
>> +             spdif_clk: clk@01c200c0 {
>> +                     #clock-cells = <0>;
>> +                     compatible = "allwinner,sun4i-a10-mod1-clk";
>> +                     reg = <0x01c200c0 0x4>;
>> +                     clocks = <&pll2 SUN4I_A10_PLL2_8X>,
>> +                              <&pll2 SUN4I_A10_PLL2_4X>,
>> +                              <&pll2 SUN4I_A10_PLL2_2X>,
>> +                              <&pll2 SUN4I_A10_PLL2_1X>;
>> +                     clock-output-names = "spdif";
>> +             };
>> +
>>               usb_clk: clk@01c200cc {
>>                       #clock-cells = <1>;
>>                       #reset-cells = <1>;
>> @@ -1055,6 +1066,18 @@
>>                       status = "disabled";
>>               };
>>
>> +             spdif: spdif@01c21000 {
>> +                     #sound-dai-cells = <0>;
>> +                     compatible = "allwinner,sun4i-a10-spdif";
>> +                     reg = <0x01c21000 0x40>;
>
> It only takes 64 bytes?
Yep(just like the audio codec!)
http://linux-sunxi.org/SPDIF#SUNXI_SPDIF_DEFAULT_VALUES
>
>> +                     interrupts = <13>;
>> +                     clocks = <&apb0_gates 1>, <&spdif_clk>;
>> +                     clock-names = "apb", "spdif";
>> +                     dmas = <&dma 0 2>, <&dma 0 2>;
>
> Please use the defines here.
ACK...will resend.
Thanks,
CK
>
> Thanks!
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
Maxime Ripard March 14, 2016, 6:52 p.m. UTC | #3
On Mon, Mar 14, 2016 at 05:29:37PM +0100, Code Kipper wrote:
> >> +             spdif: spdif@01c21000 {
> >> +                     #sound-dai-cells = <0>;
> >> +                     compatible = "allwinner,sun4i-a10-spdif";
> >> +                     reg = <0x01c21000 0x40>;
> >
> > It only takes 64 bytes?
>
> Yep(just like the audio codec!)
> http://linux-sunxi.org/SPDIF#SUNXI_SPDIF_DEFAULT_VALUES

Yet the datasheet says it takes 1k in the memory map.

Please use that value instead.

Thanks!
Maxime
diff mbox

Patch

diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 0483640..83d46b2 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -477,6 +477,17 @@ 
 			clock-output-names = "ir1";
 		};
 
+		spdif_clk: clk@01c200c0 {
+			#clock-cells = <0>;
+			compatible = "allwinner,sun4i-a10-mod1-clk";
+			reg = <0x01c200c0 0x4>;
+			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
+				 <&pll2 SUN4I_A10_PLL2_4X>,
+				 <&pll2 SUN4I_A10_PLL2_2X>,
+				 <&pll2 SUN4I_A10_PLL2_1X>;
+			clock-output-names = "spdif";
+		};
+
 		usb_clk: clk@01c200cc {
 			#clock-cells = <1>;
 			#reset-cells = <1>;
@@ -1055,6 +1066,18 @@ 
 			status = "disabled";
 		};
 
+		spdif: spdif@01c21000 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun4i-a10-spdif";
+			reg = <0x01c21000 0x40>;
+			interrupts = <13>;
+			clocks = <&apb0_gates 1>, <&spdif_clk>;
+			clock-names = "apb", "spdif";
+			dmas = <&dma 0 2>, <&dma 0 2>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		ir0: ir@01c21800 {
 			compatible = "allwinner,sun4i-a10-ir";
 			clocks = <&apb0_gates 6>, <&ir0_clk>;
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index 7264d5e..4631660 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -476,6 +476,17 @@ 
 			clock-output-names = "ir1";
 		};
 
+		spdif_clk: clk@01c200c0 {
+			#clock-cells = <0>;
+			compatible = "allwinner,sun4i-a10-mod1-clk";
+			reg = <0x01c200c0 0x4>;
+			clocks = <&pll2 SUN4I_A10_PLL2_8X>,
+				 <&pll2 SUN4I_A10_PLL2_4X>,
+				 <&pll2 SUN4I_A10_PLL2_2X>,
+				 <&pll2 SUN4I_A10_PLL2_1X>;
+			clock-output-names = "spdif";
+		};
+
 		keypad_clk: clk@01c200c4 {
 			#clock-cells = <0>;
 			compatible = "allwinner,sun4i-a10-mod0-clk";
@@ -1247,6 +1258,18 @@ 
 			status = "disabled";
 		};
 
+		spdif: spdif@01c21000 {
+			#sound-dai-cells = <0>;
+			compatible = "allwinner,sun4i-a10-spdif";
+			reg = <0x01c21000 0x40>;
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&apb0_gates 1>, <&spdif_clk>;
+			clock-names = "apb", "spdif";
+			dmas = <&dma 0 2>, <&dma 0 2>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		ir0: ir@01c21800 {
 			compatible = "allwinner,sun4i-a10-ir";
 			clocks = <&apb0_gates 6>, <&ir0_clk>;