Subject: [PATCH v2] ARM: AM43xx: hwmod: add VPFE hwmod entries

From: [email-masked] (Benoit Parrot)
Date: Wed, 28 Jan 2015 13:30:38 -0600

Paul Walmsley <[email-masked]> wrote on Mon [2015-Jan-26 18:47:11 +0000]:
> Hi Prabhakar,
> 
> On Mon, 26 Jan 2015, Lad, Prabhakar wrote:
> 
> > Hi Benoit,
> > 
> > On Mon, Jan 26, 2015 at 3:50 PM, Benoit Parrot <[email-masked]> wrote:
> > > Lad, Prabhakar <[email-masked]> wrote on Mon [2015-Jan-26 08:13:01 +0000]:
> > >> Hi Paul,
> > >>
> > >> Thanks for the review.
> > >>
> > >> On Mon, Jan 26, 2015 at 2:15 AM, Paul Walmsley <[email-masked]> wrote:
> > >> > Hi
> > >> >
> > >> > On Sun, 25 Jan 2015, Lad, Prabhakar wrote:
> > >> >
> > >> >> From: Benoit Parrot <[email-masked]>
> > >> >>
> > >> >> this patch adds VPFE HWMOD data for AM43xx.
> > >> >>
> > >> >> Signed-off-by: Benoit Parrot <[email-masked]>
> > >> >> Signed-off-by: Darren Etheridge <[email-masked]>
> > >> >> Signed-off-by: Felipe Balbi <[email-masked]>
> > >> >> Signed-off-by: Lad, Prabhakar <[email-masked]>
> > >> >> ---
> > >> >>  Hi Paul,
> > >> >>
> > >> >>  You were right, the hardware team has confirmed that, the VPFE master port is
> > >> >>  connected to L3 and the VPFE slave port is connected to L4. The L3 port cannot
> > >> >>  serve as a register target because it is initiator only.
> > >> >
> > >> > OK makes sense to me.,
> > >> >
> > >> >>
> > >> >>  I have created links referring to dss l3/l4 hwmod and tested it, lemme know
> > >> >>  if I have missed something.
> > >> >
> > >> > A few minor comments below
> > >> >
> > >> >>
> > >> [Snip]
> > >> >>  /* Interfaces */
> > >> >>  static struct omap_hwmod_ocp_if am43xx_l3_main__l4_hs = {
> > >> >>       .master         = &am33xx_l3_main_hwmod,
> > >> >> @@ -788,6 +826,36 @@ static struct omap_hwmod_ocp_if am43xx_l4_ls__dss_rfbi = {
> > >> >>       .user           = OCP_USER_MPU | OCP_USER_SDMA,
> > >> >>  };
> > >> >>
> > >> >> +static struct omap_hwmod_ocp_if am43xx_l3__vpfe0 = {
> > >> >> +     .master         = &am43xx_vpfe0_hwmod,
> > >> >> +     .slave          = &am33xx_l3_main_hwmod,
> > >> >> +     .clk            = "l3_gclk",
> > >> >> +     .flags          = OCPIF_SWSUP_IDLE,
> > >> >
> > >> > OCPIF_SWSUP_IDLE probably isn't needed here.  Could you please try without
> > >> > it?
> > >> >
> > >> >> +     .user           = OCP_USER_MPU | OCP_USER_SDMA,
> > >> >> +};
> > >> >> +
> > >> >> +static struct omap_hwmod_ocp_if am43xx_l3__vpfe1 = {
> > >> >> +     .master         = &am43xx_vpfe1_hwmod,
> > >> >> +     .slave          = &am33xx_l3_main_hwmod,
> > >> >> +     .clk            = "l3_gclk",
> > >> >> +     .flags          = OCPIF_SWSUP_IDLE,
> > >> >
> > >> > Same point as the above.
> > >> >
> > >> Dropped and tested works! posting a v3.
> > >
> > > When you tested it without the OCPIF_SWSUP_IDLE, did you go trhough a complete suspend/resume cycle?
> > > This flag was added early on because otherwise the susbsytem would not go idle without it...
> > >
> > > Can you post the console output during a suspend/resume cycle?
> > >
> > Ah I didn?t test the suspend/resume will do and post the console log.
> 
> Could you also do a suspend/resume test on v2?

Prabbhakar,

I tested both v2 and v3 and both successfully went through a suspend/resume cycle.
So I guess v3 is fine, sorry for the noise.

I'll add a tested-by on V3.

Benoit

> thanks
> - Paul