All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH 1/5] sh-pfc: r8a7778: add SRU/SSI pin support
Date: Thu, 22 Aug 2013 11:02:07 +0000	[thread overview]
Message-ID: <3361379.lnxpgxHbaE@avalon> (raw)
In-Reply-To: <8738qmjgav.wl%kuninori.morimoto.gx@renesas.com>

Hi Morimoto-san,

On Wednesday 21 August 2013 21:46:04 Kuninori Morimoto wrote:

[snip]

> > > +/* - SSI02
> > > -------------------------------------------------------------------*/
> > > +SSI_PFC_PINS(ssi02,	RCAR_GP_PIN(3, 6),	RCAR_GP_PIN(3, 7),
> > > +				RCAR_GP_PIN(3, 10),	RCAR_GP_PIN(3, 8));
> > > +SSI_PFC_MULT(ssi02,	SSI_SCK012,		SSI_WS012,
> > > +				SSI_SDATA0,		SSI_SDATA2);
> > 
> > This looks a bit complex to me. Could you please explain how the various
> > pins are used ? I see that the SSI_DATA1 and SSI_DATA2 signals are used
> > here and below. What are the possible combinations ? For instance, if I
> > select ssi02, will SDATA0 and SDATA2 be driven by the SSI0 instance, or
> > by the SSI0 and SSI2 instances respectively ?
> 
> Can you check datasheet ?
> [Sound Routing Unit] has SSI image
> SSI1, SSI2 can use (share) SSI0's pin (= SSI012)
> 
> Yes, SSI is very confusable device/pins

The only copy of the datasheet I have access to is in Japanese, so it's a bit 
hard to understand for me :-)

We seem to have three pin sharing groups: SSI0/1/2, SSI3/4 and SSI7/8.

SSI7 and SSI8 have a single set of SCK and WS pins called SCK78 and WS78. What 
are the possible combinations here ? I can think of

- SSI7 alone with (SCK78, WS78, SDATA7)
- SSI8 alone with (SCK78, WS78, SDATA8)
- SSI7 and SSI8 together with (SCK78, WS78, SDATA7, SDATA8) using a single set 
of shared SCK and WS signals, driven by either SSI7 or SSI8

For SSI3 and SSI4, I can think of more combinations:

- SSI3 alone with (SCK34, WS34, SDATA3)
- SSI4 alone with (SCK4, WS4, SDATA4)
- SSI4 alone with (SCK34, WS34, SDATA4)
- SSI3 and SSI4 together with (SCK34, WS34, SDATA3) for SSI3 and (SCK4, WS4, 
SDATA4) for SSI4
- SSI3 and SSI4 together with (SCK34, WS34, SDATA3, SDATA4) using a single set 
of shared SCK and WS signals, driven by either SSI3 or SSI4
- SSI3 and SSI4 together with (SCK4, WS4, SDATA3, SDATA4) using a single set 
of shared SCK and WS signals, driven by either SSI3 or SSI4

SSI0/1/2 is even more complex.

Could you please tell me which of the above combinations is supported ? Based 
on that we can divide the pins into proper groups.

[snip]

> > > +static const char * const ssi_groups[] = {
> > > +	"ssi0",
> > > +	"ssi01",
> > > +	"ssi012",
> > > +	"ssi02",
> > > +	"ssi1_a",
> > > +	"ssi1_b",
> > > +	"ssi2_a",
> > > +	"ssi2_b",
> > > +	"ssi3",
> > > +	"ssi34",
> > > +	"ssi4",
> > > +	"ssi5",
> > > +	"ssi6",
> > > +	"ssi7",
> > > +	"ssi78",
> > > +};
> > 
> > I'm not familiar with SSI so I could be wrong, but shouldn't we have one
> > group per SSI instance ?
> 
> Current pinctrl map is like below
> 
> 	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
> 				  "ssi01", "ssi"),
> 
> Do you want like this ?
> 
> 	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
> 				  "sck", "ssi01"),
> 
> But hmm...
> this style can solve above complex SSIxyz settings ?
>  - separate data / ctrl pin
>  - select these each
> 
> 	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
> 				  "ssi01_ctrl", "ssi"),
> 	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
> 				  "ssi0_data", "ssi"),
> 	PIN_MAP_MUX_GROUP_DEFAULT("rcar_sound", "pfc-r8a7778",
> 				  "ssi1_data", "ssi"),

The answer to this depends on what combinations are supported by the hardware. 
Let's first discuss that, and then decide how to divide pins in pin groups.

-- 
Regards,

Laurent Pinchart


  parent reply	other threads:[~2013-08-22 11:02 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-07  4:06 [PATCH 1/5] sh-pfc: r8a7778: add SRU/SSI pin support Kuninori Morimoto
2013-08-21  8:47 ` Simon Horman
2013-08-21 20:50 ` Linus Walleij
2013-08-22  0:19 ` Simon Horman
2013-08-22  1:28 ` Laurent Pinchart
2013-08-22  4:46 ` Kuninori Morimoto
2013-08-22 11:02 ` Laurent Pinchart [this message]
2013-08-23  0:51 ` Kuninori Morimoto
2013-08-23 11:16 ` Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3361379.lnxpgxHbaE@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=linux-sh@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.