Add pinctrl nodes for the MicroSD slot on mmc1 and SDIO Controller on mmc2 and assign those to the respective controller nodes. This makes sure that all of the pins are muxed in the right state and with the right pullup/down(s) before trying to use the mmc controllers.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delre...@collabora.com> --- .../dts/mediatek/mt6795-sony-xperia-m5.dts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts b/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts index 03cc48321a3f..fccb948cfa45 100644 --- a/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts +++ b/arch/arm64/boot/dts/mediatek/mt6795-sony-xperia-m5.dts @@ -227,6 +227,8 @@ &mmc0 { &mmc1 { /* MicroSD card slot */ + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_default>; vmmc-supply = <&mt6331_vmc_reg>; vqmmc-supply = <&mt6331_vmch_reg>; status = "okay"; @@ -234,6 +236,8 @@ &mmc1 { &mmc2 { /* SDIO WiFi on MMC2 */ + pinctrl-names = "default"; + pinctrl-0 = <&mmc2_pins_default>; vmmc-supply = <&mt6331_vmc_reg>; vqmmc-supply = <&mt6331_vmch_reg>; status = "okay"; @@ -311,6 +315,40 @@ pins-ds { }; }; + mmc1_pins_default: microsd-pins { + pins-cmd-dat { + pinmux = <PINMUX_GPIO171__FUNC_MSDC1_DAT0>, + <PINMUX_GPIO172__FUNC_MSDC1_DAT1>, + <PINMUX_GPIO173__FUNC_MSDC1_DAT2>, + <PINMUX_GPIO174__FUNC_MSDC1_DAT3>, + <PINMUX_GPIO170__FUNC_MSDC1_CMD>; + input-enable; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + + pins-clk { + pinmux = <PINMUX_GPIO175__FUNC_MSDC1_CLK>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + }; + + mmc2_pins_default: sdio-pins { + pins-cmd-dat { + pinmux = <PINMUX_GPIO100__FUNC_MSDC2_DAT0>, + <PINMUX_GPIO101__FUNC_MSDC2_DAT1>, + <PINMUX_GPIO102__FUNC_MSDC2_DAT2>, + <PINMUX_GPIO103__FUNC_MSDC2_DAT3>, + <PINMUX_GPIO105__FUNC_MSDC2_CMD>; + input-enable; + bias-pull-up = <MTK_PUPD_SET_R1R0_01>; + }; + + pins-clk { + pinmux = <PINMUX_GPIO104__FUNC_MSDC2_CLK>; + bias-pull-down = <MTK_PUPD_SET_R1R0_10>; + }; + }; + nfc_pins: nfc-pins { pins-irq { pinmux = <PINMUX_GPIO3__FUNC_GPIO3>; -- 2.50.1