SDIO port works with 3.3V. I want to enable 1.8V. How can i do that. I have tried many things by changing things in device tree blob. But nothing seems to work. Can you guys please help me out.
Hi Vikas
SD2 port (J1601connector) on i.MX8M EVK has SD2_VSELECT signal.
It can switch to 1.8V, however linux driver is doing that automatically
if attached device supports 1.8V operation. What device is attached to SD2 port,
does it support 1.8V operation.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Yes connected device is 1.8V supported wifi card. We have verified with another platform having SDIO 1.8V. It is working fine. I was curious to know If am using correct configuration or not.
Here is the snippet from my dts file:
usdhc@30b40000 {
1143 compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc";
1144 reg = <0x0 0x30b40000 0x0 0x10000>;
1145 interrupts = <0x0 0x16 0x4>;
1146 clocks = <0x4 0x0 0x4 0x72 0x4 0x1ac>;
1147 clock-names = "ipg", "ahb", "per";
1148 assigned-clocks = <0x4 0x102>;
1149 assigned-clock-rates = <0x17d78400>;
1150 fsl,tuning-start-tap = <0x14>;
1151 fsl,tuning-step = <0x2>;
1152 fsl,strobe-dll-delay-target = <0x5>;
1153 bus-width = <0x8>;
1154 status = "okay";
1155 pinctrl-names = "default", "state_100mhz", "state_200mhz";
1156 pinctrl-0 = <0x33>;
1157 pinctrl-1 = <0x34>;
1158 pinctrl-2 = <0x35>;
1159 non-removable;
1160 };
1161
1162 usdhc@30b50000 {
1163 compatible = "fsl,imx8mq-usdhc", "fsl,imx7d-usdhc";
1164 reg = <0x0 0x30b50000 0x0 0x10000>;
1165 interrupts = <0x0 0x17 0x4>;
1166 clocks = <0x4 0x0 0x4 0x72 0x4 0x1ad>;
1167 clock-names = "ipg", "ahb", "per";
1168 fsl,tuning-start-tap = <0x14>;
1169 fsl,tuning-step = <0x2>;
1170 bus-width = <0x4>;
1171 status = "okay";
1172 pinctrl-names = "default", "state_100mhz", "state_200mhz";
1173 pinctrl-0 = <0x36 0x37>;
1174 pinctrl-1 = <0x38 0x37>;
1175 pinctrl-2 = <0x39 0x37>;
1176 cd-gpios = <0x3a 0xc 0x1>;
1177 vmmc-supply = <0x3b>;
1178 };
regulators {
1750 compatible = "simple-bus";
1751 #address-cells = <0x1>;
1752 #size-cells = <0x0>;
1753
1754 usdhc2_vmmc {
1755 compatible = "regulator-fixed";
1756 regulator-name = "VSD_3V3";
1757 regulator-min-microvolt = <0x325aa0>;
1758 regulator-max-microvolt = <0x325aa0>;
1759 gpio = <0x3a 0x13 0x0>;
1760 enable-active-high;
1761 linux,phandle = <0x3b>;
1762 phandle = <0x3b>;
1763 };
1764
1765 regulator-gpio {
1766 compatible = "regulator-gpio";
1767 pinctrl-names = "default";
1768 pinctrl-0 = <0x52>;
1769 regulator-min-microvolt = <0xdbba0>;
1770 regulator-max-microvolt = <0xf4240>;
1771 regulator-name = "gpio_dvfs";
1772 regulator-type = "voltage";
1773 gpios = <0x45 0xd 0x0>;
1774 states = <0xdbba0 0x1 0xf4240 0x0>;
1775 linux,phandle = <0x5>;
1776 phandle = <0x5>;
Please let me know if you need more information.
Regards,
Ravi Kant
Hi Ravi
one can try sd3.0 card with i.MX8M EVK Demo Image:
Linux Binary Demo Files - i.MX 8MQuad EVK
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thanks for your response.
I want to make changes in my yocto build. I have some software to cross-compile with it and run with SDIO on imx8 evk. The image you provided will not be of much help in that case. Can you please help me out in changes required for SDIO either in SW or HW?
Regards,
Ravi Kant
Hi Ravi
this may be due to this SDIO device, for example there is no driver for it.
One can debug it using Chapter 32 MMC/SD/SDIO Host Driver attached Linux Manual.
According to SD 3.0 specification host starts communication with 3.3V level, then
after receiving answer from card that it is capable of 1.8V operation switches to 1.8V,
this is described in sect.4.2.4 Bus Signal Voltage Switch Sequence SD 3.0 specification
Best regards
igor