linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 30/88] ARM: shmobile: armadillo800eva: Register pinctrl mappings for SDHI and MMCIF
@ 2013-03-13 22:59 Laurent Pinchart
  2013-04-26  7:38 ` Guennadi Liakhovetski
  2013-04-26  9:54 ` Laurent Pinchart
  0 siblings, 2 replies; 3+ messages in thread
From: Laurent Pinchart @ 2013-03-13 22:59 UTC (permalink / raw)
  To: linux-sh

Replace the GPIO-based SDHI and MMCIF pinmux configuration by pinctrl
mappings.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
 arch/arm/mach-shmobile/board-armadillo800eva.c | 58 +++++++++++---------------
 1 file changed, 25 insertions(+), 33 deletions(-)

diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index aa812cf..04eff93 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -657,6 +657,17 @@ static struct platform_device sdhi1_device = {
 	.resource	= sdhi1_resources,
 };
 
+static const struct pinctrl_map eva_sdhi1_pinctrl_map[] = {
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
+				  "sdhi1_data4", "sdhi1"),
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
+				  "sdhi1_ctrl", "sdhi1"),
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
+				  "sdhi1_cd", "sdhi1"),
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
+				  "sdhi1_wp", "sdhi1"),
+};
+
 /* MMCIF */
 static struct sh_mmcif_plat_data sh_mmcif_plat = {
 	.sup_pclk	= 0,
@@ -923,6 +934,18 @@ static const struct pinctrl_map eva_pinctrl_map[] = {
 				  "lcd0_lclk_1", "lcd0"),
 	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_lcdc_fb.0", "pfc-r8a7740",
 				  "lcd0_sync", "lcd0"),
+	/* MMCIF */
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-r8a7740",
+				  "mmc0_data8_1", "mmc0"),
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif.0", "pfc-r8a7740",
+				  "mmc0_ctrl_1", "mmc0"),
+	/* SDHI0 */
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7740",
+				  "sdhi0_data4", "sdhi0"),
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7740",
+				  "sdhi0_ctrl", "sdhi0"),
+	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7740",
+				  "sdhi0_wp", "sdhi0"),
 };
 
 static void __init eva_clock_init(void)
@@ -1036,37 +1059,12 @@ static void __init eva_init(void)
 	}
 
 	/* SDHI0 */
-	gpio_request(GPIO_FN_SDHI0_CMD, NULL);
-	gpio_request(GPIO_FN_SDHI0_CLK, NULL);
-	gpio_request(GPIO_FN_SDHI0_D0, NULL);
-	gpio_request(GPIO_FN_SDHI0_D1, NULL);
-	gpio_request(GPIO_FN_SDHI0_D2, NULL);
-	gpio_request(GPIO_FN_SDHI0_D3, NULL);
-	gpio_request(GPIO_FN_SDHI0_WP, NULL);
-
 	gpio_request_one(17, GPIOF_OUT_INIT_LOW, NULL);  /* SDHI0_18/33_B */
 	gpio_request_one(74, GPIOF_OUT_INIT_HIGH, NULL); /* SDHI0_PON */
 	gpio_request_one(75, GPIOF_OUT_INIT_HIGH, NULL); /* SDSLOT1_PON */
 
 	/* we can use GPIO_FN_IRQ31_PORT167 here for SDHI0 CD irq */
 
-	/*
-	 * MMCIF
-	 *
-	 * Here doesn't care SW1.4 status,
-	 * since CON2 is not mounted.
-	 */
-	gpio_request(GPIO_FN_MMC1_CLK_PORT103,	NULL);
-	gpio_request(GPIO_FN_MMC1_CMD_PORT104,	NULL);
-	gpio_request(GPIO_FN_MMC1_D0_PORT149,	NULL);
-	gpio_request(GPIO_FN_MMC1_D1_PORT148,	NULL);
-	gpio_request(GPIO_FN_MMC1_D2_PORT147,	NULL);
-	gpio_request(GPIO_FN_MMC1_D3_PORT146,	NULL);
-	gpio_request(GPIO_FN_MMC1_D4_PORT145,	NULL);
-	gpio_request(GPIO_FN_MMC1_D5_PORT144,	NULL);
-	gpio_request(GPIO_FN_MMC1_D6_PORT143,	NULL);
-	gpio_request(GPIO_FN_MMC1_D7_PORT142,	NULL);
-
 	/* CEU0 */
 	gpio_request(GPIO_FN_VIO0_D7,		NULL);
 	gpio_request(GPIO_FN_VIO0_D6,		NULL);
@@ -1124,14 +1122,8 @@ static void __init eva_init(void)
 		/* CON14 enable */
 	} else {
 		/* CON8 (SDHI1) enable */
-		gpio_request(GPIO_FN_SDHI1_CLK,	NULL);
-		gpio_request(GPIO_FN_SDHI1_CMD,	NULL);
-		gpio_request(GPIO_FN_SDHI1_D0,	NULL);
-		gpio_request(GPIO_FN_SDHI1_D1,	NULL);
-		gpio_request(GPIO_FN_SDHI1_D2,	NULL);
-		gpio_request(GPIO_FN_SDHI1_D3,	NULL);
-		gpio_request(GPIO_FN_SDHI1_CD,	NULL);
-		gpio_request(GPIO_FN_SDHI1_WP,	NULL);
+		pinctrl_register_mappings(eva_sdhi1_pinctrl_map,
+					  ARRAY_SIZE(eva_sdhi1_pinctrl_map));
 
 		/* SDSLOT2_PON */
 		gpio_request_one(16, GPIOF_OUT_INIT_HIGH, NULL);
-- 
1.8.1.5


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v4 30/88] ARM: shmobile: armadillo800eva: Register pinctrl mappings for SDHI and MMCIF
  2013-03-13 22:59 [PATCH v4 30/88] ARM: shmobile: armadillo800eva: Register pinctrl mappings for SDHI and MMCIF Laurent Pinchart
@ 2013-04-26  7:38 ` Guennadi Liakhovetski
  2013-04-26  9:54 ` Laurent Pinchart
  1 sibling, 0 replies; 3+ messages in thread
From: Guennadi Liakhovetski @ 2013-04-26  7:38 UTC (permalink / raw)
  To: linux-sh

Hi Laurent

Maybe we can simplify this a bit by an incremental patch:

On Wed, 13 Mar 2013, Laurent Pinchart wrote:

> Replace the GPIO-based SDHI and MMCIF pinmux configuration by pinctrl
> mappings.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
>  arch/arm/mach-shmobile/board-armadillo800eva.c | 58 +++++++++++---------------
>  1 file changed, 25 insertions(+), 33 deletions(-)
> 
> diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
> index aa812cf..04eff93 100644
> --- a/arch/arm/mach-shmobile/board-armadillo800eva.c
> +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
> @@ -657,6 +657,17 @@ static struct platform_device sdhi1_device = {
>  	.resource	= sdhi1_resources,
>  };
>  
> +static const struct pinctrl_map eva_sdhi1_pinctrl_map[] = {
> +	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
> +				  "sdhi1_data4", "sdhi1"),
> +	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
> +				  "sdhi1_ctrl", "sdhi1"),
> +	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
> +				  "sdhi1_cd", "sdhi1"),
> +	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
> +				  "sdhi1_wp", "sdhi1"),
> +};
> +
>  /* MMCIF */
>  static struct sh_mmcif_plat_data sh_mmcif_plat = {
>  	.sup_pclk	= 0,

[snip]

> @@ -1124,14 +1122,8 @@ static void __init eva_init(void)
>  		/* CON14 enable */
>  	} else {
>  		/* CON8 (SDHI1) enable */
> -		gpio_request(GPIO_FN_SDHI1_CLK,	NULL);
> -		gpio_request(GPIO_FN_SDHI1_CMD,	NULL);
> -		gpio_request(GPIO_FN_SDHI1_D0,	NULL);
> -		gpio_request(GPIO_FN_SDHI1_D1,	NULL);
> -		gpio_request(GPIO_FN_SDHI1_D2,	NULL);
> -		gpio_request(GPIO_FN_SDHI1_D3,	NULL);
> -		gpio_request(GPIO_FN_SDHI1_CD,	NULL);
> -		gpio_request(GPIO_FN_SDHI1_WP,	NULL);
> +		pinctrl_register_mappings(eva_sdhi1_pinctrl_map,
> +					  ARRAY_SIZE(eva_sdhi1_pinctrl_map));

What if we just add SDHI1 pin mappings in the global array and register 
them together with the rest - it shouldn't hurt, right? They'd only be 
activated if the respective device is probed, and this won't happen unless 
we detect the respective switch position, right? So, we shouldn't need 
this separate map? Yes, I can cook up a patch, just wanted to check with 
you first.

Thanks
Guennadi

>  
>  		/* SDSLOT2_PON */
>  		gpio_request_one(16, GPIOF_OUT_INIT_HIGH, NULL);
> -- 
> 1.8.1.5
> 

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v4 30/88] ARM: shmobile: armadillo800eva: Register pinctrl mappings for SDHI and MMCIF
  2013-03-13 22:59 [PATCH v4 30/88] ARM: shmobile: armadillo800eva: Register pinctrl mappings for SDHI and MMCIF Laurent Pinchart
  2013-04-26  7:38 ` Guennadi Liakhovetski
@ 2013-04-26  9:54 ` Laurent Pinchart
  1 sibling, 0 replies; 3+ messages in thread
From: Laurent Pinchart @ 2013-04-26  9:54 UTC (permalink / raw)
  To: linux-sh

Hi Guennadi,

On Friday 26 April 2013 09:38:42 Guennadi Liakhovetski wrote:
> Hi Laurent
> 
> Maybe we can simplify this a bit by an incremental patch:
> 
> On Wed, 13 Mar 2013, Laurent Pinchart wrote:
> > Replace the GPIO-based SDHI and MMCIF pinmux configuration by pinctrl
> > mappings.
> > 
> > Signed-off-by: Laurent Pinchart
> > <laurent.pinchart+renesas@ideasonboard.com>
> > ---
> > 
> >  arch/arm/mach-shmobile/board-armadillo800eva.c | 58 ++++++++++-----------
> >  1 file changed, 25 insertions(+), 33 deletions(-)
> > 
> > diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c
> > b/arch/arm/mach-shmobile/board-armadillo800eva.c index aa812cf..04eff93
> > 100644
> > --- a/arch/arm/mach-shmobile/board-armadillo800eva.c
> > +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
> > @@ -657,6 +657,17 @@ static struct platform_device sdhi1_device = {
> >  	.resource	= sdhi1_resources,
> >  };
> > 
> > +static const struct pinctrl_map eva_sdhi1_pinctrl_map[] = {
> > +	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
> > +				  "sdhi1_data4", "sdhi1"),
> > +	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
> > +				  "sdhi1_ctrl", "sdhi1"),
> > +	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
> > +				  "sdhi1_cd", "sdhi1"),
> > +	PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.1", "pfc-r8a7740",
> > +				  "sdhi1_wp", "sdhi1"),
> > +};
> > +
> >  /* MMCIF */
> >  static struct sh_mmcif_plat_data sh_mmcif_plat = {
> >  	.sup_pclk	= 0,
> 
> [snip]
> 
> > @@ -1124,14 +1122,8 @@ static void __init eva_init(void)
> >  		/* CON14 enable */
> >  	} else {
> >  		/* CON8 (SDHI1) enable */
> > -		gpio_request(GPIO_FN_SDHI1_CLK,	NULL);
> > -		gpio_request(GPIO_FN_SDHI1_CMD,	NULL);
> > -		gpio_request(GPIO_FN_SDHI1_D0,	NULL);
> > -		gpio_request(GPIO_FN_SDHI1_D1,	NULL);
> > -		gpio_request(GPIO_FN_SDHI1_D2,	NULL);
> > -		gpio_request(GPIO_FN_SDHI1_D3,	NULL);
> > -		gpio_request(GPIO_FN_SDHI1_CD,	NULL);
> > -		gpio_request(GPIO_FN_SDHI1_WP,	NULL);
> > +		pinctrl_register_mappings(eva_sdhi1_pinctrl_map,
> > +					  ARRAY_SIZE(eva_sdhi1_pinctrl_map));
> 
> What if we just add SDHI1 pin mappings in the global array and register
> them together with the rest - it shouldn't hurt, right? They'd only be
> activated if the respective device is probed, and this won't happen unless
> we detect the respective switch position, right? So, we shouldn't need
> this separate map? Yes, I can cook up a patch, just wanted to check with
> you first.

Yes that's a good idea.

-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-04-26  9:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-13 22:59 [PATCH v4 30/88] ARM: shmobile: armadillo800eva: Register pinctrl mappings for SDHI and MMCIF Laurent Pinchart
2013-04-26  7:38 ` Guennadi Liakhovetski
2013-04-26  9:54 ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).