hi,
i porting imx6q linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga, i just add usdh0 device tree in file of arch/arm/boot/dts/imx6qdl-sabresd.dtsi, this patch following:
[fulinux@ubuntu linux-2.6-imx-rel_imx_4.1.15_1.1.0_ga]$ git diff
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index 44e265d..1e210a7 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -832,6 +832,21 @@
>;
};
+ 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_NANDF_D0__SD1_DATA4 0x17059
+ MX6QDL_PAD_NANDF_D1__SD1_DATA5 0x17059
+ MX6QDL_PAD_NANDF_D2__SD1_DATA6 0x17059
+ MX6QDL_PAD_NANDF_D3__SD1_DATA7 0x17059
+ >;
+ };
+
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
@@ -1008,6 +1023,16 @@
tx-d-cal = <0x5>;
};
+&usdhc1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usdhc1>;
+ bus-width = <8>;
+ no-1-8-v;
+ keep-power-in-suspend;
+ enable-sdio-wakeup;
+ status = "okay";
then i burn uImage to board, the kernel log like this:
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified
sdhci-esdhc-imx 2190000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
imx6q-pinctrl 20e0000.iomuxc: pin MX6Q_PAD_SD1_CMD already requested by 20e0000.iomuxc; cannot claim for 2190000.usdhc
imx6q-pinctrl 20e0000.iomuxc: pin-210 (2190000.usdhc) status -22
imx6q-pinctrl 20e0000.iomuxc: could not request pin 210 (MX6Q_PAD_SD1_CMD) from group usdhc1grp on device 20e0000.iomuxc
sdhci-esdhc-imx 2190000.usdhc: Error applying setting, reverse things back
sdhci-esdhc-imx 2194000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2194000.usdhc: Got WP GPIO
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02198000: voltage-ranges unspecified
sdhci-esdhc-imx 2198000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2198000.usdhc: Got WP GPIO
sdhci-esdhc-imx 2198000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2198000.usdhc: No vqmmc regulator found
mmc2: SDHCI controller on 2198000.usdhc [2198000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@0219c000: voltage-ranges unspecified
sdhci-esdhc-imx 219c000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 219c000.usdhc: No vqmmc regulator found
mmc3: SDHCI controller on 219c000.usdhc [219c000.usdhc] using ADMA
mxc_vpu 2040000.vpu_fsl: VPU initialized
mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
what's wrong with it? can u help me?
thanks,
fulinux.
Solved! Go to Solution.
Hi Chen
please check that pin MX6Q_PAD_SD1_CMD is already used
as MX6QDL_PAD_SD1_CMD__GPIO1_IO18 0x80000000 in
imx6qdl-sabresd {
pinctrl_hog: hoggrp { ..
linux-2.6-imx.git - Freescale i.MX Linux Tree
you can port usdhc1 from imx6qdl-sabreauto.dtsi
linux-2.6-imx.git - Freescale i.MX Linux Tree
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Chen
please check that pin MX6Q_PAD_SD1_CMD is already used
as MX6QDL_PAD_SD1_CMD__GPIO1_IO18 0x80000000 in
imx6qdl-sabresd {
pinctrl_hog: hoggrp { ..
linux-2.6-imx.git - Freescale i.MX Linux Tree
you can port usdhc1 from imx6qdl-sabreauto.dtsi
linux-2.6-imx.git - Freescale i.MX Linux Tree
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
thank you, it is ok