Devicetree
 help / color / mirror / Atom feed
From: Alexander Koch <mail@alexanderkoch.net>
To: Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	Khanh Le <khanh.le.xr@renesas.com>
Cc: linux-sound@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Alexander Koch <mail@alexanderkoch.net>
Subject: [PATCH v2 0/2] ASoC: codecs: ak4619: Add PDN pin handling
Date: Tue, 29 Sep 2026 11:08:19 +0200	[thread overview]
Message-ID: <20260929090821.1476257-1-mail@alexanderkoch.net> (raw)

The AK4619 datasheet describes the functionality of the power down (PDN)
pin as follows (p. 39, 'Power-up/down Sequence'):

  The AK4619 should be powered up when the PDN pin = "L". The PDN pin
  should be set "H" after all power supplies have ramped up.
  At that point, the reference voltage generator block (REFBLK) and LDO
  (AVDRV) circuit are powered up and the control registers are
  initialized. Control register settings should be no less than 10ms
  after PDN pin = "H".

The current implementation of the driver does not operate the PDN pin
in any way, it seems to rely on external control of the pin.

Improve this by adding a device tree binding to enable the driver to
set the pin 'high' during probe. Make it optional to keep the behaviour
for existing device trees unchanged.

Tested on an i.MX8MM board with the AK4619 connected to GPIO1 and SSI3.


Changed in v2:
 - Fix typo in bindings update subject
 - Fix missing #include in example block for dt binding YAML
 - Improve property description in binding YAML
 - Switch property name to commonly used 'powerdown-gpios'
 - Invert GPIO logic to avoid confusion (the pin is called 'power down'
   but when driven high the chip is powered _up_)
 - Fix power leak on error after GPIO is acquired by turning the codec
   off again


Alexander Koch (2):
  ASoC: codecs: ak4619: Add optional powerdown GPIO
  ASoC: dt-bindings: asahi-kasei,ak4619: Add powerdown GPIO

 .../bindings/sound/asahi-kasei,ak4619.yaml          | 10 ++++++++++
 sound/soc/codecs/ak4619.c                           | 13 +++++++++++++
 2 files changed, 23 insertions(+)

-- 
2.55.0


             reply	other threads:[~2026-09-29  9:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-29  9:08 Alexander Koch [this message]
2026-09-29  9:08 ` [PATCH v2 1/2] ASoC: codecs: ak4619: Add optional powerdown GPIO Alexander Koch
2026-09-29  9:15   ` sashiko-bot
2026-09-29  9:08 ` [PATCH v2 2/2] ASoC: dt-bindings: asahi-kasei,ak4619: Add " Alexander Koch
2026-09-29 11:46 ` [PATCH v2 0/2] ASoC: codecs: ak4619: Add PDN pin handling Mark Brown

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=20260929090821.1476257-1-mail@alexanderkoch.net \
    --to=mail@alexanderkoch.net \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=khanh.le.xr@renesas.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=robh@kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox