Skip to content

Commit fbc24da

Browse files
Andy3Kuoasus-leslieyu
authored andcommitted
sd: fix sd boot up issue
1. add supports-emmc for sd card reboot fail issue 2. pull high maskrom rlease pin to detect emmc at sd boot up device Change-Id: I94a1e78ff1321a2a8666136d20bbab60b9c9cd03
1 parent 490f988 commit fbc24da

3 files changed

Lines changed: 18 additions & 3 deletions

File tree

arch/arm/boot/dts/rk3288-tinker-board.dts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,13 @@
148148
};
149149
};
150150

151+
sdmmc_pwrseq: sdmmc-pwrseq {
152+
compatible = "mmc-pwrseq-emmc";
153+
pinctrl-0 = <&sdmmc_reset>;
154+
pinctrl-names = "default";
155+
reset-gpios = <&gpio6 RK_PA7 GPIO_ACTIVE_HIGH>;
156+
};
157+
151158
sdio_pwrseq: sdio-pwrseq {
152159
compatible = "mmc-pwrseq-simple";
153160
clocks = <&rk808 1>;

arch/arm/boot/dts/rk3288-tinker-board.dtsi

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,6 @@
230230
};
231231

232232
&sdmmc {
233-
supports-sd;
234233
bus-width = <4>;
235234
cap-mmc-highspeed;
236235
sd-uhs-sdr12;
@@ -247,6 +246,8 @@
247246
vmmc-supply = <&vcc33_sd>;
248247
vqmmc-supply = <&vccio_sd>;
249248
supports-sd;
249+
supports-emmc;
250+
mmc-pwrseq = <&sdmmc_pwrseq>;
250251
};
251252

252253
&edp {
@@ -439,6 +440,12 @@
439440
};
440441
};
441442

443+
sdmmc-pwrseq {
444+
sdmmc_reset: sdmmc-reset {
445+
rockchip,pins = <6 7 RK_FUNC_GPIO &pcfg_pull_none>;
446+
};
447+
};
448+
442449
sdio-pwrseq {
443450
wifi_enable_h: wifi-enable-h {
444451
rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>;

drivers/mmc/core/pwrseq_emmc.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@ struct mmc_pwrseq_emmc {
2727

2828
static void __mmc_pwrseq_emmc_reset(struct mmc_pwrseq_emmc *pwrseq)
2929
{
30-
gpiod_set_value(pwrseq->reset_gpio, 1);
31-
udelay(1);
30+
printk("%s: Enter\n", __func__);
3231
gpiod_set_value(pwrseq->reset_gpio, 0);
32+
udelay(1);
33+
gpiod_set_value(pwrseq->reset_gpio, 1);
3334
udelay(200);
3435
}
3536

0 commit comments

Comments
 (0)