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

From: Hebbar, Gururaja
Date: Wed Jul 03 2013 - 01:04:15 EST


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@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
>
> > -----Original Message-----
> > From: Nori, Sekhar
> > Sent: Tuesday, July 02, 2013 11:47 AM
> > To: Hebbar, Gururaja
> > Cc: khilman@xxxxxxxxxx; tony@xxxxxxxxxxx; Cousson, Benoit; linux-
> > omap@xxxxxxxxxxxxxxx; devicetree-discuss@xxxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
> > davinci-linux-open-source@xxxxxxxxxxxxxxxxxxxx; Bedia, Vaibhav;
> > Rajashekhara, Sudhakar; Grant Likely; Rob Herring; Rob Landley;
> > Alessandro Zummo; rtc-linux@xxxxxxxxxxxxxxxx; linux-
> > doc@xxxxxxxxxxxxxxx
> > Subject: Re: [PATCH 3/4] rtc: omap: add rtc wakeup support to
> > alarm events
> >
> >
> >
> > On 7/2/2013 11:41 AM, Hebbar, Gururaja wrote:
> > > On Tue, Jul 02, 2013 at 11:39:28, Nori, Sekhar wrote:
> > >> On 7/2/2013 11:34 AM, Hebbar, Gururaja wrote:
> > >>> On Tue, Jul 02, 2013 at 11:32:34, Nori, Sekhar wrote:
> > >>>> On 6/28/2013 3:05 PM, Hebbar Gururaja wrote:
> > >>>>> On some platforms (like AM33xx), a special register
> > (RTC_IRQWAKEEN)
> > >>>>> is available to enable Alarm Wakeup feature. This register
> > needs to be
> > >>>>> properly handled for the rtcwake to work properly.
> > >>>>>
> > >>>>> Platforms using such IP should set "ti,am3352-rtc" in rtc
> > device dt
> > >>>>> compatibility node.
> > >>>>>
> > >>>>> Signed-off-by: Hebbar Gururaja <gururaja.hebbar@xxxxxx
> <mailto:gururaja.hebbar@xxxxxx> >
> > >>>>> Cc: Grant Likely <grant.likely@xxxxxxxxxx
> <mailto:grant.likely@xxxxxxxxxx> >
> > >>>>> Cc: Rob Herring <rob.herring@xxxxxxxxxxx
> <mailto:rob.herring@xxxxxxxxxxx> >
> > >>>>> Cc: Rob Landley <rob@xxxxxxxxxxx <mailto:rob@xxxxxxxxxxx> >
> > >>>>> Cc: Sekhar Nori <nsekhar@xxxxxx <mailto:nsekhar@xxxxxx> >
> > >>>>> Cc: Kevin Hilman <khilman@xxxxxxxxxx <mailto:khilman@xxxxxxxxxx>
> >
> > >>>>> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx
> <mailto:a.zummo@xxxxxxxxxxxx> >
> > >>>>> Cc: rtc-linux@xxxxxxxxxxxxxxxx
> <mailto:rtc-linux@xxxxxxxxxxxxxxxx>
> > >>>>> Cc: devicetree-discuss@xxxxxxxxxxxxxxxx
> <mailto:devicetree-discuss@xxxxxxxxxxxxxxxx>
> > >>>>> Cc: linux-doc@xxxxxxxxxxxxxxx <mailto:linux-doc@xxxxxxxxxxxxxxx>
> > >>>>> ---
> > >>>>
> > >>>> [...]
> > >>>>
> > >>>>> -#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[] = {
> > >>>>> }, {
> > >>>>> .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
> > >>>> compatible in sync.
> > >>>
> > >>> Correct. I will update the same in v2.
> > >>>
> > >>>>
> > >>>>> + .driver_data = OMAP_RTC_HAS_KICKER |
> > OMAP_RTC_HAS_IRQWAKEEN,
> > >>>>> },
> > >>>>> {},
> > >>>>
> > >>>> It is better to use the index defined above in the static
> > initialization
> > >>>> 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
> > >> is not clear.
> > >>
> > >>>> ...
> > >>>> [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
> > > 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
>
èº{.nÇ+‰·Ÿ®‰­†+%ŠËlzwm…ébëæìr¸›zX§»®w¥Š{ayºÊÚë,j­¢f£¢·hš‹àz¹®w¥¢¸ ¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝj"ú!¶iO•æ¬z·švØ^¶m§ÿðà nÆàþY&—