Re: [PATCH] pinctrl: msm: Add support for MSM TLMM pinmux

From: Hanumant Singh
Date: Thu Aug 15 2013 - 19:14:12 EST


On 8/15/2013 4:10 PM, Josh Cartwright wrote:
On Thu, Aug 15, 2013 at 02:58:31PM -0700, Hanumant Singh wrote:
On 8/15/2013 2:50 PM, Josh Cartwright wrote:
On Thu, Aug 15, 2013 at 10:44:03AM -0700, Hanumant Singh wrote:
On 8/14/2013 12:29 PM, Linus Walleij wrote:
On Tue, Jul 30, 2013 at 1:39 AM, Bjorn Andersson <bjorn@xxxxxxx> wrote:
On Wed, Jul 24, 2013 at 1:41 PM, Hanumant Singh <hanumant@xxxxxxxxxxxxxx> wrote:
[..]

Ok i can switch to using pin groups defined in per soc files.
But in our case we have one soc going into different types of boards.
(atleast 3). In each of the boards the same external devices end up using
different pins. For ex camera on board 1 uses different pin group
then the same camera on board 2. Both having the same SOC.
So in this case the design would be to have all possible pin groups
for different boards enumerated in the same soc-pinctrl.c file?

Also in this implementation I will have.
1) pinctrl-msm.c => DT parsing and interface to framework.
2) pinctrl-msm-tlmm<version>.c => Register programming and pin types
supported by a particular TLMM pinmux version.

It isn't clear to me what you are trying to separate out between 1) and
2). Seems like there should only be pinctrl-msm-tlmm<version>.c.

The idea is that we should be able to plug in the next TLMM version 4, with
the pintypes that it supports and its register programming semantics without
any changes to the DT parsing or interface to the framework. The DT
information describes the states of the pingroups.
How we handle them with respect to the pinctrl framework, does not change
with different versions of the TLMM.

Okay, although I think that might be a bit too much indirection too
soon.

I'd rather the strategy be to have a straightforward driver supporting
TLMMv3 only (with MSM8974 support), and only worry about introducing a
generic TLMM parsing layer when we actually have a need for it.

If nothing else, I'd at least suggest that you rename pinctrl-msm.c to
pinctrl-msm-tlmm.c, if it's going to be housing the TLMM-generic DT
parsing code.


Actually we already have a request from Bjorn to support TLMMv2 which has different pin types and register semantics.

Thanks
Hanumant

--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/