Linux內核版本:V3.14.28
雙SD卡接口:sdhc1和sdhc3
因爲linux驅動本身已經支持相應的SD卡,因此只需要配置設備樹即可。配置如下:
&usdhc1 {
pinctrl-names = "default";pinctrl-0 = <&pinctrl_usdhc1>;
bus-width = <4>;
cd-gpios = <&gpio3 23 0>;
wp-gpios = <&gpio3 27 0>;
no-1-8-v;
keep-power-in-suspend;
enable-sdio-wakeup;
status = "okay";
};
&usdhc3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc3>;
bus-width = <4>;
cd-gpios = <&gpio7 12 0>;
wp-gpios = <&gpio7 13 0>;
no-1-8-v;
keep-power-in-suspend;
enable-sdio-wakeup;
status = "okay";
};
pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059
MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059
MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059
MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059
MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059
/*MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x80000000
MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x80000000*/
/*MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x80000000
MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x80000000*/
>;
};
pinctrl_usdhc3: usdhc3grp {
fsl,pins = <
MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x80000000
>;
};
以上配置根據各自硬件管腳修改,如有無反應,則考慮管腳是否被其他功能佔用。