On 02/04/2014 06:44 AM, Balaji T K wrote: > On Tuesday 21 January 2014 04:59 AM, Nishanth Menon wrote: >> When device is booted using devicetree, platforms impacted by >> Erratum 2.1.1.128 is not detected easily in the mmc driver. This erratum >> indicates that the module cannot do multi-block transfers. >> >> Handle this by providing a boolean flag to indicate to driver that it is >> working on a hardware with mentioned limitation. >> >> Signed-off-by: Nishanth Menon <nm@xxxxxx> >> --- >> >> This explains the logs I see: >> OMAP3430 LDP (ES2.2): >> uImage only boot: http://slexy.org/raw/s2YrbMAi7c >> uImage+dtb concatenated boot: http://slexy.org/raw/s20qVg17T0 >> >> With the following flag set, device is now able to consistently boot with >> device tree supported uImage+dtb concat boot. >> >> .../devicetree/bindings/mmc/ti-omap-hsmmc.txt | 2 ++ >> drivers/mmc/host/omap_hsmmc.c | 3 +++ >> 2 files changed, 5 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt >> index 8c8908a..ab36f8b 100644 >> --- a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt >> +++ b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt >> @@ -26,6 +26,8 @@ specifier is required. >> dma-names: List of DMA request names. These strings correspond >> 1:1 with the DMA specifiers listed in dmas. The string naming is >> to be "rx" and "tx" for RX and TX DMA requests, respectively. >> +ti,erratum-2.1.1.128: boolean, for OMAP3430/OMAP35xx platforms with broken >> +multiblock reads > > Rather than ti,errata.. specific property, something like > caps no/disable multiblock read is more readable in my opinion, Otherwise Is'nt the better definition to state i have quirk X and allow the driver to do the necessary thing/things needed to handle quirk X? in this case, there is just one thing to do: broken multi_block_read, in the case of other quirks, there might be more than 1 thing to do.. let driver figure that out, dts just states the h/w capabilty or in this case, the quirk capability. > > Acked-by: Balaji T K <balajitk@xxxxxx> > >> >> Examples: >> >> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c >> index 014bfe5..f2d5940 100644 >> --- a/drivers/mmc/host/omap_hsmmc.c >> +++ b/drivers/mmc/host/omap_hsmmc.c >> @@ -1730,6 +1730,9 @@ static struct omap_mmc_platform_data *of_get_hsmmc_pdata(struct device *dev) >> if (of_find_property(np, "ti,dual-volt", NULL)) >> pdata->controller_flags |= OMAP_HSMMC_SUPPORTS_DUAL_VOLT; >> >> + if (of_find_property(np, "ti,erratum-2.1.1.128", NULL)) >> + pdata->controller_flags |= OMAP_HSMMC_BROKEN_MULTIBLOCK_READ; >> + >> /* This driver only supports 1 slot */ >> pdata->nr_slots = 1; >> pdata->slots[0].switch_pin = cd_gpio; >> > -- Regards, Nishanth Menon -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html