From: horms@verge.net.au (Simon Horman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 07/21] ARM: shmobile: kzm9g: reference: Register pinctrl mappings for I2C
Date: Thu, 14 Feb 2013 01:25:07 +0900 [thread overview]
Message-ID: <20130213162507.GC10520@verge.net.au> (raw)
In-Reply-To: <3631209.BKvXQoUfHr@avalon>
On Wed, Feb 13, 2013 at 05:03:28PM +0100, Laurent Pinchart wrote:
> Hi Simon,
>
> Thanks you for the patch.
>
> On Wednesday 13 February 2013 11:44:43 Simon Horman wrote:
> > Replace the GPIO-based I2C pinmux configuration by pinctrl mappings.
> >
> > This change is for the kzm9g reference DT implementation and
> > is in keeping with a similar change for the default kzm9g implementation
> > made by Laurent Pinchart.
> >
> > This change also adds a sh73a0_pinmux_init() call to kzm_init()
> > which was previously missing as it was not needed (or at least not
> > needed in practice) for the minimal board configuration supplied
> > by the reference DT implementation. The call to sh73a0_pinmux_init()
> > will be removed by a subsequent patch to initialise pinmus using
> > device tree.
> >
> > Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
> > Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> > Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> > ---
> > arch/arm/mach-shmobile/board-kzm9g-reference.c | 12 ++++++++----
> > 1 file changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/arm/mach-shmobile/board-kzm9g-reference.c
> > b/arch/arm/mach-shmobile/board-kzm9g-reference.c index 6a1222e..642bb7b
> > 100644
> > --- a/arch/arm/mach-shmobile/board-kzm9g-reference.c
> > +++ b/arch/arm/mach-shmobile/board-kzm9g-reference.c
> > @@ -26,12 +26,18 @@
> > #include <linux/irq.h>
> > #include <linux/input.h>
> > #include <linux/of_platform.h>
> > +#include <linux/pinctrl/machine.h>
> > #include <mach/sh73a0.h>
> > #include <mach/common.h>
> > #include <asm/hardware/cache-l2x0.h>
> > #include <asm/mach-types.h>
> > #include <asm/mach/arch.h>
> >
> > +static const struct pinctrl_map kzm_pinctrl_map[] = {
> > + PIN_MAP_MUX_GROUP_DEFAULT("i2c-sh_mobile.3", "pfc-sh73a0",
> > + "i2c3_1", "i2c3"),
> > +};
> > +
> > static void __init kzm_init(void)
> > {
> > /* enable SCIFA4 */
> > @@ -52,16 +58,14 @@ static void __init kzm_init(void)
> > gpio_request(GPIO_FN_MMCD0_6_PU, NULL);
> > gpio_request(GPIO_FN_MMCD0_7_PU, NULL);
> >
> > - /* I2C 3 */
> > - gpio_request(GPIO_FN_PORT27_I2C_SCL3, NULL);
> > - gpio_request(GPIO_FN_PORT28_I2C_SDA3, NULL);
> > -
> > #ifdef CONFIG_CACHE_L2X0
> > /* Early BRESP enable, Shared attribute override enable, 64K*8way */
> > l2x0_init(IOMEM(0xf0100000), 0x40460000, 0x82000fff);
> > #endif
> >
> > + sh73a0_pinmux_init();
>
> You should initialize pinmuxing before using any of the GPIO functions, so
> this call should be moved near the top of kzm_init().
>
> > sh73a0_add_standard_devices_dt();
> > + pinctrl_register_mappings(kzm_pinctrl_map, ARRAY_SIZE(kzm_pinctrl_map));
>
> You should register mappings before initializing pinmuxing, otherwise the
> default configurations won't be applied as they won't be registered when the
> PFC device is registered. This call should thus be moved before the
> sh73a0_pinmux_init() call.
Thanks. I have sorted that out in my tree as Guennadi had supplied
a patch to add sh73a0_pinmux_init() and pinctrl_register_mappings()
calls in the correct locations and I rebased on top of that.
Its a shame we seem to have this co-dependency between kzm9g-reference
and pinmux. At this stage it just looks like we will need to tread
carefully when merging.
next prev parent reply other threads:[~2013-02-13 16:25 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-13 2:44 [PATCH 00/16 v1.1] SCIF, I2C and FSI pinctrl functions for sh73a0 Simon Horman
2013-02-13 2:44 ` [PATCH 01/21] ARM: shmobile: bonito: Register pinctrl mappings for LCDC0 Simon Horman
2013-02-13 2:44 ` [PATCH 02/21] ARM: shmobile: kota2: Register pinctrl mappings for SCIF Simon Horman
2013-02-13 2:44 ` [PATCH 03/21] ARM: shmobile: kzm9g: Register pinctrl mappings for LCD Simon Horman
2013-02-13 2:44 ` [PATCH 04/21] ARM: shmobile: kzm9g: Register pinctrl mappings for SCIF Simon Horman
2013-02-13 2:44 ` [PATCH 05/21] ARM: shmobile: kzm9g: Register pinctrl mappings for I2C Simon Horman
2013-02-13 2:44 ` [PATCH 06/21] ARM: shmobile: kzm9g: Register pinctrl mappings for FSI Simon Horman
2013-02-13 2:44 ` [PATCH 07/21] ARM: shmobile: kzm9g: reference: Register pinctrl mappings for I2C Simon Horman
2013-02-13 16:03 ` Laurent Pinchart
2013-02-13 16:25 ` Simon Horman [this message]
2013-02-13 2:44 ` [PATCH 08/21] ARM: shmobile: kzm9g: reference: Register pinctrl mappings for SCIF Simon Horman
2013-02-13 16:04 ` Laurent Pinchart
2013-02-13 2:44 ` [PATCH 09/21] sh-pfc: sh73a0: Remove LCD and LCD2 function GPIOS Simon Horman
2013-02-13 2:44 ` [PATCH 10/21] sh-pfc: sh73a0: Remove SCIFA and SCIFB " Simon Horman
2013-02-13 2:44 ` [PATCH 11/21] sh-pfc: sh73a0: Remove I2C " Simon Horman
2013-02-13 2:44 ` [PATCH 12/21] sh-pfc: sh73a0: Remove FSI " Simon Horman
2013-02-13 2:44 ` [PATCH 13/21] sh-pfc: r8a7740: Remove LCD0 and LCD1 " Simon Horman
2013-02-13 2:44 ` [PATCH 14/21] sh-pfc: r8a7779: Remove DU1_DOTCLKOUT1 GPIO Simon Horman
2013-02-13 2:44 ` [PATCH 15/21] ARM: shmobile: sh73a0: Remove LCDC and LCDC2 function GPIOs Simon Horman
2013-02-13 2:44 ` [PATCH 16/21] ARM: shmobile: sh73a0: Remove SCIFA and SCIFB " Simon Horman
2013-02-13 2:44 ` [PATCH 17/21] ARM: shmobile: sh73a0: Remove I2C " Simon Horman
2013-02-13 2:44 ` [PATCH 18/21] ARM: shmobile: sh73a0: Remove FSI " Simon Horman
2013-02-13 2:44 ` [PATCH 19/21] ARM: shmobile: r8a7740: Remove LCD0 and LCD1 " Simon Horman
2013-02-13 2:44 ` [PATCH 20/21] ARM: shmobile: r8a7779: Remove DU1_DOTCLKOUT1 GPIO Simon Horman
2013-02-13 2:44 ` [PATCH 21/21] ARM: shmobile: r8a7779: Remove DU function GPIOs Simon Horman
2013-02-13 16:06 ` [PATCH 00/16 v1.1] SCIF, I2C and FSI pinctrl functions for sh73a0 Laurent Pinchart
2013-02-13 16:21 ` Simon Horman
2013-02-13 16:32 ` Laurent Pinchart
2013-02-14 0:56 ` Simon Horman
-- strict thread matches above, loose matches on Subject: below --
2013-02-13 3:26 [PATCH 00/21 v1.2] " Simon Horman
2013-02-13 3:26 ` [PATCH 07/21] ARM: shmobile: kzm9g: reference: Register pinctrl mappings for I2C Simon Horman
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=20130213162507.GC10520@verge.net.au \
--to=horms@verge.net.au \
--cc=linux-arm-kernel@lists.infradead.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 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).