Hi Mason, Nowhere in the documentation do they specify an "IP version". Some documents do provide a revision number, but that's just a *documentation* revision number, e.g. changes in version 3.6 : fix typos changes in version 9.1a : update company logo That's why Xilinx used "arasan,sdhci-8.9a" and APM used "arasan,sdhci-4.9a". These are documentation revisions. In my opinion, that information is mostly worthless. Arasan SD/SDIO/eMMC IP has a register which tells about the SD specification version and Vendor version number Reg Name: Host controller version register (offset 0FEh) bit [15:8] is for vendor version number, But, I have seen that Arasaan vendor version number is same as document revision number. On Mon, Nov 28, 2016 at 10:22 PM, Mason <slash.tmp@xxxxxxx> wrote: > On 28/11/2016 17:15, Arnd Bergmann wrote: > >> On Monday, November 28, 2016 4:44:39 PM CET Mason wrote: >> >>> Hello, >>> >>> @Shawn Lin, could you take a look below and tell me exactly >>> which IP core(s) Rockchip is using in its SoCs? >>> >>> Based on the feedback I received, here is an updated list of >>> compatible strings and controller versions dealt with by the >>> drivers/mmc/host/sdhci-of-arasan.c code. >>> >>> >>> Xilinx Zynq: >>> "SD2.0 / SDIO2.0 / MMC3.31 AHB Host Controller" >>> "arasan,sdhci-8.9a" >>> NB: 8.9a is the documentation revision (dated 2011-10-19) >>> subsequent tweaks labeled 9.0a, 9.1a, 9.2a >>> >>> Xilinx ZynqMP: >>> "SD3.0 / SDIO3.0 / eMMC4.51 AHB Host Controller" >>> "arasan,sdhci-8.9a" >>> NB: using the same compatible string as Zynq >>> >>> Sigma SMP87xx >>> "SD3.0 / SDIO3.0 / eMMC4.4 AHB Host Controller" >>> no compatible string yet, platform-specific init required >>> >>> APM: >>> "SD3.0 / SDIO3.0 / eMMC4.41 AHB Host Controller" >>> "arasan,sdhci-4.9a" >>> NB: 4.9a appears to be the documentation revision >>> no functional diff with "arasan,sdhci-8.9a" >>> >>> Rockchip >>> Exact IP unknown, waiting for Shawn's answer >>> "arasan,sdhci-5.1" >>> NB: 5.1 appears to refer to the eMMC standard supported >>> >>> >>> On a final note, there are many variations of the Arasan IP. >>> I've tracked down at least the following: >>> >>> SD_2.0_SDIO_2.0__MMC_3.31_AHB_Host_Controller.pdf >>> SD_3.0_SDIO_3.0_eMMC_4.41_OCP_Host_Controller.pdf >>> SD_3.0_SDIO_3.0_eMMC_4.4__AHB_Host_Controller.pdf >>> SD_3.0_SDIO_3.0_eMMC_4.51_Host_Controller.pdf >>> SD_3.0_SDIO_3.0_eMMC_4.5__Host_Controller.pdf >>> SD_4.1_SDIO_4.1_eMMC_4.51_Host_Controller.pdf >>> SD_4.1_SDIO_4.1_eMMC_5.1__Host_Controller.pdf >>> >>> It seems to me the compatible string should specify >>> the SD/SDIO version AND the eMMC version, since it >>> seems many combinations are allowed, e.g. eMMC 4.51 >>> has two possible SD versions. >>> >>> What do you think? >> >> It seems wrong to have the eMMC or SD version in the compatible >> string. Is that the only difference between the documents you >> found? Normally there should be a version of IP block itself, >> besides the supported protocol. > > But that is exactly the problem :-) > > Nowhere in the documentation do they specify an "IP version". > Some documents do provide a revision number, but that's just > a *documentation* revision number, e.g. > > changes in version 3.6 : fix typos > changes in version 9.1a : update company logo > > That's why Xilinx used "arasan,sdhci-8.9a" and APM used > "arasan,sdhci-4.9a". These are documentation revisions. > In my opinion, that information is mostly worthless. > > > Looking more closely at SD_3.0_SDIO_3.0_eMMC_4.4__AHB_Host_Controller.pdf > (User Guide, which has more info than Datasheet) I see this: > > Changed Host Controller Version Register value from 16'h0002 to 16'h7501 > Changed Host Controller Version Register value from 16'h8301 to 16'h8401 > Changed Host Controller Version Register value from 16'h8401 to 16'h8501 > Changed Host Controller Version Register to 16'h9502 > Changed Host Controller Version Register to 16'h9602 > Changed Host Controller Version Register to 16'h9902 > > Host controller version register (offset 0FEh) > > Vendor Version Number 15:8 > HwInit=0x99 > This status is reserved for the vendor version number. > The HD should not use this status. > > Specification Version Number 7:0 > HwInit=0x02 > This status indicates the Host Controller Spec. Version. > The upper and lower 4-bits indicate the version. > Description > 00 - SD Host Specification version 1.0 > 01 - SD Host Specification version 2.00 > including only the feature of the Test Register > 02 - SD Host Specification Version 3.00 > others - Reserved > > I'm not sure what this "Vendor Version Number" specifies, nor if is > guaranteed to be unique across controllers. > > In SD_3.0_SDIO_3.0_eMMC_4.5__Host_Controller_UserGuide.pdf, > they write "The Vendor Version Number is set to 0x10 (1.0)" > > I don't have a UserGuide for "arasan,sdhci-5.1". > > Regards. > -- 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