RE: [PATCH 2/4] ARM: dts: r7s72100: add mmcif to device tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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 days?????)
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?

Chris


��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux