i.MX6ULL trouble with Kioxia eMMC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6ULL trouble with Kioxia eMMC

Jump to solution
2,650 Views
chadwolter
Contributor III

NXP -

We are attempting to qualify a second source for nonvolatile memory on our custom i.MX6ULL based processor board.  The nonvolatile memory being used is eMMC.  Current qualified part is a Micron MTFC4GACAJCN-4M IT.  The part that we are attempting to qualify is a Kioxia THGBMJG6C1LBAU7.  We are using manufacturing tools to image our device.  On the Kioxia boards, the part never programs correctly.  We get the following error in the log (I also attached the full log for reference):

VLDO3: disabling
Freeing unused kernel memory: 1024K (80a00000 - 80b00000)
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
sdhci: Tuning procedure failed, falling back to fixed sampling clock
mmc1: tuning execution failed: -5
mmc1: error -5 whilst initialising MMC card
sdhci: Tuning procedure failed, falling back to fixed sampling clock
mmc1: tuning execution failed: -5
mmc1: error -5 whilst initialising MMC card
sdhci: Tuning procedure failed, falling back to fixed sampling clock
mmc1: tuning execution failed: -5
mmc1: error -5 whilst initialising MMC card
sdhci: Tuning procedure failed, falling back to fixed sampling clock
mmc1: tuning execution failed: -5
mmc1: error -5 whilst initialising MMC card
MMC drivers loaded

We are using the 4.9.11 Linux kernel provided by NXP.  Our eMMC is connected to USHDC2.  I have attached our dts and dtsi files for reference as well. 

We have already been working with Kioxia on this issue for a few weeks and they asked that we enter this ticket as a reference in debugging our issue.  They did previously instruct us to add a tuning tap to the usdhc2 node in the dtsi file, which concluded in the same failure.  Also, this impacted the ability to program a board correctly even with the working Micron part:

fsl,tuning-start-tap = <20>;

I also attached the relevant portions of the schematic.

Please let us know what the next suggested thing is we can try.

kind regards.

0 Kudos
1 Solution
2,533 Views
chadwolter
Contributor III

Hi everyone -

We solved the issue.  I had an incorrect build setting so my changes were not getting packaged correctly.  What fixed the issue was adding the 

fsl,tuning-start-tap = <20>;
 
statement to the USDHC2 node of the dtsi file.
thanks 
Chad

View solution in original post

5 Replies
2,534 Views
chadwolter
Contributor III

Hi everyone -

We solved the issue.  I had an incorrect build setting so my changes were not getting packaged correctly.  What fixed the issue was adding the 

fsl,tuning-start-tap = <20>;
 
statement to the USDHC2 node of the dtsi file.
thanks 
Chad
2,625 Views
jimmychan
NXP TechSupport
NXP TechSupport
0 Kudos
2,586 Views
chadwolter
Contributor III

This did not work.  I changed my imx6ull.dtsi usdhc2 node to the following for both Uboot and the kernel and did not have any luck.

            usdhc2usdhc@02194000 {
                compatible = "fsl,imx6ull-usdhc""fsl,imx6sx-usdhc";
                reg = <0x02194000 0x4000>;
                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clks IMX6UL_CLK_USDHC2>,
                     <&clks IMX6UL_CLK_USDHC2>,
                     <&clks IMX6UL_CLK_USDHC2>;
                clock-names = "ipg""ahb""per";
                assigned-clocks = <&clks IMX6UL_CLK_USDHC2_SEL>, <&clks IMX6UL_CLK_USDHC2>;
                assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
                assigned-clock-rates = <0>, <132000000>;
                bus-width = <4>;
                /*fsl,tuning-step= <2>;
                fsl,tuning-start-tap = <20>;*/
                status = "disabled";
            };

 

0 Kudos
2,632 Views
sinanakman
Senior Contributor III

Hi Chad

Some of those newer eMMc from Kioxia are version 5.0 or newer and few of them only work with lower (1.8V) VCCQ. I suggest you upgrade your kernel to newer one as they have been lots of patches in that area.

Regards

Sinan Akman

0 Kudos
2,583 Views
chadwolter
Contributor III

yes we are looking at this but it is easier said than done and will take some time.

0 Kudos