* [PATCH v6 0/3] ARM: dts: at91: sama5d2: Add nodes for I2S
@ 2018-07-30 11:40 Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 1/3] ARM: dts: at91: sama5d2: add I2S clock muxing nodes Codrin Ciubotariu
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Codrin Ciubotariu @ 2018-07-30 11:40 UTC (permalink / raw)
To: nicolas.ferre, alexandre.belloni
Cc: linux-kernel, devicetree, linux-arm-kernel, Cristian.Birsan
These are the remaining dts patches from the series:
[PATCH v5 0/5] ASoC: add driver for Atmel I2S controller
v5 -> v6
- removed unnecessary phandles to audio PLL clock from the I2S nodes;
- using assigned clocks to set gclk as parent of i2smuxclk;
Codrin Ciubotariu (1):
ARM: dts: at91: sama5d2: add I2S clock muxing nodes
Cyrille Pitchen (2):
ARM: dts: at91: sama5d2: add nodes for I2S controllers
ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S
arch/arm/boot/dts/at91-sama5d2_xplained.dts | 28 +++++++++++
arch/arm/boot/dts/sama5d2.dtsi | 56 +++++++++++++++++++++
2 files changed, 84 insertions(+)
--
2.17.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v6 1/3] ARM: dts: at91: sama5d2: add I2S clock muxing nodes
2018-07-30 11:40 [PATCH v6 0/3] ARM: dts: at91: sama5d2: Add nodes for I2S Codrin Ciubotariu
@ 2018-07-30 11:40 ` Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 2/3] ARM: dts: at91: sama5d2: add nodes for I2S controllers Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 3/3] ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S Codrin Ciubotariu
2 siblings, 0 replies; 6+ messages in thread
From: Codrin Ciubotariu @ 2018-07-30 11:40 UTC (permalink / raw)
To: nicolas.ferre, alexandre.belloni
Cc: linux-kernel, devicetree, linux-arm-kernel, Cristian.Birsan
This patch adds two clock muxes for the two I2S
buses present on sama5d2 platforms.
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
---
Changes in v6:
- none
arch/arm/boot/dts/sama5d2.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi
index 61f68e5c48e9..eeb6afa1cda7 100644
--- a/arch/arm/boot/dts/sama5d2.dtsi
+++ b/arch/arm/boot/dts/sama5d2.dtsi
@@ -992,6 +992,24 @@
atmel,clk-output-range = <0 100000000>;
};
};
+
+ i2s_clkmux {
+ compatible = "atmel,sama5d2-clk-i2s-mux";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ i2s0muxck: i2s0_muxclk {
+ clocks = <&i2s0_clk>, <&i2s0_gclk>;
+ #clock-cells = <0>;
+ reg = <0>;
+ };
+
+ i2s1muxck: i2s1_muxclk {
+ clocks = <&i2s1_clk>, <&i2s1_gclk>;
+ #clock-cells = <0>;
+ reg = <1>;
+ };
+ };
};
qspi0: spi@f0020000 {
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v6 2/3] ARM: dts: at91: sama5d2: add nodes for I2S controllers
2018-07-30 11:40 [PATCH v6 0/3] ARM: dts: at91: sama5d2: Add nodes for I2S Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 1/3] ARM: dts: at91: sama5d2: add I2S clock muxing nodes Codrin Ciubotariu
@ 2018-07-30 11:40 ` Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 3/3] ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S Codrin Ciubotariu
2 siblings, 0 replies; 6+ messages in thread
From: Codrin Ciubotariu @ 2018-07-30 11:40 UTC (permalink / raw)
To: nicolas.ferre, alexandre.belloni
Cc: linux-kernel, devicetree, linux-arm-kernel, Cristian.Birsan,
Cyrille Pitchen
From: Cyrille Pitchen <cyrille.pitchen@atmel.com>
This patch adds DT nodes for I2S0 and I2S1. It also adds an alias for
each I2S node.
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
[codrin.ciubotariu@microchip.com: removed unnecessary clock phandles]
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
---
Changes in v6:
- removed unnecessary phandles to audio PLL clock from the I2S nodes;
- using assigned clocks to set gclk as parent of i2smuxclk;
arch/arm/boot/dts/sama5d2.dtsi | 38 ++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/arch/arm/boot/dts/sama5d2.dtsi b/arch/arm/boot/dts/sama5d2.dtsi
index eeb6afa1cda7..bf71dc00223a 100644
--- a/arch/arm/boot/dts/sama5d2.dtsi
+++ b/arch/arm/boot/dts/sama5d2.dtsi
@@ -58,6 +58,8 @@
serial1 = &uart3;
tcb0 = &tcb0;
tcb1 = &tcb1;
+ i2s0 = &i2s0;
+ i2s1 = &i2s1;
};
cpus {
@@ -1313,6 +1315,24 @@
clocks = <&clk32k>;
};
+ i2s0: i2s@f8050000 {
+ compatible = "atmel,sama5d2-i2s";
+ reg = <0xf8050000 0x100>;
+ interrupts = <54 IRQ_TYPE_LEVEL_HIGH 7>;
+ dmas = <&dma0
+ (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
+ AT91_XDMAC_DT_PERID(31))>,
+ <&dma0
+ (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
+ AT91_XDMAC_DT_PERID(32))>;
+ dma-names = "tx", "rx";
+ clocks = <&i2s0_clk>, <&i2s0_gclk>;
+ clock-names = "pclk", "gclk";
+ assigned-clocks = <&i2s0muxck>;
+ assigned-clock-parents = <&i2s0_gclk>;
+ status = "disabled";
+ };
+
can0: can@f8054000 {
compatible = "bosch,m_can";
reg = <0xf8054000 0x4000>, <0x210000 0x4000>;
@@ -1506,6 +1526,24 @@
status = "disabled";
};
+ i2s1: i2s@fc04c000 {
+ compatible = "atmel,sama5d2-i2s";
+ reg = <0xfc04c000 0x100>;
+ interrupts = <55 IRQ_TYPE_LEVEL_HIGH 7>;
+ dmas = <&dma0
+ (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
+ AT91_XDMAC_DT_PERID(33))>,
+ <&dma0
+ (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
+ AT91_XDMAC_DT_PERID(34))>;
+ dma-names = "tx", "rx";
+ clocks = <&i2s1_clk>, <&i2s1_gclk>;
+ clock-names = "pclk", "gclk";
+ assigned-clocks = <&i2s1muxck>;
+ assigned-parrents = <&i2s1_gclk>;
+ status = "disabled";
+ };
+
can1: can@fc050000 {
compatible = "bosch,m_can";
reg = <0xfc050000 0x4000>, <0x210000 0x4000>;
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v6 3/3] ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S
2018-07-30 11:40 [PATCH v6 0/3] ARM: dts: at91: sama5d2: Add nodes for I2S Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 1/3] ARM: dts: at91: sama5d2: add I2S clock muxing nodes Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 2/3] ARM: dts: at91: sama5d2: add nodes for I2S controllers Codrin Ciubotariu
@ 2018-07-30 11:40 ` Codrin Ciubotariu
2018-07-30 13:49 ` Claudiu Beznea
2 siblings, 1 reply; 6+ messages in thread
From: Codrin Ciubotariu @ 2018-07-30 11:40 UTC (permalink / raw)
To: nicolas.ferre, alexandre.belloni
Cc: linux-kernel, devicetree, linux-arm-kernel, Cristian.Birsan,
Cyrille Pitchen
From: Cyrille Pitchen <cyrille.pitchen@atmel.com>
This patch sets the pin muxing for the I2S controllers
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
[codrin.ciubotariu@microchip.com: added pin muxing for the second
controller]
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
---
Changes in v6:
- none;
arch/arm/boot/dts/at91-sama5d2_xplained.dts | 28 +++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/arch/arm/boot/dts/at91-sama5d2_xplained.dts b/arch/arm/boot/dts/at91-sama5d2_xplained.dts
index fcc85d70f36e..95cbec0f8790 100644
--- a/arch/arm/boot/dts/at91-sama5d2_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d2_xplained.dts
@@ -281,6 +281,11 @@
status = "okay";
};
+ i2s0: i2s@f8050000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2s0_default>;
+ };
+
can0: can@f8054000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can0_default>;
@@ -424,6 +429,24 @@
bias-disable;
};
+ pinctrl_i2s0_default: i2s0_default {
+ pinmux = <PIN_PC1__I2SC0_CK>,
+ <PIN_PC2__I2SC0_MCK>,
+ <PIN_PC3__I2SC0_WS>,
+ <PIN_PC4__I2SC0_DI0>,
+ <PIN_PC5__I2SC0_DO0>;
+ bias-disable;
+ };
+
+ pinctrl_i2s1_default: i2s1_default {
+ pinmux = <PIN_PA15__I2SC1_CK>,
+ <PIN_PA14__I2SC1_MCK>,
+ <PIN_PA16__I2SC1_WS>,
+ <PIN_PA17__I2SC1_DI0>,
+ <PIN_PA18__I2SC1_DO0>;
+ bias-disable;
+ };
+
pinctrl_key_gpio_default: key_gpio_default {
pinmux = <PIN_PB9__GPIO>;
bias-pull-up;
@@ -546,6 +569,11 @@
status = "okay";
};
+ i2s1: i2s@fc04c000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2s1_default>;
+ };
+
can1: can@fc050000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can1_default>;
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v6 3/3] ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S
2018-07-30 11:40 ` [PATCH v6 3/3] ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S Codrin Ciubotariu
@ 2018-07-30 13:49 ` Claudiu Beznea
2018-07-30 14:03 ` Codrin Ciubotariu
0 siblings, 1 reply; 6+ messages in thread
From: Claudiu Beznea @ 2018-07-30 13:49 UTC (permalink / raw)
To: Codrin Ciubotariu, nicolas.ferre, alexandre.belloni
Cc: devicetree, Cyrille Pitchen, Cristian.Birsan, linux-kernel,
linux-arm-kernel
Hi Codrin,
On 30.07.2018 14:40, Codrin Ciubotariu wrote:
> From: Cyrille Pitchen <cyrille.pitchen@atmel.com>
>
> This patch sets the pin muxing for the I2S controllers
>
> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
> [codrin.ciubotariu@microchip.com: added pin muxing for the second
> controller]
> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
> ---
>
> Changes in v6:
> - none;
>
> arch/arm/boot/dts/at91-sama5d2_xplained.dts | 28 +++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/arch/arm/boot/dts/at91-sama5d2_xplained.dts b/arch/arm/boot/dts/at91-sama5d2_xplained.dts
> index fcc85d70f36e..95cbec0f8790 100644
> --- a/arch/arm/boot/dts/at91-sama5d2_xplained.dts
> +++ b/arch/arm/boot/dts/at91-sama5d2_xplained.dts
> @@ -281,6 +281,11 @@
> status = "okay";
> };
>
> + i2s0: i2s@f8050000 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2s0_default>;
The approach with the disabled controllers in board DTS files (for our
boards) is to use the: status = "disabled" and if there are pin conflicts
with other controllers to put a mark in there, something like:
status = "disabled"; /* Conflict with X */
I'm seeing that i2s1 is in conflict with sdmmc1 and spi0.
Thank you,
Claudiu Beznea
> + };
> +
> can0: can@f8054000 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_can0_default>;
> @@ -424,6 +429,24 @@
> bias-disable;
> };
>
> + pinctrl_i2s0_default: i2s0_default {
> + pinmux = <PIN_PC1__I2SC0_CK>,
> + <PIN_PC2__I2SC0_MCK>,
> + <PIN_PC3__I2SC0_WS>,
> + <PIN_PC4__I2SC0_DI0>,
> + <PIN_PC5__I2SC0_DO0>;
> + bias-disable;
> + };
> +
> + pinctrl_i2s1_default: i2s1_default {
> + pinmux = <PIN_PA15__I2SC1_CK>,
> + <PIN_PA14__I2SC1_MCK>,
> + <PIN_PA16__I2SC1_WS>,
> + <PIN_PA17__I2SC1_DI0>,
> + <PIN_PA18__I2SC1_DO0>;
> + bias-disable;
> + };
> +
> pinctrl_key_gpio_default: key_gpio_default {
> pinmux = <PIN_PB9__GPIO>;
> bias-pull-up;
> @@ -546,6 +569,11 @@
> status = "okay";
> };
>
> + i2s1: i2s@fc04c000 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2s1_default>;
> + };
> +
> can1: can@fc050000 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_can1_default>;
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 3/3] ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S
2018-07-30 13:49 ` Claudiu Beznea
@ 2018-07-30 14:03 ` Codrin Ciubotariu
0 siblings, 0 replies; 6+ messages in thread
From: Codrin Ciubotariu @ 2018-07-30 14:03 UTC (permalink / raw)
To: Claudiu Beznea, nicolas.ferre, alexandre.belloni
Cc: devicetree, Cyrille Pitchen, Cristian.Birsan, linux-kernel,
linux-arm-kernel
On 30.07.2018 16:49, Claudiu Beznea wrote:
> Hi Codrin,
>
> On 30.07.2018 14:40, Codrin Ciubotariu wrote:
>> From: Cyrille Pitchen <cyrille.pitchen@atmel.com>
>>
>> This patch sets the pin muxing for the I2S controllers
>>
>> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
>> [codrin.ciubotariu@microchip.com: added pin muxing for the second
>> controller]
>> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
>> ---
>>
>> Changes in v6:
>> - none;
>>
>> arch/arm/boot/dts/at91-sama5d2_xplained.dts | 28 +++++++++++++++++++++
>> 1 file changed, 28 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/at91-sama5d2_xplained.dts b/arch/arm/boot/dts/at91-sama5d2_xplained.dts
>> index fcc85d70f36e..95cbec0f8790 100644
>> --- a/arch/arm/boot/dts/at91-sama5d2_xplained.dts
>> +++ b/arch/arm/boot/dts/at91-sama5d2_xplained.dts
>> @@ -281,6 +281,11 @@
>> status = "okay";
>> };
>>
>> + i2s0: i2s@f8050000 {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_i2s0_default>;
>
> The approach with the disabled controllers in board DTS files (for our
> boards) is to use the: status = "disabled" and if there are pin conflicts
> with other controllers to put a mark in there, something like:
> status = "disabled"; /* Conflict with X */
>
> I'm seeing that i2s1 is in conflict with sdmmc1 and spi0.
Ok, I will disable them and add the pin conflicts in the next version.
Thank you for your review.
Best regards,
Codrin
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2018-07-30 14:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-30 11:40 [PATCH v6 0/3] ARM: dts: at91: sama5d2: Add nodes for I2S Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 1/3] ARM: dts: at91: sama5d2: add I2S clock muxing nodes Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 2/3] ARM: dts: at91: sama5d2: add nodes for I2S controllers Codrin Ciubotariu
2018-07-30 11:40 ` [PATCH v6 3/3] ARM: dts: at91: sama5d2 Xplained: add pin muxing for I2S Codrin Ciubotariu
2018-07-30 13:49 ` Claudiu Beznea
2018-07-30 14:03 ` Codrin Ciubotariu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).