pinctrl: clarify some dt pinconfig options

A patch from »pinctrl: fix some issues with new pinconfig dt parsing« in state Mainline for linux-kernel

From: Heiko Stuebner <heiko@...> Date: Fri, 14 Jun 2013 15:39:36 +0200

Commit-Message

The bias-pull-* options use values > 0 to indicate that the pull should be activated and optionally also indicate the strength of the pull. Therefore use an default value of 1 for these options. Split the low-power-mode option into low-power-enable and -disable. Update the documentation to describe the param arguments better. Signed-off-by: Heiko Stuebner <heiko@...>

Patch-Comment

.../bindings/pinctrl/pinctrl-bindings.txt | 22 +++++++++++++++++++- drivers/pinctrl/pinconf-generic.c | 9 ++++---- 2 files changed, 26 insertions(+), 5 deletions(-)

Statistics

  • 26 lines added
  • 5 lines removed

Changes

-------- Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt --------
index ef7cd57..2d730e3 100644
@@ -158,9 +158,29 @@ input-schmitt - run in schmitt-trigger mode with hysteresis X
input-debounce - debounce mode with debound time X
power-source - select power source X
slew-rate - use slew-rate X
-low-power-mode - low power mode
+low-power-enable - enable low power mode
+low-power-disable - disable low power mode
output-low - set the pin to output mode with low level
output-high - set the pin to output mode with high level
+Arguments for parameters:
+
+- bias-pull-up, -down and -pin-default take as optional argument 0 to disable
+ the pull, on hardware supporting it the pull strength in Ohm. bias-disable
+ will also disable any active pull.
+
+- drive-strength takes as argument the target strength in mA.
+
+- input-schmitt takes as argument the adjustable hysteresis in a
+ driver-specific format
+
+- input-debounce takes the debounce time as argument or 0 to disable debouncing
+
+- power-source argument is the custom value describing the source to select
+
+- slew-rate takes as argument the target rate in a driver-specific format
+
+All parameters not listed here, do not take an argument.
+
More in-depth documentation on these parameters can be found in
<include/linux/pinctrl/pinconfig-generic.h>
---------------------- drivers/pinctrl/pinconf-generic.c -----------------------
index d3c693c..dcf0371 100644
@@ -152,9 +152,9 @@ static struct pinconf_generic_dt_params dt_params[] = {
{ "bias-disable", PIN_CONFIG_BIAS_DISABLE, 0 },
{ "bias-high-impedance", PIN_CONFIG_BIAS_HIGH_IMPEDANCE, 0 },
{ "bias-bus-hold", PIN_CONFIG_BIAS_BUS_HOLD, 0 },
- { "bias-pull-up", PIN_CONFIG_BIAS_PULL_UP, 0 },
- { "bias-pull-down", PIN_CONFIG_BIAS_PULL_DOWN, 0 },
- { "bias-pull-pin-default", PIN_CONFIG_BIAS_PULL_PIN_DEFAULT, 0 },
+ { "bias-pull-up", PIN_CONFIG_BIAS_PULL_UP, 1 },
+ { "bias-pull-down", PIN_CONFIG_BIAS_PULL_DOWN, 1 },
+ { "bias-pull-pin-default", PIN_CONFIG_BIAS_PULL_PIN_DEFAULT, 1 },
{ "drive-push-pull", PIN_CONFIG_DRIVE_PUSH_PULL, 0 },
{ "drive-open-drain", PIN_CONFIG_DRIVE_OPEN_DRAIN, 0 },
{ "drive-open-source", PIN_CONFIG_DRIVE_OPEN_SOURCE, 0 },
@@ -165,7 +165,8 @@ static struct pinconf_generic_dt_params dt_params[] = {
{ "input-debounce", PIN_CONFIG_INPUT_DEBOUNCE, 0 },
{ "power-source", PIN_CONFIG_POWER_SOURCE, 0 },
{ "slew-rate", PIN_CONFIG_SLEW_RATE, 0 },
- { "low-power-mode", PIN_CONFIG_LOW_POWER_MODE, 0 },
+ { "low-power-enable", PIN_CONFIG_LOW_POWER_MODE, 1 },
+ { "low-power-disable", PIN_CONFIG_LOW_POWER_MODE, 0 },
{ "output-low", PIN_CONFIG_OUTPUT, 0, },
{ "output-high", PIN_CONFIG_OUTPUT, 1, },
};
 
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...