Re: [PATCH 2/3] pinctrl: Device tree bindings for Qualcomm pm8xxx gpio block
From: Bjorn Andersson <hidden>
Date: 2014-07-16 00:23:54
Also in:
linux-arm-kernel, linux-arm-msm, lkml
On Mon, Jul 14, 2014 at 11:35 PM, Ivan T. Ivanov [off-list ref] wrote:
On Mon, 2014-07-14 at 14:20 -0700, Stephen Boyd wrote:
[..]
quoted
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.quoted
quoted
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".
Hi Ivan,
From your comment I presume that you don't have access to the
documentation for these blocks. The pmic sports two types of pins; gpios and mpps (multi-purpose-pin). These are different hardware blocks; i.e. not a configuration thing. The gpios can be input, output or both and they can be configured as gpio, paired, function 1 or function 2 (+ some test modes). So here it makes sense to have the functions "gpio", "paired" and the valid function combinations. The mpps can be input, output or both; in either digital or analog mode. Or they can be a current sink. When configured as analog input you select which adc the pin should be routed to. Here it makes sense to have the functions "digital", "analog" and "current-sink" I think. Regards, Bjorn