linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Chen-Yu Tsai <wens@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Saravana Kannan <saravanak@google.com>,
	linux-rockchip@lists.infradead.org,
	Heiko Stuebner <heiko@sntech.de>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	linux-gpio@vger.kernel.org, kernel@pengutronix.de,
	Quentin Schulz <quentin.schulz@theobroma-systems.com>,
	Michael Riesch <michael.riesch@wolfvision.net>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>
Subject: Re: [PATCH 1/3] pinctrl: rockchip: add support for io-domain dependency
Date: Wed, 13 Sep 2023 08:58:43 +0200	[thread overview]
Message-ID: <20230913065843.GF637806@pengutronix.de> (raw)
In-Reply-To: <CAGb2v65G-8EECNjqnpKCxqAD5nATAb0S7AA_WMiGXYOR1avrvg@mail.gmail.com>

On Wed, Sep 13, 2023 at 12:37:54PM +0800, Chen-Yu Tsai wrote:
> On Tue, Sep 12, 2023 at 4:07 PM Linus Walleij <linus.walleij@linaro.org> wrote:
> >
> > Top posting to bring Saravana Kannan into this discussion.
> >
> > This looks like a big hack to me, Saravana has been working
> > tirelessly to make the device tree probe order "sort itself out"
> > and I am pretty sure this issue needs to be fixed at the DT
> > core level and not in a driver.
> 
> We could merge all the IO domain stuff into the pinctrl node/driver,
> like is done for Allwinner? Maybe that would simplify things a bit?

I thought about this as well. On Rockchip the pinctrl driver and the IO
domain driver even work on the same register space, so putting these
into a single node/driver would even feel more natural than what we have
now.
However, with that the pinctrl node would get the supplies that the IO
domain node now has and we would never get into the probe of the pinctrl
driver due to the circular dependencies.

> 
> IIRC on Allwinner SoCs the PMIC pins don't have a separate power rail,
> or if they do they almost certainly use the default I/O rail that is
> always on, and so we omit it to work around the dependency cycle.

I looked into sun50i as an example. This one has two pinctrl nodes, pio
and r_pio. Only the former has supplies whereas the latter, where the
PMIC is connected to, has (found in sun50i-a64-pinephone.dtsi):

&r_pio {
	/*
	 * FIXME: We can't add that supply for now since it would
	 * create a circular dependency between pinctrl, the regulator
	 * and the RSB Bus.
	 *
	 * vcc-pl-supply = <&reg_aldo2>;
	 */
};

At least it show me that I am not the first one who has this problem ;)

We could add the supplies to the pingroup subnodes of the pinctrl driver
to avoid that, but as Saravana already menioned, that would feel like
overkill.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

  reply	other threads:[~2023-09-13  6:59 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-04 11:58 [PATCH 0/3] Make Rockchip IO domains dependency from other devices explicit Sascha Hauer
2023-09-04 11:58 ` [PATCH 1/3] pinctrl: rockchip: add support for io-domain dependency Sascha Hauer
2023-09-12  8:06   ` Linus Walleij
2023-09-13  1:37     ` Saravana Kannan
2023-09-13  4:37     ` Chen-Yu Tsai
2023-09-13  6:58       ` Sascha Hauer [this message]
2023-09-13 20:48         ` Saravana Kannan
2023-09-15  6:51           ` Sascha Hauer
2023-09-15 16:38             ` Quentin Schulz
2023-09-15 17:24               ` Robin Murphy
2023-09-20 22:00             ` Saravana Kannan
2023-09-21 13:57               ` Sascha Hauer
2023-09-21 20:49                 ` Saravana Kannan
2023-09-22 11:04                   ` Sascha Hauer
2023-09-16  4:59           ` Samuel Holland
2023-09-15 14:45         ` Rob Herring
2023-09-04 11:58 ` [PATCH 2/3] dt-bindings: pinctrl: rockchip: Add io domain properties Sascha Hauer
2023-09-05  9:03   ` Robin Murphy
2023-09-06  7:21     ` Sascha Hauer
2023-09-07 16:35       ` Robin Murphy
2023-09-08  7:20         ` Sascha Hauer
2023-09-06  8:20     ` Quentin Schulz
2023-09-06 10:19       ` Sascha Hauer
2023-09-07 16:47         ` Robin Murphy
2023-09-05 18:14   ` Rob Herring
2023-09-06  8:27     ` Quentin Schulz
2023-09-04 11:58 ` [PATCH 3/3] arm64: dts: rockchip: rock-3a: add " Sascha Hauer
2023-09-05 11:34 ` [PATCH 0/3] Make Rockchip IO domains dependency from other devices explicit Jonas Karlman

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=20230913065843.GF637806@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=kernel@pengutronix.de \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=michael.riesch@wolfvision.net \
    --cc=quentin.schulz@theobroma-systems.com \
    --cc=robh+dt@kernel.org \
    --cc=saravanak@google.com \
    --cc=wens@kernel.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
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;
as well as URLs for NNTP newsgroup(s).