[PATCH 2/2] arm64: dts: qcom: sdm845-starqltechn: add slpi support

Dzmitry Sankouski posted 2 patches 2 weeks, 6 days ago
There is a newer version of this series
[PATCH 2/2] arm64: dts: qcom: sdm845-starqltechn: add slpi support
Posted by Dzmitry Sankouski 2 weeks, 6 days ago
Add support for Qualcomm sensor low power island.

Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
---
 .../boot/dts/qcom/sdm845-samsung-starqltechn.dts   | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
index 32ce666fc57e..2c1157ee7b2d 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
@@ -902,6 +902,14 @@ &ipa {
 	status = "okay";
 };
 
+&slpi_pas {
+	firmware-name = "qcom/sdm845/starqltechn/slpi.mbn";
+	pinctrl-0 = <&slpi_ldo_active_state>;
+	pinctrl-1 = <&slpi_ldo_sleep_state>;
+	pinctrl-names = "default", "sleep";
+	status = "okay";
+};
+
 &usb_1 {
 	status = "okay";
 };
@@ -1028,6 +1036,22 @@ sd_card_det_n_state: sd-card-det-n-state {
 		bias-pull-up;
 	};
 
+	slpi_ldo_active_state: slpi-ldo-active-state {
+		pins = "gpio8";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+		output-high;
+	};
+
+	slpi_ldo_sleep_state: slpi-ldo-sleep-state {
+		pins = "gpio8";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-disable;
+		output-low;
+	};
+
 	touch_irq_state: touch-irq-state {
 		pins = "gpio120";
 		function = "gpio";

-- 
2.39.5
Re: [PATCH 2/2] arm64: dts: qcom: sdm845-starqltechn: add slpi support
Posted by Konrad Dybcio 2 weeks, 6 days ago
On 9/11/25 10:56 PM, Dzmitry Sankouski wrote:
> Add support for Qualcomm sensor low power island.
> 
> Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com>
> ---
>  .../boot/dts/qcom/sdm845-samsung-starqltechn.dts   | 24 ++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
> index 32ce666fc57e..2c1157ee7b2d 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
> @@ -902,6 +902,14 @@ &ipa {
>  	status = "okay";
>  };
>  
> +&slpi_pas {
> +	firmware-name = "qcom/sdm845/starqltechn/slpi.mbn";
> +	pinctrl-0 = <&slpi_ldo_active_state>;
> +	pinctrl-1 = <&slpi_ldo_sleep_state>;

It would perhaps make sense to model it as a GPIO regulator..

I found a downstream kernel for this device and it seems like
this is indeed a Samsung addition

The vendor kernel gates the regulator when the SLPI is shut
off, but I think it would be reasonable to keep it always-on
given you don't really want that to happen, and if you need
to restart the subsystem, not pulsing the regulator should
also likely work
> +	pinctrl-names = "default", "sleep";
> +	status = "okay";

a newline before status is customary

> +};
> +
>  &usb_1 {
>  	status = "okay";
>  };
> @@ -1028,6 +1036,22 @@ sd_card_det_n_state: sd-card-det-n-state {
>  		bias-pull-up;
>  	};
>  
> +	slpi_ldo_active_state: slpi-ldo-active-state {
> +		pins = "gpio8";
> +		function = "gpio";
> +		drive-strength = <2>;
> +		bias-disable;
> +		output-high;

Modeling the gpio-regulator will let you get rid of output-
properties here, which are discouraged in favor of gpiod_ APIs
in drivers

Konrad

> +	};
> +
> +	slpi_ldo_sleep_state: slpi-ldo-sleep-state {
> +		pins = "gpio8";
> +		function = "gpio";
> +		drive-strength = <2>;
> +		bias-disable;
> +		output-low;
> +	};
> +
>  	touch_irq_state: touch-irq-state {
>  		pins = "gpio120";
>  		function = "gpio";
>