Re: ARC dw-mshc binding compat string

From: Marek Vasut
Date: Sat Mar 26 2016 - 15:52:09 EST


On 03/26/2016 07:16 PM, Vladimir Zapolskiy wrote:
> On 26.03.2016 20:10, Marek Vasut wrote:
>> On 03/26/2016 06:52 PM, Vladimir Zapolskiy wrote:
>>> Hi Marek,
>>>
>>> On 26.03.2016 19:30, Marek Vasut wrote:
>>>> On 03/26/2016 06:26 PM, Vladimir Zapolskiy wrote:
>>>>> On 26.03.2016 12:14, Marek Vasut wrote:
>>>>>> Hi!
>>>>>>
>>>>>> I noticed that arch/arc/boot/dts/axs10x_mb.dtsi uses "altr," prefix in
>>>>>> the DT compatible string:
>>>>>>
>>>>>> mmc@0x15000 {
>>>>>> compatible = "altr,socfpga-dw-mshc";
>>>>>> reg = < 0x15000 0x400 >;
>>>>>> num-slots = < 1 >;
>>>>>> fifo-depth = < 16 >;
>>>>>> card-detect-delay = < 200 >;
>>>>>> clocks = <&apbclk>, <&mmcclk>;
>>>>>> clock-names = "biu", "ciu";
>>>>>> interrupts = < 7 >;
>>>>>> bus-width = < 4 >;
>>>>>> };
>>>>>>
>>>>>> I don't think this is OK, since ARC is unrelated to Altera, which is
>>>>>> what the "altr," prefix stands for. I think the socfpga-dw-mshc shim
>>>>>> should be extended with another compatibility string, something like
>>>>>> "snps,arc-dw-mshc" and the axs10x_mb.dtsi should be adjusted
>>>>>> accordingly. What do you think ?
>>>>>>
>>>>>
>>>>> There is "snps,dw-mshc" described in
>>>>> Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt and supported by
>>>>> dw_mmc host controller driver.
>>>>
>>>> Thanks, that's even better.
>>>>
>>>> btw what do you think of using altr, prefix on non-altera system, that
>>>> doesn't seem ok, right ?
>>>
>>> according to ePAPR the prefix should represent a device (IP block here
>>> I believe) manufacturer, so it should be okay to use "altr" prefix on
>>> non-Altera system, if Altera provides another hardware vendor with
>>> some own IP block.
>>
>> In this case, it's Synopsys who provides the SD/MMC/MS core to other
>> chip makers (Altera etc).
>
> Correct.
>
>>> That said, I would rather prefer to see "snps,dw-mshc" prefix on description
>>> of an MMC controller found on SoCFPGA series, "altr,socfpga-dw-mshc" seems
>>> to be redundant.
>>
>> According to drivers/mmc/host/dw_mmc-pltfm.c , the Altera SoCFPGA one
>> "altr,socfpga-dw-mshc" and also Imagination Technology Pistacio one
>> "img,pistachio-dw-mshc" need specialty bit (SDMMC_CMD_USE_HOLD_REG),
>> while the stock one "snps,dw-mshc" does not. I am not sure if the ARC
>> one needs it as well, but most likely yes.
>>
>> I wonder if that bit is needed on some particular version of the DWMMC
>> core. In that case, should we have "snps,dw-mshc" and "snps,dw-mshc-vN"
>> binding ? Or should we use DT property to discern the need for this bit ?
>>
>
> That's the most common way to take into account peculiarities, add
> a property and handle it from the driver.

And by "that" you mean which of those two I listed , the
"snps,dw-mshc-vN" or adding new DT prop ?

--
Best regards,
Marek Vasut