From: Eric Anholt <eric@anholt.net>
To: kernel@martin.sperl.org, Stephen Warren <swarren@wwwdotorg.org>,
Lee Jones <lee@kernel.org>, Russell King <linux@arm.linux.org.uk>,
Mark Brown <broonie@kernel.org>, 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, linux-rpi-kernel@lists.infradead.org,
linux-spi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Cc: Martin Sperl <kernel@martin.sperl.org>
Subject: Re: [PATCH v5 0/6] bcm2835: auxiliar device support for spi
Date: Tue, 08 Sep 2015 18:48:07 -0700 [thread overview]
Message-ID: <87h9n4weg8.fsf@eliezer.anholt.net> (raw)
In-Reply-To: <1441359711-2800-1-git-send-email-kernel@martin.sperl.org>
[-- Attachment #1: Type: text/plain, Size: 1937 bytes --]
kernel@martin.sperl.org writes:
> From: Martin Sperl <kernel@martin.sperl.org>
>
> The BCM2835 contains 3 auxiliar devices:
> * spi1
> * spi2
> * uart1
>
> All of those 3 devices are enabled/disabled via a shared register,
> which is set by default to be disabled.
>
> Access to this register needs to get serialized.
>
> So after several iterations of discussions with the following ideas:
> * syscon - device tree should describe HW not drivers to use -
> 'compatiblity = "brcm,bcm2835-aux-enable", "syscon";'
> is not acceptable
> * regulator - it is not necessarily a regulator or a power gate
> that is implemented in HW, so it is not valid to use
> this framework
>
> The recommendation was made to create a new minimal API in soc
> just for access to this shared enable/disable register.
>
> This patch-series implements:
> * the bcm2835-auxiliar device enable/disable api in soc.
> * the bcm2835-auxiliar spi device driver
>
> The uart1 device driver (ns16550 based) is not implemented so far
> but would be using the same API.
>
> Both spi and uart drivers can run with shared interrupts,
> so there is no need for an interrupt-controller to get implemented.
I finally had a chance to sit down and look at what the hardware's doing
with the enable bit (also, I've read a whole lot more of the hardware
now, so I'm a lot faster at answering questions like this). The enable
bits are a clock gate off of the VPU clock.
I knocked together the enable bits as a clock gate driver, since I'd
just written very similar code for the audio domain clock driver (and I
assume you are grumpy about how much time you've spent on this one
stupid register). It's up at
https://github.com/anholt/linux/tree/bcm2835-clock-aux and I can submit
it if you like the result. I've compile tested it only, but I'm hoping
you could just drop your aux SPI driver on top of it and have things
work.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
next prev parent reply other threads:[~2015-09-09 1:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-04 9:41 kernel
2015-09-04 9:41 ` [PATCH 1/6] soc: bcm2835: auxiliar devices enable infrastructure kernel
2015-09-04 9:41 ` [PATCH v5 2/6] ARM: bcm2835: add DT for the bcm2835 auxiliar devices kernel
2015-09-04 9:41 ` [PATCH v5 3/6] dt/bindings: bcm2835: add binding documentation for bcm2835-aux kernel
2015-09-04 9:41 ` [PATCH v5 4/6] spi: bcm2835: new driver implementing auxiliar spi1/spi2 on the bcm2835 soc kernel
2015-09-09 2:20 ` Eric Anholt
2015-09-04 9:41 ` [PATCH v5 5/6] ARM: bcm2835: enable building of spi-bcm2835aux driver in default config kernel
2015-09-04 9:41 ` [PATCH v5 6/6] dt/bindings: bcm2835: Add binding documentation for auxiliar spi devices kernel
2015-09-09 1:48 ` Eric Anholt [this message]
2015-09-09 9:00 ` [PATCH v5 0/6] bcm2835: auxiliar device support for spi Alexander Stein
2015-09-09 18:27 ` Eric Anholt
2015-09-10 15:48 ` Noralf Trønnes
2015-09-10 15:57 ` Martin Sperl
2015-09-10 17:02 ` Phil Elwell
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=87h9n4weg8.fsf@eliezer.anholt.net \
--to=eric@anholt.net \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=kernel@martin.sperl.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=swarren@wwwdotorg.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®