[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