* [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408
@ 2026-03-27 16:32 Stefano Radaelli
2026-03-27 16:51 ` Frank Li
0 siblings, 1 reply; 7+ messages in thread
From: Stefano Radaelli @ 2026-03-27 16:32 UTC (permalink / raw)
To: linux-kernel, devicetree, imx, linux-arm-kernel
Cc: pierluigi.p, Stefano Radaelli, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Frank Li, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam
From: Stefano Radaelli <stefano.r@variscite.com>
RGB_SEL controls the routing of some carrier board lines on the Sonata
board. The two PCA6408 GPIO expanders depend on that path being enabled,
so describe the selector as a fixed regulator and use it as their
vcc-supply.
Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
---
arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts b/arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts
index afa39dab240a..3b5816884f24 100644
--- a/arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts
@@ -90,6 +90,13 @@ reg_vref_1v8: regulator-adc-vref {
regulator-max-microvolt = <1800000>;
};
+ reg_rgb_sel: regulator-rgb-sel {
+ compatible = "regulator-fixed";
+ regulator-name = "rgb-select";
+ gpio = <&pca9534 7 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
reg_usdhc2_vmmc: regulator-vmmc-usdhc2 {
compatible = "regulator-fixed";
pinctrl-names = "default";
@@ -195,6 +202,7 @@ pca6408_1: gpio@20 {
#gpio-cells = <2>;
interrupt-parent = <&gpio1>;
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
+ vcc-supply = <®_rgb_sel>;
};
pca6408_2: gpio@21 {
@@ -204,6 +212,7 @@ pca6408_2: gpio@21 {
#gpio-cells = <2>;
interrupt-parent = <&gpio1>;
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
+ vcc-supply = <®_rgb_sel>;
};
pca9534: gpio@22 {
--
2.47.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408
2026-03-27 16:32 [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408 Stefano Radaelli
@ 2026-03-27 16:51 ` Frank Li
2026-03-27 17:16 ` Stefano Radaelli
0 siblings, 1 reply; 7+ messages in thread
From: Frank Li @ 2026-03-27 16:51 UTC (permalink / raw)
To: Stefano Radaelli
Cc: linux-kernel, devicetree, imx, linux-arm-kernel, pierluigi.p,
Stefano Radaelli, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
On Fri, Mar 27, 2026 at 05:32:43PM +0100, Stefano Radaelli wrote:
> From: Stefano Radaelli <stefano.r@variscite.com>
>
> RGB_SEL controls the routing of some carrier board lines on the Sonata
> board. The two PCA6408 GPIO expanders depend on that path being enabled,
> so describe the selector as a fixed regulator and use it as their
> vcc-supply.
Does below resolve your problem?
https://lore.kernel.org/imx/20260325-pinctrl-mux-v4-0-043c2c82e623@nxp.com/
So needn't hack select as regualtor
Frank
>
> Signed-off-by: Stefano Radaelli <stefano.r@variscite.com>
> ---
> arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts b/arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts
> index afa39dab240a..3b5816884f24 100644
> --- a/arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts
> +++ b/arch/arm64/boot/dts/freescale/imx91-var-dart-sonata.dts
> @@ -90,6 +90,13 @@ reg_vref_1v8: regulator-adc-vref {
> regulator-max-microvolt = <1800000>;
> };
>
> + reg_rgb_sel: regulator-rgb-sel {
> + compatible = "regulator-fixed";
> + regulator-name = "rgb-select";
> + gpio = <&pca9534 7 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> reg_usdhc2_vmmc: regulator-vmmc-usdhc2 {
> compatible = "regulator-fixed";
> pinctrl-names = "default";
> @@ -195,6 +202,7 @@ pca6408_1: gpio@20 {
> #gpio-cells = <2>;
> interrupt-parent = <&gpio1>;
> interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
> + vcc-supply = <®_rgb_sel>;
> };
>
> pca6408_2: gpio@21 {
> @@ -204,6 +212,7 @@ pca6408_2: gpio@21 {
> #gpio-cells = <2>;
> interrupt-parent = <&gpio1>;
> interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
> + vcc-supply = <®_rgb_sel>;
> };
>
> pca9534: gpio@22 {
> --
> 2.47.3
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408
2026-03-27 16:51 ` Frank Li
@ 2026-03-27 17:16 ` Stefano Radaelli
2026-03-27 18:41 ` Frank Li
0 siblings, 1 reply; 7+ messages in thread
From: Stefano Radaelli @ 2026-03-27 17:16 UTC (permalink / raw)
To: Frank Li
Cc: linux-kernel, devicetree, imx, linux-arm-kernel, pierluigi.p,
Stefano Radaelli, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Hi Frank,
On Fri, Mar 27, 2026 at 12:51:25PM -0400, Frank Li wrote:
> On Fri, Mar 27, 2026 at 05:32:43PM +0100, Stefano Radaelli wrote:
> > From: Stefano Radaelli <stefano.r@variscite.com>
> >
> > RGB_SEL controls the routing of some carrier board lines on the Sonata
> > board. The two PCA6408 GPIO expanders depend on that path being enabled,
> > so describe the selector as a fixed regulator and use it as their
> > vcc-supply.
>
> Does below resolve your problem?
> https://lore.kernel.org/imx/20260325-pinctrl-mux-v4-0-043c2c82e623@nxp.com/
>
> So needn't hack select as regualtor
>
Thanks for pointing me your patch, interesting improvement!
Actually, in this case RGB_SEL is not meant to model a selectable mux
on the Sonata carrier.
On this board it must stay asserted permanently, otherwise the
downstream path to the two PCA6408 expanders is not accessible.
Modeling it as a mux might be confusing for users of the DART-MX91, as
as it would suggest that the routing is configurable, while on this
board it is actually fixed.
Best Regards,
Stefano
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408
2026-03-27 17:16 ` Stefano Radaelli
@ 2026-03-27 18:41 ` Frank Li
2026-03-30 8:15 ` Stefano Radaelli
0 siblings, 1 reply; 7+ messages in thread
From: Frank Li @ 2026-03-27 18:41 UTC (permalink / raw)
To: Stefano Radaelli
Cc: linux-kernel, devicetree, imx, linux-arm-kernel, pierluigi.p,
Stefano Radaelli, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
On Fri, Mar 27, 2026 at 06:16:34PM +0100, Stefano Radaelli wrote:
> Hi Frank,
>
> On Fri, Mar 27, 2026 at 12:51:25PM -0400, Frank Li wrote:
> > On Fri, Mar 27, 2026 at 05:32:43PM +0100, Stefano Radaelli wrote:
> > > From: Stefano Radaelli <stefano.r@variscite.com>
> > >
> > > RGB_SEL controls the routing of some carrier board lines on the Sonata
> > > board. The two PCA6408 GPIO expanders depend on that path being enabled,
> > > so describe the selector as a fixed regulator and use it as their
> > > vcc-supply.
> >
> > Does below resolve your problem?
> > https://lore.kernel.org/imx/20260325-pinctrl-mux-v4-0-043c2c82e623@nxp.com/
> >
> > So needn't hack select as regualtor
> >
>
> Thanks for pointing me your patch, interesting improvement!
>
> Actually, in this case RGB_SEL is not meant to model a selectable mux
> on the Sonata carrier.
> On this board it must stay asserted permanently, otherwise the
> downstream path to the two PCA6408 expanders is not accessible.
Accroding to signal name, it is MUX chip select signal. Of couse it may
connect to a buffer's EN pin. I have not checked your schematic.
If it connect to MUX chip or some select signal, it should use above method,
even though it is permanently asserted when access PCA6408.
If it connect to EN pin of buffer, regualtor should be good.
Frank
>
> Modeling it as a mux might be confusing for users of the DART-MX91, as
> as it would suggest that the routing is configurable, while on this
> board it is actually fixed.
>
> Best Regards,
> Stefano
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408
2026-03-27 18:41 ` Frank Li
@ 2026-03-30 8:15 ` Stefano Radaelli
2026-03-30 14:40 ` Frank Li
0 siblings, 1 reply; 7+ messages in thread
From: Stefano Radaelli @ 2026-03-30 8:15 UTC (permalink / raw)
To: Frank Li
Cc: linux-kernel, devicetree, imx, linux-arm-kernel, pierluigi.p,
Stefano Radaelli, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
Hi Frank,
On Fri, Mar 27, 2026 at 02:41:21PM -0400, Frank Li wrote:
>
> Accroding to signal name, it is MUX chip select signal. Of couse it may
> connect to a buffer's EN pin. I have not checked your schematic.
>
> If it connect to MUX chip or some select signal, it should use above method,
> even though it is permanently asserted when access PCA6408.
>
> If it connect to EN pin of buffer, regualtor should be good.
>
Yes, it is exactly the second case!
It's just an EN pin, that enables a buffer to route RGB signals used on
the DART-MX91 som only.
That's why I think regulator is the right way for this case.
Best Regards,
Stefano
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408
2026-03-30 8:15 ` Stefano Radaelli
@ 2026-03-30 14:40 ` Frank Li
2026-03-31 9:02 ` Stefano Radaelli
0 siblings, 1 reply; 7+ messages in thread
From: Frank Li @ 2026-03-30 14:40 UTC (permalink / raw)
To: Stefano Radaelli
Cc: linux-kernel, devicetree, imx, linux-arm-kernel, pierluigi.p,
Stefano Radaelli, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
On Mon, Mar 30, 2026 at 10:15:35AM +0200, Stefano Radaelli wrote:
> Hi Frank,
>
> On Fri, Mar 27, 2026 at 02:41:21PM -0400, Frank Li wrote:
> >
> > Accroding to signal name, it is MUX chip select signal. Of couse it may
> > connect to a buffer's EN pin. I have not checked your schematic.
> >
> > If it connect to MUX chip or some select signal, it should use above method,
> > even though it is permanently asserted when access PCA6408.
> >
> > If it connect to EN pin of buffer, regualtor should be good.
> >
>
> Yes, it is exactly the second case!
> It's just an EN pin, that enables a buffer to route RGB signals used on
> the DART-MX91 som only.
> That's why I think regulator is the right way for this case.
Okay, it'd better to emphrase it in commit message because _SEL is miss
leasing.
Frank
>
> Best Regards,
> Stefano
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408
2026-03-30 14:40 ` Frank Li
@ 2026-03-31 9:02 ` Stefano Radaelli
0 siblings, 0 replies; 7+ messages in thread
From: Stefano Radaelli @ 2026-03-31 9:02 UTC (permalink / raw)
To: Frank Li
Cc: linux-kernel, devicetree, imx, linux-arm-kernel, pierluigi.p,
Stefano Radaelli, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam
On Mon, Mar 30, 2026 at 10:40:26AM -0400, Frank Li wrote:
> > Yes, it is exactly the second case!
> > It's just an EN pin, that enables a buffer to route RGB signals used on
> > the DART-MX91 som only.
> > That's why I think regulator is the right way for this case.
>
> Okay, it'd better to emphrase it in commit message because _SEL is miss
> leasing.
>
Thank you Frank,
I'm sending new version with correct commit message.
Best Regards,
Stefano
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-03-31 9:02 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-27 16:32 [PATCH v1 1/1] arm64: dts: imx91-var-dart-sonata: add RGB select supply for PCA6408 Stefano Radaelli
2026-03-27 16:51 ` Frank Li
2026-03-27 17:16 ` Stefano Radaelli
2026-03-27 18:41 ` Frank Li
2026-03-30 8:15 ` Stefano Radaelli
2026-03-30 14:40 ` Frank Li
2026-03-31 9:02 ` Stefano Radaelli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox