* [PATCH 2/2] BCM2835: Add I2S driver to device tree
@ 2014-01-13 11:13 Florian Meier
[not found] ` <52D3CA6E.1010803-oZ8rN/sblLk@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Florian Meier @ 2014-01-13 11:13 UTC (permalink / raw)
To: Stephen Warren
Cc: linux-rpi-kernel,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree
This adds the definitions for the BCM2835 I2S driver
to the device tree. Some GPIO settings are needed for
the correct pin functions.
Signed-off-by: Florian Meier <florian.meier-oZ8rN/sblLk@public.gmane.org>
---
arch/arm/boot/dts/bcm2835-rpi-b.dts | 12 +++++++++++-
arch/arm/boot/dts/bcm2835.dtsi | 10 ++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts
b/arch/arm/boot/dts/bcm2835-rpi-b.dts
index 2a3b1c1..e83ed2f 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
@@ -23,7 +23,7 @@
&gpio {
pinctrl-names = "default";
- pinctrl-0 = <&gpioout &alt0 &alt3>;
+ pinctrl-0 = <&gpioout &alt0 &alt2 &alt3>;
gpioout: gpioout {
brcm,pins = <6>;
@@ -39,6 +39,16 @@
brcm,pins = <48 49 50 51 52 53>;
brcm,function = <7>; /* alt3 */
};
+
+ /* I2S interface */
+ alt2: alt2 {
+ brcm,pins = <28 29 30 31>;
+ brcm,function = <6>; /* alt2 */
+ };
+};
+
+&bcm2835_i2s {
+ status = "okay";
};
&i2c0 {
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index 1da6b36..ca2259c 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -134,6 +134,16 @@
#dma-cells = <1>;
brcm,dma-channel-mask = <0x7f35>;
};
+
+ bcm2835_i2s: i2s@7e203000 {
+ compatible = "brcm,bcm2835-i2s";
+ reg = <0x7e203000 0x20>,
+ <0x7e101098 0x02>;
+
+ dmas = <&dma 2>,
+ <&dma 3>;
+ dma-names = "tx", "rx";
+ };
};
clocks {
--
1.8.3.2
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] BCM2835: Add I2S driver to device tree
[not found] ` <52D3CA6E.1010803-oZ8rN/sblLk@public.gmane.org>
@ 2014-01-13 11:16 ` Florian Meier
[not found] ` <52D3CB18.8040608-oZ8rN/sblLk@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Florian Meier @ 2014-01-13 11:16 UTC (permalink / raw)
To: Stephen Warren
Cc: linux-rpi-kernel,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree
This adds the definitions for the BCM2835 I2S driver
to the device tree. Some GPIO settings are needed for
the correct pin functions.
Signed-off-by: Florian Meier <florian.meier-oZ8rN/sblLk@public.gmane.org>
---
Sorry, I forgot to disable word-wrap again....
arch/arm/boot/dts/bcm2835-rpi-b.dts | 12 +++++++++++-
arch/arm/boot/dts/bcm2835.dtsi | 10 ++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
index 2a3b1c1..e83ed2f 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
@@ -23,7 +23,7 @@
&gpio {
pinctrl-names = "default";
- pinctrl-0 = <&gpioout &alt0 &alt3>;
+ pinctrl-0 = <&gpioout &alt0 &alt2 &alt3>;
gpioout: gpioout {
brcm,pins = <6>;
@@ -39,6 +39,16 @@
brcm,pins = <48 49 50 51 52 53>;
brcm,function = <7>; /* alt3 */
};
+
+ /* I2S interface */
+ alt2: alt2 {
+ brcm,pins = <28 29 30 31>;
+ brcm,function = <6>; /* alt2 */
+ };
+};
+
+&bcm2835_i2s {
+ status = "okay";
};
&i2c0 {
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index 1da6b36..ca2259c 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -134,6 +134,16 @@
#dma-cells = <1>;
brcm,dma-channel-mask = <0x7f35>;
};
+
+ bcm2835_i2s: i2s@7e203000 {
+ compatible = "brcm,bcm2835-i2s";
+ reg = <0x7e203000 0x20>,
+ <0x7e101098 0x02>;
+
+ dmas = <&dma 2>,
+ <&dma 3>;
+ dma-names = "tx", "rx";
+ };
};
clocks {
--
1.8.3.2
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] BCM2835: Add I2S driver to device tree
[not found] ` <52D3CB18.8040608-oZ8rN/sblLk@public.gmane.org>
@ 2014-01-14 2:57 ` Stephen Warren
[not found] ` <52D4A780.7050907-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Stephen Warren @ 2014-01-14 2:57 UTC (permalink / raw)
To: Florian Meier
Cc: linux-rpi-kernel,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree
On 01/13/2014 04:16 AM, Florian Meier wrote:
> This adds the definitions for the BCM2835 I2S driver
> to the device tree. Some GPIO settings are needed for
> the correct pin functions.
Patch 1/1 and the .dtsi portion of patch 2/2 look fine; I can apply
those after 3.14's merge window closes.
However, I don't think I can apply the change to bcm2835-rpi-b.dts in
this patch; those pins are used for the board ID strapping on rev 1
boards, and even on rev 2 boards, they're simply routed to a generic
header, rather than being dedicated for I2S usage. That part of the
patch would be better kept locally in your own kernel tree. Perhaps if
DT overlays ever take off, we can publish it as part of an I2S-specific
overlay.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] BCM2835: Add I2S driver to device tree
[not found] ` <52D4A780.7050907-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2014-01-14 7:08 ` Florian Meier
0 siblings, 0 replies; 4+ messages in thread
From: Florian Meier @ 2014-01-14 7:08 UTC (permalink / raw)
To: Stephen Warren
Cc: linux-rpi-kernel,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree
On 14.01.2014 03:57, Stephen Warren wrote:
> On 01/13/2014 04:16 AM, Florian Meier wrote:
>> This adds the definitions for the BCM2835 I2S driver
>> to the device tree. Some GPIO settings are needed for
>> the correct pin functions.
>
> Patch 1/1 and the .dtsi portion of patch 2/2 look fine; I can apply
> those after 3.14's merge window closes.
>
> However, I don't think I can apply the change to bcm2835-rpi-b.dts in
> this patch; those pins are used for the board ID strapping on rev 1
> boards,
Yes, but I thought the board ID is never utilized. However, I have not
tested that.
> and even on rev 2 boards, they're simply routed to a generic
> header, rather than being dedicated for I2S usage. That part of the
> patch would be better kept locally in your own kernel tree. Perhaps if
> DT overlays ever take off, we can publish it as part of an I2S-specific
> overlay.
You are right. That might be a problem. Someone might want to use the
pins for another functionality. I personally think the I2S
functionality will be the most used functionality for those pins, but
I accept it when you say that they better should be set as second I2C
channel and generic GPIO pins (as it is by default).
However, for an end user it doesn't seem to be a convenient solution
to have a kernel tree for each possible combination of pin
assignments.
The "old way" would be to set the pin functionality while loading the
i2s driver, but I assume that is not the right way to go, right?
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-01-14 7:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-13 11:13 [PATCH 2/2] BCM2835: Add I2S driver to device tree Florian Meier
[not found] ` <52D3CA6E.1010803-oZ8rN/sblLk@public.gmane.org>
2014-01-13 11:16 ` Florian Meier
[not found] ` <52D3CB18.8040608-oZ8rN/sblLk@public.gmane.org>
2014-01-14 2:57 ` Stephen Warren
[not found] ` <52D4A780.7050907-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-01-14 7:08 ` Florian Meier
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).