From: yong mao <yong....@mediatek.com>

Add description of mmc3 for supporting sdio feature

Signed-off-by: Yong Mao <yong....@mediatek.com>
Signed-off-by: Chaotian Jing <chaotian.j...@mediatek.com>
---
 arch/arm64/boot/dts/mediatek/mt8173-evb.dts |   77 +++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts 
b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
index 1c3634f..fb8fa5c 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8173-evb.dts
@@ -68,6 +68,14 @@
                gpio = <&pio 9 GPIO_ACTIVE_HIGH>;
                enable-active-high;
        };
+
+       sdio_fixed_3v3: regulator@2 {
+               compatible = "regulator-fixed";
+               regulator-name = "3V3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&pio 85 GPIO_ACTIVE_HIGH>;
+       };
 };
 
 &cec {
@@ -156,6 +164,25 @@
        vqmmc-supply = <&mt6397_vmc_reg>;
 };
 
+&mmc3 {
+       status = "okay";
+       pinctrl-names = "default", "state_uhs";
+       pinctrl-0 = <&mmc3_pins_default>;
+       pinctrl-1 = <&mmc3_pins_uhs>;
+       bus-width = <4>;
+       max-frequency = <200000000>;
+       cap-sd-highspeed;
+       sd-uhs-sdr50;
+       sd-uhs-sdr104;
+       mediatek,clk-pad-delay = <5>;
+       keep-power-in-suspend;
+       enable-sdio-wakeup;
+       cap-sdio-irq;
+       vmmc-supply = <&sdio_fixed_3v3>;
+       vqmmc-supply = <&mt6397_vgp3_reg>;
+       non-removable;
+};
+
 &pio {
        disp_pwm0_pins: disp_pwm0_pins {
                pins1 {
@@ -261,6 +288,56 @@
                };
        };
 
+       mmc3_pins_default: mmc3default {
+               pins_dat {
+                       pinmux = <MT8173_PIN_22_MSDC3_DAT0__FUNC_MSDC3_DAT0>,
+                                <MT8173_PIN_23_MSDC3_DAT1__FUNC_MSDC3_DAT1>,
+                                <MT8173_PIN_24_MSDC3_DAT2__FUNC_MSDC3_DAT2>,
+                                <MT8173_PIN_25_MSDC3_DAT3__FUNC_MSDC3_DAT3>;
+                       input-enable;
+                       drive-strength = <MTK_DRIVE_8mA>;
+                       bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
+               };
+
+               pins_cmd {
+                       pinmux = <MT8173_PIN_27_MSDC3_CMD__FUNC_MSDC3_CMD>;
+                       input-enable;
+                       drive-strength = <MTK_DRIVE_8mA>;
+                       bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
+               };
+
+               pins_clk {
+                       pinmux = <MT8173_PIN_26_MSDC3_CLK__FUNC_MSDC3_CLK>;
+                       bias-pull-down;
+                       drive-strength = <MTK_DRIVE_8mA>;
+               };
+       };
+
+       mmc3_pins_uhs: mmc3 {
+               pins_dat {
+                       pinmux = <MT8173_PIN_22_MSDC3_DAT0__FUNC_MSDC3_DAT0>,
+                                <MT8173_PIN_23_MSDC3_DAT1__FUNC_MSDC3_DAT1>,
+                                <MT8173_PIN_24_MSDC3_DAT2__FUNC_MSDC3_DAT2>,
+                                <MT8173_PIN_25_MSDC3_DAT3__FUNC_MSDC3_DAT3>;
+                       input-enable;
+                       drive-strength = <MTK_DRIVE_8mA>;
+                       bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
+               };
+
+               pins_cmd {
+                       pinmux = <MT8173_PIN_27_MSDC3_CMD__FUNC_MSDC3_CMD>;
+                       input-enable;
+                       drive-strength = <MTK_DRIVE_8mA>;
+                       bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
+               };
+
+               pins_clk {
+                       pinmux = <MT8173_PIN_26_MSDC3_CLK__FUNC_MSDC3_CLK>;
+                       drive-strength = <MTK_DRIVE_8mA>;
+                       bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
+               };
+       };
+
        usb_id_pins_float: usb_iddig_pull_up {
                pins_iddig {
                        pinmux = <MT8173_PIN_16_IDDIG__FUNC_IDDIG>;
-- 
1.7.9.5

Reply via email to