aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/pinctrl
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2017-10-28 09:37:17 -0400
committerLinus Walleij <linus.walleij@linaro.org>2017-11-08 07:49:45 -0500
commite0e1e39de490a2d9b8a173363ccf2415ddada871 (patch)
tree619523b63681964806e20a87e870423f846c359b /include/linux/pinctrl
parent30ac0d3b0702ea3b6ad19b0c1452831526fe03d5 (diff)
pinctrl: Add skew-delay pin config and bindings
Some pin controllers (such as the Gemini) can control the expected clock skew and output delay on certain pins with a sub-nanosecond granularity. This is typically done by shunting in a number of double inverters in front of or behind the pin. Make it possible to configure this with a generic binding. Cc: devicetree@vger.kernel.org Acked-by: Rob Herring <robh@kernel.org> Acked-by: Hans Ulli Kroll <ulli.kroll@googlemail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/linux/pinctrl')
-rw-r--r--include/linux/pinctrl/pinconf-generic.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/pinctrl/pinconf-generic.h b/include/linux/pinctrl/pinconf-generic.h
index 5d8bc7f21c2a..ec6dadcc1fde 100644
--- a/include/linux/pinctrl/pinconf-generic.h
+++ b/include/linux/pinctrl/pinconf-generic.h
@@ -90,6 +90,10 @@
90 * @PIN_CONFIG_SLEW_RATE: if the pin can select slew rate, the argument to 90 * @PIN_CONFIG_SLEW_RATE: if the pin can select slew rate, the argument to
91 * this parameter (on a custom format) tells the driver which alternative 91 * this parameter (on a custom format) tells the driver which alternative
92 * slew rate to use. 92 * slew rate to use.
93 * @PIN_CONFIG_SKEW_DELAY: if the pin has programmable skew rate (on inputs)
94 * or latch delay (on outputs) this parameter (in a custom format)
95 * specifies the clock skew or latch delay. It typically controls how
96 * many double inverters are put in front of the line.
93 * @PIN_CONFIG_END: this is the last enumerator for pin configurations, if 97 * @PIN_CONFIG_END: this is the last enumerator for pin configurations, if
94 * you need to pass in custom configurations to the pin controller, use 98 * you need to pass in custom configurations to the pin controller, use
95 * PIN_CONFIG_END+1 as the base offset. 99 * PIN_CONFIG_END+1 as the base offset.
@@ -117,6 +121,7 @@ enum pin_config_param {
117 PIN_CONFIG_POWER_SOURCE, 121 PIN_CONFIG_POWER_SOURCE,
118 PIN_CONFIG_SLEEP_HARDWARE_STATE, 122 PIN_CONFIG_SLEEP_HARDWARE_STATE,
119 PIN_CONFIG_SLEW_RATE, 123 PIN_CONFIG_SLEW_RATE,
124 PIN_CONFIG_SKEW_DELAY,
120 PIN_CONFIG_END = 0x7F, 125 PIN_CONFIG_END = 0x7F,
121 PIN_CONFIG_MAX = 0xFF, 126 PIN_CONFIG_MAX = 0xFF,
122}; 127};