Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM62P-LP: How to Set SD Card to 3.3v only (low speed)

Part Number: SK-AM62P-LP
Other Parts Discussed in Thread: AM62P

Tool/software:

Since my future board’s SD card doesn't support switching between 1.8V and 3.3V (we only provide 3.3V), I want to verify if this is feasible on the EVM.

I checked the schematic and the control pin is Y25 (GPIO0_31)

The related DTS in u-boot as below

&main_pmx0 {
	vddshv_sdio_pins_default: vddshvr-sdio-default-pins {
		pinctrl-single,pins = <
			AM62PX_IOPAD(0x007c, PIN_INPUT, 7) /* (Y25) GPMC0_CLK.GPIO0_31 */
		>;
		bootph-all;
	};
};

/{
	vddshv_sdio: regulator-3 {
		compatible = "regulator-gpio";
		regulator-name = "vddshv_sdio";
		pinctrl-names = "default";
		pinctrl-0 = <&vddshv_sdio_pins_default>;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
		states = <1800000 0x0>,
			 <3300000 0x1>;
		bootph-all;
	};
};

&sdhci1 {
	/* SD/MMC */
	status = "okay";
	vmmc-supply = <&vdd_mmc1>;
	vqmmc-supply = <&vddshv_sdio>;
	pinctrl-names = "default";
	pinctrl-0 = <&main_mmc1_pins_default>;
	disable-wp;
	bootph-all;
};

But I checked the TP33 (VDDSHV_SDIO), and it is still in 1.8v even I add the line "no-1-8-v;"

If I directly mask the "vqmmc-supply", it can't even boot into U-Boot.

console output

Does anyone know how to make the SD card use only 3.3V?

Thanks!

  • Hi, can you please try the following diff to disable all the UHS modes & then check the voltage

    diff --git a/arch/arm/dts/k3-am62p-main.dtsi b/arch/arm/dts/k3-am62p-main.dtsi
    index 652908cf0d0..018c36be970 100644
    --- a/arch/arm/dts/k3-am62p-main.dtsi
    +++ b/arch/arm/dts/k3-am62p-main.dtsi
    @@ -605,11 +605,11 @@
     		ti,clkbuf-sel = <0x7>;
     		ti,otap-del-sel-legacy = <0x0>;
     		ti,otap-del-sel-sd-hs = <0x0>;
    -		ti,otap-del-sel-sdr12 = <0xf>;
    -		ti,otap-del-sel-sdr25 = <0xf>;
    -		ti,otap-del-sel-sdr50 = <0xc>;
    -		ti,otap-del-sel-ddr50 = <0x9>;
    -		ti,otap-del-sel-sdr104 = <0x6>;
    +		// ti,otap-del-sel-sdr12 = <0xf>;
    +		// ti,otap-del-sel-sdr25 = <0xf>;
    +		// ti,otap-del-sel-sdr50 = <0xc>;
    +		// ti,otap-del-sel-ddr50 = <0x9>;
    +		// ti,otap-del-sel-sdr104 = <0x6>;
     		ti,itap-del-sel-legacy = <0x0>;
     		ti,itap-del-sel-sd-hs = <0x0>;
     		ti,itap-del-sel-sdr12 = <0x0>;
    

    Regards,

    Prashant

  • Hi, ,

    Thanks! I measured 3.3V on TP33

    This modification needs to be made on both sides (Kernel & u-boot), right?

    I've updated my dts 

    &sdhci1 {
    	/* SD/MMC */
    	status = "okay";
    	vmmc-supply = <&vdd_mmc1>;
    //	vqmmc-supply = <&vddshv_sdio>;
        /delete-property/ ti,otap-del-sel-sdr12;
    	/delete-property/ ti,otap-del-sel-sdr25;
    	/delete-property/ ti,otap-del-sel-sdr50;
    	/delete-property/ ti,otap-del-sel-ddr50;
    	/delete-property/ ti,otap-del-sel-sdr104;
    	no-1-8-v;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	disable-wp;
    	bootph-all;
    };

  • Hi YuYan,

    This modification needs to be made on both sides (Kernel & u-boot), right?

    That is correct. The AM62P DTS (arch/arm64/boot/dts/ti/k3-am62p5-sk.dts) in the Linux Kernel should also have the same changes.

    Regards,

    Prashant