* [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).