All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Michael Zoran <mzoran@crowfest.net>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Stefan Wahren <stefan.wahren@i2se.com>,
	Linux-ALSA <alsa-devel@alsa-project.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Takashi Iwai <tiwai@suse.com>, Eric Anholt <eric@anholt.net>,
	linux-rpi-kernel@lists.infradead.org
Subject: Re: [PATCH 1/4] dt-bindings: Document the dmas and dma-names properties for bcm2835-analog-audio
Date: Tue, 21 Mar 2017 12:59:57 -0500	[thread overview]
Message-ID: <CAL_JsqJEHiuLTvUPZ3+jamzQ5sarTGokRuLdBap9g+xPvPvryA@mail.gmail.com> (raw)
In-Reply-To: <1490103037.11105.30.camel@crowfest.net>

On Tue, Mar 21, 2017 at 8:30 AM, Michael Zoran <mzoran@crowfest.net> wrote:
> On Tue, 2017-03-21 at 07:53 -0500, Rob Herring wrote:
>> On Mon, Mar 20, 2017 at 12:07 PM, Michael Zoran <mzoran@crowfest.net>
>> wrote:
>> > On Mon, 2017-03-20 at 11:50 -0500, Rob Herring wrote:
>> > > On Sat, Mar 11, 2017 at 10:38:17PM -0800, Michael Zoran wrote:
>> > > > Add documentation for the DMA properties required when using
>> > > > the
>> > > > PWM controller of the bcm2835 for analog audio output.
>> > > >
>> > > > Signed-off-by: Michael Zoran <mzoran@crowfest.net>
>> > > > ---
>> > > >  Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt | 9
>> > > > ++++++++-
>> > > >  1 file changed, 8 insertions(+), 1 deletion(-)
>> > > >
>> > > > diff --git a/Documentation/devicetree/bindings/pwm/pwm-
>> > > > bcm2835.txt
>> > > > b/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt
>> > > > index cf573e85b11d..08fc06fc083a 100644
>> > > > --- a/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt
>> > > > +++ b/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt
>> > > > @@ -1,14 +1,21 @@
>> > > >  BCM2835 PWM controller (Raspberry Pi controller)
>> > > >
>> > > >  Required properties:
>> > > > -- compatible: should be "brcm,bcm2835-pwm"
>> > > > +- compatible: should be "brcm,bcm2835-pwm" or "brcm,bcm2835-
>> > > > analog-audio"
>> > >
>> > > Compatibles are not for selecting usage modes. You should
>> > > describe
>> > > the
>> > > connection to the pwm that makes it an audio output rather than
>> > > change
>> > > the compatible.
>> > >
>> >
>> > Cool, that's good to know that someone let me know after all this
>> > time.
>>
>> Well, there are more submitters than reviewers and maintainers and we
>> have travel and vacation (aka lives).
>>
>> >  And please tell how if DT nodes are an exact documentation of the
>> > hardware how are virtualized DT nodes like firmware getting into
>> > the
>> > DTs?
>>
>> DT is software's view of the hardware. Firmware provides interfaces
>> to
>> the OS just like a h/w device does. And just like h/w devices, the
>> firmware is not discoverable and needs to be described. Originally,
>> DT
>> was the firmware's interface to the OS with OpenFirmware.
>>
>> Rob
>
> OK, I understand better know.  So it sounds like what I really want to
> do is be able to keep the existing DT as much as possible but load an
> alternative driver.   Presumably at the request of the end user some
> how.
>
> I'm not sure something like that is supported in the linux kernel.  For
> this specific example, I don't know of any reason I couldn't write a
> replacement driver for the existing PWM control that does both audio
> and standard PWM, but I've heard replacing existing drivers is really
> accepted and having alternative drivers isn't something that's
> supported.

2 drivers for the same compatible would be a bit of a problem without
any other information to tell one of the drivers not to probe.

What I had in mind was adding a pwm-audio node (describing what's
connected to the PWM output) similar to what we have for
pwm-backlight. We already have pwm-beeper as well. In theory, then a
pwm-audio driver could work with any PWM. In reality, the overhead
would be too high for dumb PWMs. You would need some batching support
in the PWM subsystem in order to use DMA effectively, and I don't know
if the PWM subsystem supports that currently.

Rob

      reply	other threads:[~2017-03-21 17:59 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-12  6:38 [PATCH 1/4] dt-bindings: Document the dmas and dma-names properties for bcm2835-analog-audio Michael Zoran
     [not found] ` <20170312063820.19313-1-mzoran-O+n0w2l5AFbk1uMJSBkQmQ@public.gmane.org>
2017-03-12  6:38   ` [PATCH 2/4] sound: bcm2835-analog-audio: Add driver for bcm2835(Raspberry PI) headphone jack Michael Zoran
2017-03-16  0:01     ` Eric Anholt
2017-03-12  6:38   ` [PATCH 3/4] sound: arm: Add build system for bcm2835-analog-audio driver Michael Zoran
     [not found]     ` <20170312063820.19313-3-mzoran-O+n0w2l5AFbk1uMJSBkQmQ@public.gmane.org>
2017-03-14  7:15       ` [alsa-devel] " kbuild test robot
     [not found]         ` <201703141503.gyuLu0Kr%fengguang.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-03-14  8:58           ` Michael Zoran
     [not found]             ` <1489481899.656.5.camel-O+n0w2l5AFbk1uMJSBkQmQ@public.gmane.org>
2017-03-14  9:13               ` Stefan Wahren
     [not found]                 ` <5a437138-bf9c-1e48-9fa6-82fac9b6e54c-eS4NqCHxEME@public.gmane.org>
2017-03-14  9:53                   ` Michael Zoran
2017-03-12  6:38   ` [PATCH 4/4] dts: bcm283x.dtsi: Add analog audio/headphone jack for bcm2835 Michael Zoran
     [not found]     ` <20170312063820.19313-4-mzoran-O+n0w2l5AFbk1uMJSBkQmQ@public.gmane.org>
2017-03-14  8:05       ` Stefan Wahren
     [not found]         ` <a5ae562f-6843-f137-6470-36c53cfd1799-eS4NqCHxEME@public.gmane.org>
2017-03-14  8:47           ` Michael Zoran
     [not found]             ` <1489481279.656.1.camel-O+n0w2l5AFbk1uMJSBkQmQ@public.gmane.org>
2017-03-14 10:07               ` Stefan Wahren
2017-03-14 10:18                 ` Michael Zoran
2017-03-20 16:50 ` [PATCH 1/4] dt-bindings: Document the dmas and dma-names properties for bcm2835-analog-audio Rob Herring
2017-03-20 17:07   ` [alsa-devel] " Michael Zoran
     [not found]     ` <1490029654.11105.7.camel-O+n0w2l5AFbk1uMJSBkQmQ@public.gmane.org>
2017-03-21 12:53       ` Rob Herring
2017-03-21 13:30         ` Michael Zoran
2017-03-21 17:59           ` Rob Herring [this message]

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=CAL_JsqJEHiuLTvUPZ3+jamzQ5sarTGokRuLdBap9g+xPvPvryA@mail.gmail.com \
    --to=robh@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=devicetree@vger.kernel.org \
    --cc=eric@anholt.net \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=mzoran@crowfest.net \
    --cc=stefan.wahren@i2se.com \
    --cc=tiwai@suse.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.