Thread (18 messages) 18 messages, 3 authors, 2013-07-03

[PATCH 3/4] rtc: omap: add rtc wakeup support to alarm events

From: Hebbar, Gururaja <hidden>
Date: 2013-07-03 05:04:06
Also in: linux-devicetree, linux-omap, lkml

Hi all,

Kindly ignore this message. It was sent in wrong format.

Sorry for the noise

Regards, 
Gururaja

On Wed, Jul 03, 2013 at 10:26:57, Hebbar, Gururaja wrote:
Below is the code snippet I was referring to
 
 
From drivers/rtc/rtc-omap.c
 
static struct platform_device_id omap_rtc_devtype[] = {
      {
            .name = DRIVER_NAME,
      },
      [OMAP_RTC_DATA_AM3352_IDX] = {
            .name = "am3352-rtc",
            .driver_data = OMAP_RTC_HAS_KICKER | OMAP_RTC_HAS_IRQWAKEEN,
      },
      [OMAP_RTC_DATA_DA830_IDX] = {
            .name = "da830-rtc",
            .driver_data = OMAP_RTC_HAS_KICKER,
     },
      {},
};
MODULE_DEVICE_TABLE(platform, omap_rtc_devtype);
 
static const struct of_device_id omap_rtc_of_match[] = {
      {     .compatible = "ti,da830-rtc",
            .data       = &omap_rtc_devtype[OMAP_RTC_DATA_DA830_IDX],
      },
      {     .compatible = "ti,am3352-rtc",
            .data       = &omap_rtc_devtype[OMAP_RTC_DATA_AM3352_IDX],
      },
      {},
};
MODULE_DEVICE_TABLE(of, omap_rtc_of_match);
 
 
From arch/arm/boot/dts/am33xx.dtsi
 
            rtc at 44e3e000 {
                  compatible = "ti,da830-rtc", "ti,am3352-rtc";
                  reg = <0x44e3e000 0x1000>;
                  interrupts = <75
                              76>;
                  ti,hwmods = "rtc";
            };
 
 
As seen from above snippet, 2 compatible items are specified for
compatible dt property (ti,da830-rtc" & "ti,am3352-rtc?)
These are the same compatibles that are mentioned in the of_device_id
structure inside rtc-omap driver.
 
What I observed is, if we mention both compatible in the .dtsi file that
are under one single of_device_id structure, the first match from the
of_device_id structure is considered (ti,da830-rtc in above case)
 
To confirm, I switched the 2 compatible inside of_device_id structure as
below
 
 
static const struct of_device_id omap_rtc_of_match[] = {
      {     .compatible = "ti,am3352-rtc",
            .data       = &omap_rtc_devtype[OMAP_RTC_DATA_AM3352_IDX],
      },
      {     .compatible = "ti,da830-rtc",
            .data       = &omap_rtc_devtype[OMAP_RTC_DATA_DA830_IDX],
      },
      {},
};
 
In this case, the first match from compatible field was chosen
(ti,am3352-rtc now).
 
 
Hope this is clear.
 
Kindly let me know when you are free to discuss.
 
 
Regards
Gururaja
 
quoted
-----Original Message-----
From: Nori, Sekhar
Sent: Tuesday, July 02, 2013 11:47 AM
To: Hebbar, Gururaja
Cc: khilman at linaro.org; tony at atomide.com; Cousson, Benoit; linux-
omap at vger.kernel.org; devicetree-discuss at lists.ozlabs.org; linux-
kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
davinci-linux-open-source at linux.davincidsp.com; Bedia, Vaibhav;
Rajashekhara, Sudhakar; Grant Likely; Rob Herring; Rob Landley;
Alessandro Zummo; rtc-linux at googlegroups.com; linux-
doc at vger.kernel.org
Subject: Re: [PATCH 3/4] rtc: omap: add rtc wakeup support to
alarm events



On 7/2/2013 11:41 AM, Hebbar, Gururaja wrote:
quoted
On Tue, Jul 02, 2013 at 11:39:28, Nori, Sekhar wrote:
quoted
On 7/2/2013 11:34 AM, Hebbar, Gururaja wrote:
quoted
On Tue, Jul 02, 2013 at 11:32:34, Nori, Sekhar wrote:
quoted
On 6/28/2013 3:05 PM, Hebbar Gururaja wrote:
quoted
On some platforms (like AM33xx), a special register
(RTC_IRQWAKEEN)
quoted
quoted
quoted
quoted
quoted
is available to enable Alarm Wakeup feature. This register
needs to be
quoted
quoted
quoted
quoted
quoted
properly handled for the rtcwake to work properly.

Platforms using such IP should set "ti,am3352-rtc" in rtc
device dt
quoted
quoted
quoted
quoted
quoted
compatibility node.

Signed-off-by: Hebbar Gururaja <gururaja.hebbar@ti.com
<mailto:gururaja.hebbar@ti.com> >
quoted
quoted
quoted
quoted
quoted
quoted
Cc: Grant Likely <grant.likely@linaro.org
<mailto:grant.likely@linaro.org> >
quoted
quoted
quoted
quoted
quoted
quoted
Cc: Rob Herring <rob.herring@calxeda.com
<mailto:rob.herring@calxeda.com> >
quoted
quoted
quoted
quoted
quoted
quoted
Cc: Rob Landley <rob at landley.net <mailto:rob@landley.net> >
Cc: Sekhar Nori <nsekhar at ti.com <mailto:nsekhar@ti.com> >
Cc: Kevin Hilman <khilman at linaro.org <mailto:khilman@linaro.org>
quoted
quoted
quoted
quoted
quoted
Cc: Alessandro Zummo <a.zummo@towertech.it
<mailto:a.zummo@towertech.it> >
quoted
quoted
quoted
quoted
quoted
quoted
Cc: rtc-linux at googlegroups.com
<mailto:rtc-linux@googlegroups.com> 
quoted
quoted
quoted
quoted
quoted
quoted
Cc: devicetree-discuss at lists.ozlabs.org
<mailto:devicetree-discuss@lists.ozlabs.org> 
quoted
quoted
quoted
quoted
quoted
quoted
Cc: linux-doc at vger.kernel.org <mailto:linux-doc@vger.kernel.org>
---
[...]
quoted
-#define  OMAP_RTC_DATA_DA830_IDX 1
+#define  OMAP_RTC_DATA_DA830_IDX       1
+#define  OMAP_RTC_DATA_AM335X_IDX      2

 static struct platform_device_id omap_rtc_devtype[] = {
    {
@@ -309,6 +321,9 @@ static struct platform_device_id
omap_rtc_devtype[] = {
quoted
quoted
quoted
quoted
quoted
    }, {
          .name = "da830-rtc",
          .driver_data = OMAP_RTC_HAS_KICKER,
+   }, {
+         .name = "am335x-rtc",
may be use am3352-rtc here just to keep the platform device
name and of
quoted
quoted
quoted
quoted
compatible in sync.
Correct. I will update the same in v2.
quoted
quoted
+         .driver_data = OMAP_RTC_HAS_KICKER |
OMAP_RTC_HAS_IRQWAKEEN,
quoted
quoted
quoted
quoted
quoted
    },
    {},
It is better to use the index defined above in the static
initialization
quoted
quoted
quoted
quoted
so they remain in sync.
Sorry. I didn?t get this.
See example below I provided. If its still not clear, let me
know what
quoted
quoted
is not clear.
quoted
quoted
     ...
     [OMAP_RTC_DATA_DA830_IDX] = {
           .name = "da830-rtc",
           .driver_data = OMAP_RTC_HAS_KICKER,
     },
Thanks for the clarification. In this case will it ok if I
update the previous
quoted
member also.
You dont really reference [0] in omap_rtc_of_match[] so even if
you
leave it as-is, that's fine with me. I am mostly concerned with
the
index definitions and initialization order being out of sync and
that's
really not an issue with [0].

Thanks,
Sekhar
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help