Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / Atom feed
From: Harald Geyer <harald@ccbib.org>
To: Maxime Ripard <maxime.ripard@bootlin.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, info@olimex.com,
	Mark Brown <broonie@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	Rob Herring <robh+dt@kernel.org>,
	ibu@radempa.de, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH RFC] arm64: dts: allwinner: a64: teres-i: Enable audio
Date: Mon, 11 Feb 2019 20:32:35 +0100
Message-ID: <E1gtHJj-0000iY-G8@stardust.g4.wien.funkfeuer.at> (raw)
In-Reply-To: <20190211153945.e34fpwkuk67l7lc6@flea>

Maxime Ripard writes:
> On Mon, Feb 11, 2019 at 02:36:53PM +0100, Harald Geyer wrote:
> > > > debug console multiplexing:
> > > > Olimex have a userspace script that controls gpio PL9 during boot,
> > > > to select between HP and serial console. I guess this is not acceptable
> > > > for mainline.
> > > >
> > > > The best solution I can see is to switch the HP jack from serial console
> > > > to audio once the audio drivers load. With this people can still capture
> > > > the bootlogs but everybody gets audio once the system is up and
> > > > switching back to console output is as simple as unloading the audio
> > > > drivers.
> > >
> > > IMO it is really not the audio driver's business to mess with this switch.
> > > You could argue as well that the serial driver should get a flag to claim
> > > the HP jack, which would be similarily unjustified.
> >
> > Not the audio driver's business, but perheps the audio card's DT node.
> > Which is why I came up with the pinctrl idea.
> > 
> > I know that the nexus7 is quite well supported, and iirc they were using
> > a similar trick on their UART. Have you looked at how they were doing
> > that?

I didn't know that. Thanks for the info, it was quite interessting reading.
Alas it seems it doesn't help us:
1) I couldn't find proof that audio support is actually in mainline.
2) Their HW works differently: Their debug cable uses external voltage
on the mic pin to drive the switch. (They also have a GPIO, but it's
input to detect the debug adapter in software, not output as in the
case of the teres.)
 
> We want to model this properly. I guess using a pinctrl driver
> controlled through GPIO (similar to what regulator-gpio is) would be a
> good first step.

I considered this too, but didn't like it:

1) Seems like a bit of overkill.

2) The HW at hand is a rather different kind of multiplexer than
what pinctrl assumes. We don't want two mutually exclusive devices,
(Ie don't make the kernel unbind /dev/console for the sake of audio.)
but we want switch the jack between two devices, that might both be
active at the same time. This looks more like the channel multiplexers
used with many ADCs and such. I guess, I could start a new subsystem
around this. Seems like even more overkill.

Instead I just got the original patch working, by implementing
"output-high" DT property in sunxi-pinctrl. I'll send a patch for
review soon.

Harald

-- 
If you want to support my work:
see http://friends.ccbib.org/harald/supporting/
or donate via CLAM to xASPBtezLNqj4cUe8MT5nZjthRSEjrRQXN
or via peercoin to P98LRdhit3gZbHDBe7ta5jtXrMJUms4p7w

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply index

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20190211111245.GA18147@lst.de>
2019-02-11 13:36 ` Harald Geyer
2019-02-11 15:39   ` Maxime Ripard
2019-02-11 19:32     ` Harald Geyer [this message]
2019-02-12  8:38       ` Maxime Ripard
2019-02-12  9:42         ` Harald Geyer
2019-02-12 10:09           ` Maxime Ripard
2019-02-12 19:37             ` Harald Geyer
2019-02-13  9:44               ` Maxime Ripard
2019-02-13 11:43                 ` Harald Geyer
2019-02-13 15:53                   ` Maxime Ripard
2019-02-14  0:12                     ` Harald Geyer
2019-02-15 14:20                       ` Torsten Duwe
2019-02-16 20:47                         ` Harald Geyer
2019-02-17 11:30                           ` Torsten Duwe
2019-02-18 10:24                           ` Maxime Ripard
2019-04-30 13:32                             ` Torsten Duwe
2019-05-02  7:46                               ` Maxime Ripard
2019-05-02 14:48                                 ` Harald Geyer
2019-02-01 11:37 Harald Geyer
2019-02-12  8:34 ` Chen-Yu Tsai

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=E1gtHJj-0000iY-G8@stardust.g4.wien.funkfeuer.at \
    --to=harald@ccbib.org \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=ibu@radempa.de \
    --cc=info@olimex.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=robh+dt@kernel.org \
    --cc=wens@csie.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

Linux-ARM-Kernel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-arm-kernel/0 linux-arm-kernel/git/0.git
	git clone --mirror https://lore.kernel.org/linux-arm-kernel/1 linux-arm-kernel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-arm-kernel linux-arm-kernel/ https://lore.kernel.org/linux-arm-kernel \
		linux-arm-kernel@lists.infradead.org
	public-inbox-index linux-arm-kernel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-arm-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git