
On Wed, 2015-12-02 at 15:39 +0100, Marek Vasut wrote:
On Wednesday, December 02, 2015 at 06:52:17 AM, Chin Liang See wrote:
[...]
OK, this is bad. Originally, if we didn't specify these in the DT, we would use the default values of 0x3 and 0x0 , but now we do the calibration. I wonder, do we care about DT ABI compatibility on the U-Boot level or not ?
If the compatibility failed, it will still invoke the calibration to get the correct value. Just that its in the cost of boot time.
Hopefully the calibration does it's job then.
At same time, I am rethinking another email thread on suggesting to put this into common dw_mmc code. Here are my proposal
Having this in common code would make sense.
- Put back the correct default value for DT ABI compatiblity
- Adding a node to enable calibration. If node not exist,
calibration will disabled as default.
But "enable calibration" is not really a hardware property, so it shouldn't be in the DT. The DT is purely a hardware description and only the smplsel and drvsel fit into this, some "enable-calibration" does not.
Sound reasonable. In this case, I can put this into KConfig where user can configure this easily through menuconfig.
Thanks Chin Liang
- Some common calibration algo will go into dw_mmc.c
- platform specific such as on configuring the clksel and smplsel
will be part of platform specific dw_mmc file such as socfpga_dw_mmc.c
OK
This hope will work for both everyone especially for socfpga and exynos platform. Any thoughts?
Thanks Chin Liang
Best regards, Marek Vasut