From: Casey Connolly <casey.connolly@linaro.org>
The SHIFT6mq features an sdcard slot, add it.
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 43 +++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
index 51b041f91d3e2..1f21da310b762 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
@@ -600,6 +600,23 @@ &qupv3_id_1 {
status = "okay";
};
+&sdhc_2 {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
+
+ vmmc-supply = <&vreg_l21a_2p95>;
+ vqmmc-supply = <&vreg_l13a_2p95>;
+
+ bus-width = <4>;
+ /* card detection is broken, but because the battery must be removed
+ * to insert the card, we use this rather than the broken-cd property
+ * which would just waste CPU cycles polling.
+ */
+ non-removable;
+};
+
&slpi_pas {
firmware-name = "qcom/sdm845/SHIFT/axolotl/slpi.mbn";
@@ -609,6 +626,32 @@ &slpi_pas {
&tlmm {
gpio-reserved-ranges = <0 4>, <81 4>;
+ sdc2_default_state: sdc2-default-state {
+ clk-pins {
+ pins = "sdc2_clk";
+ bias-disable;
+ drive-strength = <16>;
+ };
+
+ cmd-pins {
+ pins = "sdc2_cmd";
+ bias-pull-up;
+ drive-strength = <10>;
+ };
+
+ data-pins {
+ pins = "sdc2_data";
+ bias-pull-up;
+ drive-strength = <10>;
+ };
+ };
+
+ sdc2_card_det_n: sd-card-det-n-state {
+ pins = "gpio126";
+ function = "gpio";
+ bias-pull-up;
+ };
+
sde_dsi_active: sde-dsi-active-state {
pins = "gpio6", "gpio11";
function = "gpio";
--
2.53.0
On 3/20/26 5:29 PM, David Heidelberg via B4 Relay wrote:
> From: Casey Connolly <casey.connolly@linaro.org>
>
> The SHIFT6mq features an sdcard slot, add it.
>
> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 43 +++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
> index 51b041f91d3e2..1f21da310b762 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
> @@ -600,6 +600,23 @@ &qupv3_id_1 {
> status = "okay";
> };
>
> +&sdhc_2 {
> + status = "okay";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
> +
> + vmmc-supply = <&vreg_l21a_2p95>;
> + vqmmc-supply = <&vreg_l13a_2p95>;
> +
> + bus-width = <4>;
> + /* card detection is broken, but because the battery must be removed
> + * to insert the card, we use this rather than the broken-cd property
> + * which would just waste CPU cycles polling.
Since it seems you're going to resend anyway:
/*
* foo
Konrad
Hi David,
On 20/03/2026 17:29, David Heidelberg via B4 Relay wrote:
> From: Casey Connolly <casey.connolly@linaro.org>
>
> The SHIFT6mq features an sdcard slot, add it.
>
> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 43 +++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
> index 51b041f91d3e2..1f21da310b762 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
> @@ -600,6 +600,23 @@ &qupv3_id_1 {
> status = "okay";
> };
>
> +&sdhc_2 {
> + status = "okay";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
> +
> + vmmc-supply = <&vreg_l21a_2p95>;
> + vqmmc-supply = <&vreg_l13a_2p95>;
> +
> + bus-width = <4>;
> + /* card detection is broken, but because the battery must be removed
> + * to insert the card, we use this rather than the broken-cd property
> + * which would just waste CPU cycles polling.
> + */
> + non-removable;
> +};
> +
> &slpi_pas {
> firmware-name = "qcom/sdm845/SHIFT/axolotl/slpi.mbn";
>
> @@ -609,6 +626,32 @@ &slpi_pas {
> &tlmm {
> gpio-reserved-ranges = <0 4>, <81 4>;
>
> + sdc2_default_state: sdc2-default-state {
> + clk-pins {
> + pins = "sdc2_clk";
> + bias-disable;
> + drive-strength = <16>;
> + };
> +
> + cmd-pins {
> + pins = "sdc2_cmd";
> + bias-pull-up;
> + drive-strength = <10>;
> + };
> +
> + data-pins {
> + pins = "sdc2_data";
> + bias-pull-up;
> + drive-strength = <10>;
> + };
> + };
> +
> + sdc2_card_det_n: sd-card-det-n-state {
> + pins = "gpio126";
> + function = "gpio";
> + bias-pull-up;
This can probably be bias-disable I guess, not that it likely matters in
practise.
> + };
> +
> sde_dsi_active: sde-dsi-active-state {
> pins = "gpio6", "gpio11";
> function = "gpio";
>
--
// Casey (she/her)
On 20/03/2026 17:56, Casey Connolly wrote:
[...]
>> + sdc2_card_det_n: sd-card-det-n-state {
>> + pins = "gpio126";
>> + function = "gpio";
>> + bias-pull-up;
>
> This can probably be bias-disable I guess, not that it likely matters in
> practise.
We could save few uA by just disabling the bias, as the card-det pin is useless
anyway? Do I get it right?
If yes, I'll switch it.
David
>
>> + };
>> +
>> sde_dsi_active: sde-dsi-active-state {
>> pins = "gpio6", "gpio11";
>> function = "gpio";
>>
>
--
David Heidelberg
On 20/03/2026 18:02, David Heidelberg wrote:
> On 20/03/2026 17:56, Casey Connolly wrote:
>
> [...]
>
>>> + sdc2_card_det_n: sd-card-det-n-state {
>>> + pins = "gpio126";
>>> + function = "gpio";
>>> + bias-pull-up;
>>
>> This can probably be bias-disable I guess, not that it likely matters in
>> practise.
>
> We could save few uA by just disabling the bias, as the card-det pin is
> useless anyway? Do I get it right?
Yeah basically
>
> If yes, I'll switch it.
>
> David
>
>>
>>> + };
>>> +
>>> sde_dsi_active: sde-dsi-active-state {
>>> pins = "gpio6", "gpio11";
>>> function = "gpio";
>>>
>>
>
--
// Casey (she/her)
© 2016 - 2026 Red Hat, Inc.