From: Stephen Warren <swarren@wwwdotorg.org>
To: Eric Anholt <eric@anholt.net>
Cc: linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Lee Jones <lee@kernel.org>,
Florian Fainelli <f.fainelli@gmail.com>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
devicetree@vger.kernel.org,
Linus Walleij <linus.walleij@linaro.org>,
linux-gpio@vger.kernel.org,
Stefan Wahren <stefan.wahren@i2se.com>
Subject: Re: [PATCH 1/5] ARM: bcm2835: Define standard pinctrl groups in the gpio node.
Date: Thu, 3 Mar 2016 14:20:34 -0700 [thread overview]
Message-ID: <56D8AAA2.60907@wwwdotorg.org> (raw)
In-Reply-To: <1456510756-15337-2-git-send-email-eric@anholt.net>
On 02/26/2016 11:19 AM, Eric Anholt wrote:
> The BCM2835-ARM-Peripherals.pdf documentation specifies what the
> function selects do for the pins, and there are a bunch of obvious
> groupings to be made. With these created, we'll be able to replace
> bcm2835-rpi.dtsi's main "set all of these pins to alt0" with
> references to specific groups we want enabled.
> diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
> + spi0_gpio7: spi0_gpio7 {
> + brcm,pins = <7 8 9 10 11>;
> + brcm,function = <BCM2835_FSEL_ALT0>;
> + };
This is too many pins.
- It includes both MOSI and MISO, although a particular use-case may
only use 1 of those.
- It includes both chip-select signals, whereas a particular use-case
may use 0, 1, or 2 of those. This is especially true since IIRC the
mainline bcm283x SPI driver wants to only use GPIOs for chip-selects,
not SPI-controller-generated chip-select signals, to avoid some issues
with the HW generation of these signals.
I believe a similar comment applies to other SPI nodes too.
> + pcm_gpio18: pcm_gpio18 {
> + brcm,pins = <18 19 20 21>;
> + brcm,function = <BCM2835_FSEL_ALT0>;
> + };
Here too, I wonder if some people might want only one of DIN/DOUT and
not both?
> + uart1_gpio36: uart1_gpio36 {
> + brcm,pins = <36 37 38 39>;
> + brcm,function = <BCM2835_FSEL_ALT2>;
> + };
Similarly, I think for UARTS, TX/RX and RTS/CTS should always be in
different nodes so people can choose 2- or 4-wire mode. Most of the UART
nodes are already split like this, but this one isn't.
> + emmc_gpio22: emmc_gpio22 {
> + brcm,pins = <22 23 24 25 26 27>;
> + brcm,function = <BCM2835_FSEL_ALT3>;
> + };
1-wire (1 data wire, plus CLK/CMD) eMMC is possible in theory, although
I don't know whether it makes sense to support this?
WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5] ARM: bcm2835: Define standard pinctrl groups in the gpio node.
Date: Thu, 3 Mar 2016 14:20:34 -0700 [thread overview]
Message-ID: <56D8AAA2.60907@wwwdotorg.org> (raw)
In-Reply-To: <1456510756-15337-2-git-send-email-eric@anholt.net>
On 02/26/2016 11:19 AM, Eric Anholt wrote:
> The BCM2835-ARM-Peripherals.pdf documentation specifies what the
> function selects do for the pins, and there are a bunch of obvious
> groupings to be made. With these created, we'll be able to replace
> bcm2835-rpi.dtsi's main "set all of these pins to alt0" with
> references to specific groups we want enabled.
> diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
> + spi0_gpio7: spi0_gpio7 {
> + brcm,pins = <7 8 9 10 11>;
> + brcm,function = <BCM2835_FSEL_ALT0>;
> + };
This is too many pins.
- It includes both MOSI and MISO, although a particular use-case may
only use 1 of those.
- It includes both chip-select signals, whereas a particular use-case
may use 0, 1, or 2 of those. This is especially true since IIRC the
mainline bcm283x SPI driver wants to only use GPIOs for chip-selects,
not SPI-controller-generated chip-select signals, to avoid some issues
with the HW generation of these signals.
I believe a similar comment applies to other SPI nodes too.
> + pcm_gpio18: pcm_gpio18 {
> + brcm,pins = <18 19 20 21>;
> + brcm,function = <BCM2835_FSEL_ALT0>;
> + };
Here too, I wonder if some people might want only one of DIN/DOUT and
not both?
> + uart1_gpio36: uart1_gpio36 {
> + brcm,pins = <36 37 38 39>;
> + brcm,function = <BCM2835_FSEL_ALT2>;
> + };
Similarly, I think for UARTS, TX/RX and RTS/CTS should always be in
different nodes so people can choose 2- or 4-wire mode. Most of the UART
nodes are already split like this, but this one isn't.
> + emmc_gpio22: emmc_gpio22 {
> + brcm,pins = <22 23 24 25 26 27>;
> + brcm,function = <BCM2835_FSEL_ALT3>;
> + };
1-wire (1 data wire, plus CLK/CMD) eMMC is possible in theory, although
I don't know whether it makes sense to support this?
next prev parent reply other threads:[~2016-03-03 21:20 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-26 18:19 [PATCH 0/5] BCM2835 pinctrl DT rework (resend) Eric Anholt
2016-02-26 18:19 ` Eric Anholt
2016-02-26 18:19 ` [PATCH 1/5] ARM: bcm2835: Define standard pinctrl groups in the gpio node Eric Anholt
2016-03-03 21:20 ` Stephen Warren [this message]
2016-03-03 21:20 ` Stephen Warren
[not found] ` <56D8AAA2.60907-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-03-03 22:23 ` Eric Anholt
2016-03-03 22:23 ` Eric Anholt
2016-03-03 22:23 ` Eric Anholt
2016-03-03 22:32 ` Stephen Warren
2016-03-03 22:32 ` Stephen Warren
2016-03-04 9:27 ` Martin Sperl
2016-03-04 9:27 ` Martin Sperl
2016-03-04 9:27 ` Martin Sperl
2016-02-26 18:19 ` [PATCH 2/5] ARM: bcm2835: Replace alt0/i2s_alt[02] with standard groups Eric Anholt
2016-03-03 21:26 ` Stephen Warren
2016-03-03 21:26 ` Stephen Warren
2016-03-03 22:28 ` Eric Anholt
2016-03-03 22:28 ` Eric Anholt
2016-03-03 22:28 ` Eric Anholt
2016-03-03 22:34 ` Stephen Warren
2016-03-03 22:34 ` Stephen Warren
2016-03-08 8:24 ` Linus Walleij
2016-03-08 8:24 ` Linus Walleij
2016-03-08 16:42 ` Stephen Warren
2016-03-08 16:42 ` Stephen Warren
2016-02-26 18:19 ` [PATCH 3/5] ARM: bcm2835: Move the emmc pin group to bcm283x.dtsi Eric Anholt
2016-02-26 18:19 ` [PATCH 4/5] ARM: bcm2835: Add a group for mapping pins 48-53 to sdhost Eric Anholt
2016-02-26 18:19 ` [PATCH 5/5] ARM: bcm2835: Move most RPi default pin groups to their devices Eric Anholt
2016-03-08 8:25 ` Linus Walleij
2016-03-08 8:25 ` Linus Walleij
[not found] <1456425661-26123-1-git-send-email-eric@anholt.net>
2016-02-25 18:40 ` [PATCH 1/5] ARM: bcm2835: Define standard pinctrl groups in the gpio node Eric Anholt
2016-02-25 18:40 ` Eric Anholt
2016-02-25 22:24 ` Eric Anholt
2016-02-25 22:24 ` Eric Anholt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56D8AAA2.60907@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=devicetree@vger.kernel.org \
--cc=eric@anholt.net \
--cc=f.fainelli@gmail.com \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=lee@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=stefan.wahren@i2se.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.