> Dear Hannes,
Dear Jaehoon,

> >> Instead, its bit is used to other purpose.
> > 
> > Please explain me more about this other purpose,
> > maybe i'm missunterstand here something.
> SD Host Controller has the HOST Controller register (Offset 0x28).
> BIT[2] is "High speed enable".
> - BIT[2] : 0 - Normal Speed mode
> - BIT[2] : 1 - High Speed mode.
> This bit is "RW" attribute.
> And Samsung SoC also has the HOST Controller register (offset 0x28).
> BIT[2] is "Output Edge Inversion". 
> - BIT[2] : 0 - Rising edge output.
> - BIT[2] : 1 - Falling edge output.
> "High speed enable" bit is standard. but Samsung SoC is using it for 
other purpose.
> So I had added the quirks for SDHCI_QUIRK_NO_HISPD_BIT.
> It means that there is no 'high speed bit'.

OK. Many thanks for clarifying this.
I took a look to the ZYNQ TRM and an the register 0x28 of the sdhci 
here we have standard behaviour where bit[2] controls the high speed 

The conclusion of this is, that the "zynq_sdhci.c" uses the 
wrong and this must be fixed.

I did grep for the "CONFIG_ZYNQ_HISPD_BROKEN" within source tree and 
that nobody or no boards except mine uses this #define.
This would explain that, i call it this bug, is unnoticed yet.

> If your patch is applied, Samsung SoC can work the unexpected behavior.
> If your ip also doesn't use this bit, then no problem. 
> But your patch tried to use the other purpose.


> > 
> > Maybe i've to introduce some new quirk, which tells the ip-core and 
> > other layers> above not using HIGH_SPEED. But i think still this is 
the right one ... 
> Well, i don't want to add the new quirk, if there is a solution not to 
add the quriks.
> If really needs, you need to add the SDHCI_QUIRK_BROKEN_HISPD_MODE.

OK. But i fear that we've to introduce this new quirk.
Because in real life mistakes in hardware-design (in this case chip 
design) happen and
we software guys have to workaround them.


> and change from SDHCI_QUIRK_NO_HSIPD_BIT to 
> zynq_sdhci.c.

I will do so.

I will also send some V2 of my patch, with doing:

- add this new QUIRK
- fix the zynq_sdhci.c
- consider this quirk in the host_cap

> I will update the descriptions about quirks. Because it can be confused 
> purpose is used.

Great, so it will be more readable in the future.

> Best Regards,
> Jaehoon Chung

U-Boot mailing list

Reply via email to