[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aJthkXa8BZMoW3CQ@linaro.org>
Date: Tue, 12 Aug 2025 17:45:21 +0200
From: Stephan Gerhold <stephan.gerhold@...aro.org>
To: Konrad Dybcio <konradybcio@...nel.org>
Cc: Bjorn Andersson <andersson@...nel.org>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Marijn Suijten <marijn.suijten@...ainline.org>,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Subject: Re: [PATCH 1/2] arm64: dts: qcom: x1e80100-romulus: Describe PCIe
power supplies
On Tue, Aug 12, 2025 at 03:47:23PM +0200, Konrad Dybcio wrote:
> From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
>
> Describe the power plumbing to allow fully suspending the slot and the
> connected SD controller.
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
Are you sure these supplies really exist on the board? E.g. on the
x1e001de-devkit, Windows toggles all these GPIOs, but there doesn't seem
to be anything connected to two of them, the 12V supply is simply always
on.
Even more importantly, for a laptop I would expect they use some part
that doesn't need a beefy 12V supply. I don't have the datasheet for
RTS5261, but e.g. in [1] this chip is explicitly advertised with 3.3V
power.
I guess it's hard to be sure without schematics and it surely doesn't
hurt to toggle these GPIOs like on Windows, but perhaps a comment that
some of these likely don't exist would be good ...
[1]: https://www.sdcard.org/cms/wp-content/uploads/2023/06/SDA_computex2023_Realtek.pdf
> ---
> .../boot/dts/qcom/x1e80100-microsoft-romulus.dtsi | 71 ++++++++++++++++++++++
> 1 file changed, 71 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> index 0fd8516580b2679ee425438cb73fd4078cb20581..3a4df8f8066ae699eb7d889530f976fce565757e 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100-microsoft-romulus.dtsi
> @@ -331,6 +331,54 @@ vph_pwr: regulator-vph-pwr {
> regulator-boot-on;
> };
>
> + vreg_pcie_12v: regulator-pcie-12v {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "vreg_pcie_12v";
> + regulator-min-microvolt = <12000000>;
> + regulator-max-microvolt = <12000000>;
> +
> + gpio = <&pm8550ve_8_gpios 8 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&vreg_12v_x8_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> + vreg_pcie_3v3_aux: regulator-pcie-3v3-aux {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "vreg_pcie_3v3_aux";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&pmc8380_3_gpios 8 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&sde7_aux_reg_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> + vreg_pcie_3v3_main: regulator-pcie-3v3-main {
> + compatible = "regulator-fixed";
> +
> + regulator-name = "vreg_pcie_3v3_main";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&pmc8380_3_gpios 6 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-0 = <&sde7_main_reg_en>;
> + pinctrl-names = "default";
> +
> + regulator-boot-on;
> + };
> +
> sound {
> compatible = "qcom,x1e80100-sndcard";
> model = "X1E80100-Romulus";
> @@ -1022,6 +1070,12 @@ &pcie3_phy {
> status = "okay";
> };
>
> +&pcie3_port {
> + vpcie12v-supply = <&vreg_pcie_12v>;
> + vpcie3v3-supply = <&vreg_pcie_3v3_main>;
> + vpcie3v3aux-supply = <&vreg_pcie_3v3_aux>;
> +};
> +
> &pcie4 {
> status = "okay";
> };
> @@ -1066,6 +1120,13 @@ rtmr0_3p3_reg_en: rtmr0-3p3-reg-en-state {
> };
> };
>
> +&pm8550ve_8_gpios {
> + vreg_12v_x8_en: 12v-x8-reg-en-state {
> + pins = "gpio8";
> + function = "normal";
> + };
> +};
> +
> &pm8550ve_9_gpios {
> rtmr0_1p8_reg_en: rtmr0-1p8-reg-en-state {
> pins = "gpio8";
> @@ -1082,6 +1143,16 @@ edp_bl_en: edp-bl-en-state {
> input-disable;
> output-enable;
> };
> +
> + sde7_main_reg_en: sde7-main-reg-en-state {
> + pins = "gpio6";
> + function = "normal";
> + };
> +
> + sde7_aux_reg_en: sde7-aux-reg-en-state {
> + pins = "gpio8";
> + function = "normal";
> + };
> };
I think you should either do a full configuration (include power-source
and everything else essential as well) or omit this entirely, because
like this you will need the proper configuration from the boot firmware
anyway.
Thanks,
Stephan
Powered by blists - more mailing lists