On May 13, 2011, at 10:11 PM, zhangfei gao wrote: > On Fri, May 13, 2011 at 9:47 PM, Chris Ball <cjb@xxxxxxxxxx> wrote: >> Hi, >> >> On Thu, May 12 2011, Philip Rakity wrote: >>> All other platform specific code is in the host/ directory. >>> >>> This moves it to arch/arm >>> >>> If that is the direction the group wants to go in --> then the patch >>> is fine provided the mmc group can review the patches. Otherwise they >>> are handled by the arm maintainer. >> >> Thanks. Wolfram, do you have any ideas on what the best design is for >> these SoC-specific changes to sdhci-pxa? >> >> - Chris. > > The code in arch/arm is > 1. Accessing private register, take pxa910 and mmp2 we want to support > as example, there are several private registers differece, though they > are same ip, with same issues and quirk. > 2. Handle platform difference, for example, mmp2 used in two different > platform, one use wp pin, the other does not. The situation is a little more complicated. pxa168 and pxa910 share (almost) the same IP The are both based on SD 2.0 controller spec with extensions. The pxa910 controller has fixes to the pxa168 controller. They share the same private registers that allow support for clock gating and timing adjustments. mmp2 is based on SD 3.0 spec. The private register space is different. mmc/host/Kconfig takes no account of these differences. mmp2 and pxa168/910 cannot co-exist. What is currently submitted does not work. One cannot compile mmp2 and pxa910 nor would they work if one could. Mark Brown and I submitted patches to fix this. We added code to the host/ directory that took into account these differences. It provided a common interface layer that then used platform specific code in the host/ directory to handle the different behavior. Arng Bergmann provided advice and reviewed the patches to allow explicit selection of the pxa familty controller and board. Based on this comments we submitted a patch to allow selection if the appropriate SoC. These are two approaches. > > Thanks >> -- >> Chris Ball <cjb@xxxxxxxxxx> <http://printf.net/> >> One Laptop Per Child >> -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html