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.

AM6548: How to lower eMMC speed?

Part Number: AM6548

Hi Ti,

We are using Linux SDK, and we want to lower eMMC speed for some test.

However, when I modified the dts as below, the eMMC speed still not changed.

Please let us know how to do this in uboot and Linux.

sdhci0: sdhci@4f80000 {
compatible = "ti,am654-sdhci-5.1";
reg = <0x0 0x4f80000 0x0 0x260>, <0x0 0x4f90000 0x0 0x134>;
power-domains = <&k3_pds 47 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
clock-names = "clk_ahb", "clk_xin";
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
//mmc-ddr-1_8v;
//mmc-hs200-1_8v;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-mmc-hs = <0x0>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0x0>;
ti,otap-del-sel-sdr25 = <0x0>;
ti,otap-del-sel-sdr50 = <0x8>;
/*
ti,otap-del-sel-sdr104 = <0x5>;
ti,otap-del-sel-ddr50 = <0x5>;
ti,otap-del-sel-ddr52 = <0x5>;
ti,otap-del-sel-hs200 = <0x5>;
ti,otap-del-sel-hs400 = <0x0>;*/
ti,trm-icp = <0x8>;
no-1-8-v;
dma-coherent;
};

Thanks.

Eric

  • Hi Eric,

    Modifying the ti,otap-del-sel-* value to '0' only changes the otap delay value.

    The correct way to disable certain speed modes is to remove the the corresponding ti,otap-del-sel-* DT properties.

  • Hi Bin,

    I tried to apply the patch below in uboot, but cannot boot successfully.

    diff --git a/arch/arm/dts/k3-am65-main.dtsi b/arch/arm/dts/k3-am65-main.dtsi
    index a421f11c69..a800b400b9 100644
    --- a/arch/arm/dts/k3-am65-main.dtsi
    +++ b/arch/arm/dts/k3-am65-main.dtsi
    @@ -125,19 +125,12 @@
    clocks = <&k3_clks 47 0>, <&k3_clks 47 1>;
    clock-names = "clk_ahb", "clk_xin";
    interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
    - mmc-ddr-1_8v;
    - mmc-hs200-1_8v;
    ti,otap-del-sel-legacy = <0x0>;
    ti,otap-del-sel-mmc-hs = <0x0>;
    ti,otap-del-sel-sd-hs = <0x0>;
    ti,otap-del-sel-sdr12 = <0x0>;
    ti,otap-del-sel-sdr25 = <0x0>;
    ti,otap-del-sel-sdr50 = <0x8>;
    - ti,otap-del-sel-sdr104 = <0x5>;
    - ti,otap-del-sel-ddr50 = <0x5>;
    - ti,otap-del-sel-ddr52 = <0x5>;
    - ti,otap-del-sel-hs200 = <0x5>;
    - ti,otap-del-sel-hs400 = <0x0>;
    ti,trm-icp = <0x8>;
    dma-coherent;
    };
    --

    The fail log is as below:

    U-Boot 2020.01-g3c9ebdb87d (Mar 14 2024 - 01:40:58 +0000)

    SoC: AM65X SR2.0
    Model: Texas Instruments AM654 Base Board
    Reading on-board EEPROM at 0x50 failed -19
    Board: AM6-COMPROCEVM rev E3
    DRAM: 1 GiB
    MMC: sdhci@4f80000: 0, sdhci@4fa0000: 1
    Loading Environment from MMC... unable to select a mode
    MMC partition switch failed
    *** Warning - MMC partition switch failed, using default environment

    In: serial
    Out: serial
    Err: serial
    Reading on-board EEPROM at 0x50 failed -19
    run_led_control run led value=1
    ax58100_rst_control value=0
    ecat2_phy_rst value=0
    ax58100_phy_rst value=0
    eth0_phy_rst value=0 =========
    eth1_phy_rst value=0 ========
    ser_comm_init value=0
    can_term_init value=0
    SetSerdesReg for usb2.0 ...
    Net:
    Warning: ethernet@46000000 using MAC address from ROM
    eth0: ethernet@46000000
    Hit any key to stop autoboot: 0
    unable to select a mode
    switch to partitions #0, OK
    mmc0(part 0) is current device
    unable to select a mode
    SD/MMC found on device 0
    ** fs_devread read error - block
    Failed to mount ext2 filesystem...
    ** Unrecognized filesystem type **
    ** Unrecognized filesystem type **
    ** No partition table - mmc 0 **
    ** No partition table - mmc 0 **
    ** No partition table - mmc 0 **
    libfdt fdt_check_header(): FDT_ERR_BADMAGIC
    No FDT memory address configured. Please configure
    the FDT address via "fdt addr <address>" command.
    Aborting!
    Bad Linux ARM64 Image magic!
    =>

    Eric

  • Hi Eric,

    Please undo your device tree change, but only add the following line in u-boot k3-am65-main.dtsi, sdhci0 node.

    no-1-8-v;