[Linux-stm32] [PATCH] ARM: dts: stm32: Consistently enable internal pull-ups for SD bus

Yann GAUTIER yann.gautier at st.com
Wed Oct 14 09:26:21 EDT 2020



On 10/9/20 11:08 PM, Marek Vasut wrote:
> The default state of SD bus and clock line is logical HI. SD card IO is
> open-drain and pulls the bus lines LO. Always enable the SD bus pull ups
> to guarantee this behavior. Note that on systems with bus voltage level
> shifter on the SD bus, the pull ups might also be built into the level
> shifter, however that should have no negative impact.
> 
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Alexandre Torgue <alexandre.torgue at st.com>
> Cc: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
> Cc: Patrice Chotard <patrice.chotard at st.com>
> Cc: Patrick Delaunay <patrick.delaunay at st.com>
> Cc: linux-stm32 at st-md-mailman.stormreply.com
> To: linux-arm-kernel at lists.infradead.org
> ---
>   arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
> index b2d19583450c..73d9a5b7f5ba 100644
> --- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
> +++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
> @@ -1291,13 +1291,13 @@ pins1 {
>   				 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
>   			slew-rate = <1>;
>   			drive-push-pull;
> -			bias-disable;
> +			bias-pull-up;
Hi Marek,

This pin config is used by ST board, where we have a level shifter.
This shouldn't be changed. We discussed this with Alex, and a new group 
should be added in this case.

>   		};
>   		pins2 {
>   			pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
>   			slew-rate = <2>;
>   			drive-push-pull;
> -			bias-disable;
> +			bias-pull-up;
Same case for this one.
>   		};
>   	};
>   
> @@ -1447,13 +1447,13 @@ pins1 {
>   				 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
>   			slew-rate = <1>;
>   			drive-push-pull;
> -			bias-disable;
> +			bias-pull-up;
This node sdmmc2_b4_pins_b should be used by ST board DK2, which has 
external pull-ups. So this shouldn't be changed as well.
>   		};
>   		pins2 {
>   			pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
>   			slew-rate = <2>;
>   			drive-push-pull;
> -			bias-disable;
> +			bias-pull-up;
Same here.
>   		};
>   	};
>   
> @@ -1510,7 +1510,7 @@ pins {
>   				 <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */
>   			slew-rate = <1>;
>   			drive-push-pull;
> -			bias-disable;
> +			bias-pull-up;
This one is also used on Linux Automation MC-1 board, Ahmad, is it OK 
for you?


Best regards,
Yann
>   		};
>   	};
>   
> 


More information about the linux-arm-kernel mailing list