Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757920AbaGOGfn (ORCPT ); Tue, 15 Jul 2014 02:35:43 -0400 Received: from ns.mm-sol.com ([37.157.136.199]:42176 "EHLO extserv.mm-sol.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757803AbaGOGfk (ORCPT ); Tue, 15 Jul 2014 02:35:40 -0400 Message-ID: <1405406114.13503.40.camel@iivanov-dev> Subject: Re: [PATCH 2/3] pinctrl: Device tree bindings for Qualcomm pm8xxx gpio block From: "Ivan T. Ivanov" To: Stephen Boyd Cc: Linus Walleij , Bjorn Andersson , Bjorn Andersson , Rob Herring , Mark Rutland , "linux-arm-kernel@lists.infradead.org" , "linux-arm-msm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" Date: Tue, 15 Jul 2014 09:35:14 +0300 In-Reply-To: <53C449A3.2010404@codeaurora.org> References: <1404782785-1824-1-git-send-email-bjorn.andersson@sonymobile.com> <1404782785-1824-3-git-send-email-bjorn.andersson@sonymobile.com> <53C095EA.90000@codeaurora.org> <1405346335.13503.25.camel@iivanov-dev> <53C449A3.2010404@codeaurora.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.1-2ubuntu2~saucy1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2014-07-14 at 14:20 -0700, Stephen Boyd wrote: > On 07/14/14 06:58, Ivan T. Ivanov wrote: > > On Fri, 2014-07-11 at 18:56 -0700, Stephen Boyd wrote: > >> On 07/10/14 02:53, Linus Walleij wrote: > >>> On Wed, Jul 9, 2014 at 11:18 PM, Bjorn Andersson wrote: > >>>> On Wed, Jul 9, 2014 at 1:53 AM, Linus Walleij wrote: > >>>>> On Tue, Jul 8, 2014 at 3:26 AM, Bjorn Andersson > >>>>> wrote: > >>>>> > >>>>> +- function: > >>>>> + Usage: optional > >>>>> + Value type: > >>>>> + Definition: Specify the alternative function to be configured for the > >>>>> + specified pins. Valid values are: > >>>>> + "normal", > >>>>> + "paired", > >>>>> + "func1", > >>>>> + "func2", > >>>>> + "dtest1", > >>>>> + "dtest2", > >>>>> + "dtest3", > >>>>> + "dtest4" > >>>>> These are a bit ambigous, why doesn't the driver present functions that > >>>>> are more specific than "func1", "func2"? Or "dtest1"? > >>>> I agree, unfortunately I have only seen traces of the actual function matrix; > >>>> for pm8xxx I have no documentation and for pm8x41 they are only listed as > >>>> func[1-2] and dtest[1-4]. > >>>> > >>>> Maybe if someone at Qualcomm could release such a list we could provide a > >>>> proper table instead. > >>> I guess Stephen Boyd can help us. (?) > >> Ok. "normal" is pretty much gpio mode, i.e. don't mux anything. "paired" > >> is where we take the output of the gpio next to it and loop it back into > >> this gpio (and vice versa). So gpio1 is paired with gpio2, gpio 3 is > >> paired with gpio 4, etc. This allows us to make level translators by > >> choosing different supply voltages for the paired gpios. "func1" and > >> "func2" are used for muxing things internally. "dtest" is used to mux > >> specific things out for testing purposes, not really used in any > >> end-products but still useful while debugging. I can provide the > >> function to pin mapping if necessary. There are lots of pmics. > > Thank you Stephen. If understand it right, this is more like option for > > the pin when it is GPIO. Next generation of PMIC's have support for pin > > acting like analog-input/output and current sink. > > Isn't this document only for the gpios? I think you're talking about the > MPPs, which also exist on these generation of pmics. We should probably > avoid mixing the two (gpios and mpps) in one binding because they're > really different hardware. I don't know. For me "gpio" looks like function of the pin hardware. > > > So I will like > > to keep "function" property for selecting one of the above functions. > > Choosing between "normal", "paired"... options in QPNP pinctrl driver > > is supported trough passing values, defined in DT header file, to > > "output-high" property. Please don't kill me :-). > > Overloading output-high to choose the MPP mode doesn't seem to follow > the generic pinconfig binding. Does output-high even take a value? Why > can't we use the function property? No, no. using value of the output-high|low" is just to select "normal", "paired"... thing. Function selection is via "function" property. Currently QPNP support following functions "gpio", "mpp-ain", "mpp-aout", "mpp-cs". Regards, Ivan -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/