hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt
....@@ -38,6 +38,12 @@
3838 execute tuning when needed. If not specified, the host will do tuning
3939 for 360 times, namely tuning for each degree.
4040
41
+* pinctrl-names: should be "default" or "normal" combined with "idle". For
42
+ SDIO or eMMC devices, recommend to use "default". For SD/MMC cards, recommend
43
+ to use "normal" combined with "idle" to prevent power leak if vqmmc can't be
44
+ powered off. "normal" state is the same as "default" state, but "idle" state
45
+ should define the clk/cmd/data line to be pulled down or pulled none.
46
+
4147 Example:
4248
4349 rkdwmmc0@12200000 {
....@@ -47,3 +53,30 @@
4753 #address-cells = <1>;
4854 #size-cells = <0>;
4955 };
56
+
57
+ /* "default" pinctrl */
58
+ &rkdwmmc0{
59
+ ...
60
+ pinctrl-names = "default"
61
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>;
62
+ ...
63
+ };
64
+
65
+ /* "normal" combined with "idle" pinctrl */
66
+ sdmmc_idle_gpios: sdmmc-idle-gpios {
67
+ rockchip,pins =
68
+ <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>,
69
+ <3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>,
70
+ <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>,
71
+ <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>,
72
+ <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>,
73
+ <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
74
+ };
75
+
76
+ &rkdwmmc0{
77
+ ...
78
+ pinctrl-names = "normal", "idle";
79
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_bus4>;
80
+ pinctrl-1 = <&sdmmc_idle_gpios &sdmmc0_det>;
81
+ ...
82
+ }