Skip to content

Commit 55c7f5e

Browse files
AntonioBorneoLinus Walleij
authored andcommitted
pinctrl: pinconf-generic: Add properties 'skew-delay-{in,out}put-ps'
Add the properties 'skew-delay-input-ps' and 'skew-delay-output-ps' to the generic parameters used for parsing DT files. This allows to specify the independent skew delay value for the two directions. This enables drivers that use the generic pin configuration to get the value passed through these new properties. Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1 parent 90a18c5 commit 55c7f5e

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

drivers/pinctrl/pinconf-generic.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ static const struct pin_config_item conf_items[] = {
5454
PCONFDUMP(PIN_CONFIG_SLEEP_HARDWARE_STATE, "sleep hardware state", NULL, false),
5555
PCONFDUMP(PIN_CONFIG_SLEW_RATE, "slew rate", NULL, true),
5656
PCONFDUMP(PIN_CONFIG_SKEW_DELAY, "skew delay", NULL, true),
57+
PCONFDUMP(PIN_CONFIG_SKEW_DELAY_INPUT_PS, "input skew delay", "ps", true),
58+
PCONFDUMP(PIN_CONFIG_SKEW_DELAY_OUTPUT_PS, "output skew delay", "ps", true),
5759
};
5860

5961
static void pinconf_generic_dump_one(struct pinctrl_dev *pctldev,
@@ -198,6 +200,8 @@ static const struct pinconf_generic_params dt_params[] = {
198200
{ "sleep-hardware-state", PIN_CONFIG_SLEEP_HARDWARE_STATE, 0 },
199201
{ "slew-rate", PIN_CONFIG_SLEW_RATE, 0 },
200202
{ "skew-delay", PIN_CONFIG_SKEW_DELAY, 0 },
203+
{ "skew-delay-input-ps", PIN_CONFIG_SKEW_DELAY_INPUT_PS, 0 },
204+
{ "skew-delay-output-ps", PIN_CONFIG_SKEW_DELAY_OUTPUT_PS, 0 },
201205
};
202206

203207
/**

include/linux/pinctrl/pinconf-generic.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,12 @@ struct pinctrl_map;
112112
* or latch delay (on outputs) this parameter (in a custom format)
113113
* specifies the clock skew or latch delay. It typically controls how
114114
* many double inverters are put in front of the line.
115+
* @PIN_CONFIG_SKEW_DELAY_INPUT_PS: if the pin has independent values for the
116+
* programmable skew rate (on inputs) and latch delay (on outputs), then
117+
* this parameter specifies the clock skew only. The argument is in ps.
118+
* @PIN_CONFIG_SKEW_DELAY_OUPUT_PS: if the pin has independent values for the
119+
* programmable skew rate (on inputs) and latch delay (on outputs), then
120+
* this parameter specifies the latch delay only. The argument is in ps.
115121
* @PIN_CONFIG_SLEEP_HARDWARE_STATE: indicate this is sleep related state.
116122
* @PIN_CONFIG_SLEW_RATE: if the pin can select slew rate, the argument to
117123
* this parameter (on a custom format) tells the driver which alternative
@@ -147,6 +153,8 @@ enum pin_config_param {
147153
PIN_CONFIG_PERSIST_STATE,
148154
PIN_CONFIG_POWER_SOURCE,
149155
PIN_CONFIG_SKEW_DELAY,
156+
PIN_CONFIG_SKEW_DELAY_INPUT_PS,
157+
PIN_CONFIG_SKEW_DELAY_OUTPUT_PS,
150158
PIN_CONFIG_SLEEP_HARDWARE_STATE,
151159
PIN_CONFIG_SLEW_RATE,
152160
PIN_CONFIG_END = 0x7F,

0 commit comments

Comments
 (0)