Message ID | 20241221094122.27325-2-ryan@testtoast.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | ASoC: sun4i-codec: add headphone dectection for Anbernic RG35XX devices | expand |
On Sat, Dec 21, 2024 at 10:26:32PM +1300, Ryan Walklin wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Devices integrating Allwinner SoCs may use line-out or headphone jacks > with jack detection circuits attached to a GPIO. Support defining these > in DTs. > > A number of Anbernic devices featuring the H700 SoC use this mechanism > to switch between a headphone jack and an internal speaker, so add these > to the allowed routing items. > > Signed-off-by: Chris Morgan <macromorgan@hotmail.com> > Signed-off-by: Ryan Walklin <ryan@testtoast.com> > --- > .../bindings/sound/allwinner,sun4i-a10-codec.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml > index ebc9097f936ad..b4b711e80b65a 100644 > --- a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml > +++ b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml > @@ -98,6 +98,10 @@ properties: > maxItems: 1 > description: GPIO to enable the external amplifier > > + allwinner,hp-det-gpios: > + maxItems: 1 > + description: GPIO for headphone/line-out detection > + If possible, I wonder if we can keep this without the vendor prefix? It looks like for now Nvidia and some Rockchip codecs have the vendor prefix, but audio-graph bindings and Freescale codec bindings have this as a non-specific property (and it looks like simple-audio-card does it either as "hp-det-gpios" or "simple-audio-card,hp-det-gpios" depending upon the circumstances). Also, the behavior of this is very specific to just the Headphone sink, so we should drop the line-out text from the description. If someone sets the routing as `"Headphone", "LINEOUT"` the state of the GPIO will affect the audio path, but `"Line Out", "LINEOUT"` will not be impacted by the state of the GPIO. Thank you, Chris > required: > - "#sound-dai-cells" > - compatible > @@ -247,8 +251,10 @@ allOf: > allwinner,audio-routing: > items: > enum: > + - Headphone > - LINEOUT > - Line Out > + - Speaker > > dmas: > items: > -- > 2.47.1 > >
On Mon, 23 Dec 2024, at 5:51 AM, Chris Morgan wrote: > On Sat, Dec 21, 2024 at 10:26:32PM +1300, Ryan Walklin wrote: >> >> + allwinner,hp-det-gpios: >> + maxItems: 1 >> + description: GPIO for headphone/line-out detection >> + > > If possible, I wonder if we can keep this without the vendor prefix? > It looks like for now Nvidia and some Rockchip codecs have the vendor > prefix, but audio-graph bindings and Freescale codec bindings have this > as a non-specific property (and it looks like simple-audio-card does it > either as "hp-det-gpios" or "simple-audio-card,hp-det-gpios" depending > upon the circumstances). I'm relaxed about either approach, it does work with the vendor prefix but agree just "hp-det-gpios" is probably appropriate given the intent is the same across vendors and devices. > Also, the behavior of this is very specific to just the Headphone sink, > so we should drop the line-out text from the description. If someone > sets the routing as `"Headphone", "LINEOUT"` the state of the GPIO will > affect the audio path, but `"Line Out", "LINEOUT"` will not be impacted > by the state of the GPIO. Agreed for this device, but this is a more generic description for the H616 generally, so I'm not sure we should remove the "Line Out" given that it may make sense for other H616 boards (Orange Pi etc) where someone may be using a 3.5mm jack as a line-level output rather than via an amp to headphones. > > Thank you, > Chris > Regards, Ryan
diff --git a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml index ebc9097f936ad..b4b711e80b65a 100644 --- a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml +++ b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml @@ -98,6 +98,10 @@ properties: maxItems: 1 description: GPIO to enable the external amplifier + allwinner,hp-det-gpios: + maxItems: 1 + description: GPIO for headphone/line-out detection + required: - "#sound-dai-cells" - compatible @@ -247,8 +251,10 @@ allOf: allwinner,audio-routing: items: enum: + - Headphone - LINEOUT - Line Out + - Speaker dmas: items: