Hi Geert,

On 9/15/2016, Geert Uytterhoeven wrote:
> > +               interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH
> > +                             GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>;
> The bindings do not say anything about interrupts (hence that should be
> added).

I'm sorry, I'm confused...
Are you saying:
 A) I forgot to add something?
 B) As a general statement, the renesas,mmcif.txt file doesn't say anything 
about interrupts?

> The driver handles either 1 combined or 2 separate interrupts.
> The datasheet says MMC has 3 interrupt requests, though?

The IP itself has 3 interrupts:
 #1. MMC0,299: Card detect
 #2. MMC1,300: Status Change
 #3. MMC2,301: Error

Many of the 'Linux' SoC devices that use this MMC (SH4, R-Car) are only ever 
going to use eMMC, so the card detection portion of the IP was irrelevant. I 
agree this is the same case for the RZ/A (who would ever use an MMC card now a 
The 'smaller' SoCs kept it in (SH2A, RZ/A1) but the 'bigger' SoCs left it out 
(SH4A, R-Car).

The only way to enable that interrupt is to write to the CE_DETECT register 
(offset 0x70) which the driver doesn't do.

However....if you look in sh_mmcif.h, you'll see that same offset (0x70) is 
called CE_CLK_CTRL2

#define MMCIF_CE_CLK_CTRL2      0x00000070

Which it only writes to if 'clk_ctrl2_enable' is designated.

        if (host->clk_ctrl2_enable)
                sh_mmcif_writel(host->addr, MMCIF_CE_CLK_CTRL2, 0x0F0F0000);

And, I see no Renesas SoC that ever sets that or would ever use it so I can't 
even tell you what SoC that was for (SH4, SH-Mobile, ARM)

So after all that ranting...I see no need to support card detect for MMC for 
the RZ/A (or any future RZ) so I'd like to just leave it as is.

Do you agree?


Reply via email to