From: Conor Dooley <conor@kernel.org>
To: Frieder Schrempf <frieder@fris.de>
Cc: linux-arm-kernel@lists.infradead.org, Marek Vasut <marex@denx.de>,
Conor Dooley <conor+dt@kernel.org>,
devicetree@vger.kernel.org,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>,
Rob Herring <robh@kernel.org>, Robin Gong <yibin.gong@nxp.com>,
Frieder Schrempf <frieder.schrempf@kontron.de>,
Conor Dooley <conor.dooley@microchip.com>,
Joy Zou <joy.zou@nxp.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Subject: Re: [PATCH v3 1/9] dt-bindings: regulator: pca9450: Add properties for handling LDO5
Date: Wed, 18 Dec 2024 16:42:03 +0000 [thread overview]
Message-ID: <20241218-yapping-driver-d67cf1662b57@spud> (raw)
In-Reply-To: <20241218152842.97483-2-frieder@fris.de>
[-- Attachment #1: Type: text/plain, Size: 2725 bytes --]
On Wed, Dec 18, 2024 at 04:27:24PM +0100, Frieder Schrempf wrote:
> From: Frieder Schrempf <frieder.schrempf@kontron.de>
>
> This reverts commit 27866e3e8a7e93494f8374f48061aa73ee46ceb2 and
> implements a new future-proof way of handling the mismatch between
> the PMIC driver and the hardware for LDO5.
>
> It turned out that this feature was implemented based on the wrong
> assumption that the SD_VSEL signal needs to be controlled as GPIO
> in any case.
>
> In fact the straight-forward approach is to mux the signal as
> USDHC_VSELECT and let the USDHC controller do the job.
>
> Most users never even used this property and the few who did have
> been or are getting migrated to the alternative approach.
>
> In order to know the current status (which of the two control
> registers is used) for the LDO5 regulator, we need to route back the
> USDHC_VSELECT signal by setting the SION bit in the IOMUX.
>
> By adding the according GPIO as sd-vsel-gpios to the LDO5 node, we
> allow the regulator driver to sample the current status of the
> SD_VSEL signal that is used to select the correct control register.
>
> The SD_VSEL on the PMIC is always an input. It's driven by the SoC's
> VSELECT signal (controlled by the USDHC controller) and we use the
> SION bit in the IOMUX to internally loop back the signal in order to
> sample it using the GPIO.
>
> As the SD_VSEL pin is directly routed to the LDO5 regulator in the
> PMIC, make the sd-vsel-gpios property part of the LDO5 node.
>
> SoC PMIC
> +-----------------------+ +-------------------+
> | | | |
> | | | |
> | GPIO <----------+ | | |
> | | | SD_VSEL| +-------+ |
> | USDHC_VSELECT ->+------------------->| LDO5 | |
> | | | +-------+ |
> | | | |
> +-----------------------+ +-------------------+
>
> For boards which have the SD_VSEL tied to a fixed low level, we add
> 'nxp,sd-vsel-fixed-low'. The voltage of LDO5 is therefore only controlled
> by writing to the LDO5CTRL_L register.
>
> If none of 'nxp,sd-vsel-fixed-low' or 'sd-vsel-gpios' is set, we keep
> the same behavior as before. The driver assumes that SD_VSEL is tied
> high and the LDO5CTRL_H register can be used, which is in fact not true
> for all known boards and works merely by chance.
>
> Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2024-12-18 16:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-18 15:27 [PATCH v3 0/9] Use correct LDO5 control registers for PCA9450 Frieder Schrempf
2024-12-18 15:27 ` [PATCH v3 1/9] dt-bindings: regulator: pca9450: Add properties for handling LDO5 Frieder Schrempf
2024-12-18 16:42 ` Conor Dooley [this message]
2024-12-18 15:27 ` [PATCH v3 2/9] arm64: dts: imx8mp-skov-reva: Use hardware signal for SD card VSELECT Frieder Schrempf
2024-12-18 15:27 ` [PATCH v3 3/9] Revert "regulator: pca9450: Add SD_VSEL GPIO for LDO5" Frieder Schrempf
2024-12-18 15:54 ` Mark Brown
2024-12-18 15:27 ` [PATCH v3 4/9] regulator: pca9450: Fix control register for LDO5 Frieder Schrempf
2024-12-18 15:27 ` [PATCH v3 5/9] regulator: pca9450: Fix enable " Frieder Schrempf
2024-12-18 15:27 ` [PATCH v3 6/9] regulator: pca9450: Handle hardware with fixed SD_VSEL " Frieder Schrempf
2024-12-18 15:27 ` [PATCH v3 7/9] arm64: dts: imx8mm-kontron: Add support for reading SD_VSEL signal Frieder Schrempf
2024-12-18 15:27 ` [PATCH v3 8/9] arm64: dts: imx93-kontron: Fix SD card IO voltage control Frieder Schrempf
2024-12-18 15:27 ` [PATCH v3 9/9] arm64: dts: imx8mp-kontron: Add support for reading SD_VSEL signal Frieder Schrempf
2025-01-28 7:44 ` [PATCH v3 0/9] Use correct LDO5 control registers for PCA9450 Frieder Schrempf
2025-01-28 11:06 ` Mark Brown
2025-02-03 19:57 ` (subset) " Mark Brown
2025-02-18 8:02 ` Frieder Schrempf
2025-02-18 3:11 ` Shawn Guo
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=20241218-yapping-driver-d67cf1662b57@spud \
--to=conor@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=conor.dooley@microchip.com \
--cc=devicetree@vger.kernel.org \
--cc=frieder.schrempf@kontron.de \
--cc=frieder@fris.de \
--cc=joy.zou@nxp.com \
--cc=krzk+dt@kernel.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marex@denx.de \
--cc=robh@kernel.org \
--cc=yibin.gong@nxp.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.