On Thu, 28 Feb 2019 at 09:41, BOUGH CHEN <haibo.chen@xxxxxxx> wrote: > > > > -----Original Message----- > > From: Ulf Hansson [mailto:ulf.hansson@xxxxxxxxxx] > > Sent: 2019年2月28日 16:25 > > To: BOUGH CHEN <haibo.chen@xxxxxxx> > > Cc: adrian.hunter@xxxxxxxxx; Aisheng Dong <aisheng.dong@xxxxxxx>; > > shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx; > > festevam@xxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx>; > > linux-mmc@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx > > Subject: Re: [PATCH] mmc: sdhci-esdhc-imx: correct the fix of ERR004536 > > > > On Thu, 28 Feb 2019 at 09:01, BOUGH CHEN <haibo.chen@xxxxxxx> wrote: > > > > > > Commit 18094430d6b5 ("mmc: sdhci-esdhc-imx: add ADMA Length > > Mismatch > > > errata fix") involve the fix of ERR004536, but the fix is incorrect. > > > Double confirm with IC, need to clear the bit 7 of register 0x6c > > > rather than set this bit 7. > > > Here is the definition of bit 7 of 0x6c: > > > 0: enable the new IC fix for ERR004536 > > > 1: do not use the IC fix, keep the same as before > > > > > > Due to the reset value of this bit 7 is 0, ROM code and bootloader do > > > not touch this bit 7, so here directly remove the operation of this > > > bit 7, make sure the fix of ERR004536 can work. > > > > Well, rather than relying on the bootloader, let the kernel do the right thing. > > That is, write a zero to the register bit rather than a one. > > > > Is the code doing that? > > > > Yes, write a zero to the register bit is correct. > Why I just remove the code rather than directly write 0 to this bit is because the register 0x6c should be invisible to software, and is not defined in reference manual. It is a register only open for IC to test. > If you prefer to write a zero to the register bit, I can do that. I think that would be more safe, so yes, please. [...] Kind regards Uffe