2013-10-21 09:45:49

by Peter Ujfalusi

[permalink] [raw]
Subject: [PATCH] ARM: dts: am4372: Add McASP nodes

Add nodes for McASP0 and McASP1 for AM43xx.

Signed-off-by: Peter Ujfalusi <[email protected]>
---
arch/arm/boot/dts/am4372.dtsi | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index c328d5c..defaad1 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -633,5 +633,32 @@
dma-names = "tx", "rx";
};

+ mcasp0: mcasp@48038000 {
+ compatible = "ti,am33xx-mcasp-audio";
+ ti,hwmods = "mcasp0";
+ reg = <0x48038000 0x2000>,
+ <0x46000000 0x400000>;
+ reg-names = "mpu", "dat";
+ interrupts = <80>, <81>;
+ interrupts-names = "tx", "rx";
+ status = "disabled";
+ dmas = <&edma 8>,
+ <&edma 9>;
+ dma-names = "tx", "rx";
+ };
+
+ mcasp1: mcasp@4803C000 {
+ compatible = "ti,am33xx-mcasp-audio";
+ ti,hwmods = "mcasp1";
+ reg = <0x4803C000 0x2000>,
+ <0x46400000 0x400000>;
+ reg-names = "mpu", "dat";
+ interrupts = <82>, <83>;
+ interrupts-names = "tx", "rx";
+ status = "disabled";
+ dmas = <&edma 10>,
+ <&edma 11>;
+ dma-names = "tx", "rx";
+ };
};
};
--
1.8.4


2013-10-21 19:01:21

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: am4372: Add McASP nodes

Hello.

On 10/21/2013 01:45 PM, Peter Ujfalusi wrote:

> Add nodes for McASP0 and McASP1 for AM43xx.

> Signed-off-by: Peter Ujfalusi <[email protected]>
> ---
> arch/arm/boot/dts/am4372.dtsi | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)

> diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
> index c328d5c..defaad1 100644
> --- a/arch/arm/boot/dts/am4372.dtsi
> +++ b/arch/arm/boot/dts/am4372.dtsi
> @@ -633,5 +633,32 @@
> dma-names = "tx", "rx";
> };
>
> + mcasp0: mcasp@48038000 {

According to ePAPR spec [1], "the name of a node should be somewhat
generic, reflecting the function of the device and not its
precise programming model". In this case probably "sound"?

[1] http://www.power.org/resources/downloads/Power_ePAPR_APPROVED_v1.0.pdf

WBR, Sergei

2013-10-22 07:45:59

by Peter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: am4372: Add McASP nodes

Hi,

On 10/21/2013 10:01 PM, Sergei Shtylyov wrote:

>> diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
>> index c328d5c..defaad1 100644
>> --- a/arch/arm/boot/dts/am4372.dtsi
>> +++ b/arch/arm/boot/dts/am4372.dtsi
>> @@ -633,5 +633,32 @@
>> dma-names = "tx", "rx";
>> };
>>
>> + mcasp0: mcasp@48038000 {
>
> According to ePAPR spec [1], "the name of a node should be somewhat
> generic, reflecting the function of the device and not its
> precise programming model". In this case probably "sound"?

We use the 'sound' node name for the sound card itself. The case with McASP is
a bit complicated. It can operate in I2S mode (and similar protocols like RJM,
LJM, TDM) or it can interface with S/PDIF, IEC60958-1, AES-3 codecs.
The mode we put McASP depends on the external components, so the same McASP
can be used in I2S mode in one board while on the other it can be S/PDIF.
It would have been convenient if I could use 'i2s' as node name but it is not
true for McASP (Tegra, Exynos for example have I2S, AC97, S/PDIF as separate IP).

IMHO the 'mcasp' is still the best node name for this IP. McASP stands for:
'Multichannel Audio Serial Port' and this is pretty much what McASP is.

--
P?ter

2013-10-22 08:33:06

by Benoit Cousson

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: am4372: Add McASP nodes

On 22/10/2013 09:46, Peter Ujfalusi wrote:
> Hi,
>
> On 10/21/2013 10:01 PM, Sergei Shtylyov wrote:
>
>>> diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
>>> index c328d5c..defaad1 100644
>>> --- a/arch/arm/boot/dts/am4372.dtsi
>>> +++ b/arch/arm/boot/dts/am4372.dtsi
>>> @@ -633,5 +633,32 @@
>>> dma-names = "tx", "rx";
>>> };
>>>
>>> + mcasp0: mcasp@48038000 {
>>
>> According to ePAPR spec [1], "the name of a node should be somewhat
>> generic, reflecting the function of the device and not its
>> precise programming model". In this case probably "sound"?
>
> We use the 'sound' node name for the sound card itself. The case with McASP is
> a bit complicated. It can operate in I2S mode (and similar protocols like RJM,
> LJM, TDM) or it can interface with S/PDIF, IEC60958-1, AES-3 codecs.
> The mode we put McASP depends on the external components, so the same McASP
> can be used in I2S mode in one board while on the other it can be S/PDIF.
> It would have been convenient if I could use 'i2s' as node name but it is not
> true for McASP (Tegra, Exynos for example have I2S, AC97, S/PDIF as separate IP).
>
> IMHO the 'mcasp' is still the best node name for this IP. McASP stands for:
> 'Multichannel Audio Serial Port' and this is pretty much what McASP is.

Yes, I do agree, there are tons of nodes that cannot have generic name.
Moreover, we are already using that name in few OMAP dts, so for
consistency, let's keep that name.

Benoit

--
Beno?t Cousson
BayLibre
Embedded Linux Technology Lab
http://www.baylibre.com