pinctrl: pinconf-generic: Add support for "output-impedance-ohms" to be extracted...
authorLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Wed, 27 Oct 2021 13:45:07 +0000 (14:45 +0100)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 15 Nov 2021 09:13:36 +0000 (10:13 +0100)
Add "output-impedance-ohms" property to generic options used for DT
parsing files. This enables drivers, which use generic pin configurations,
to get the value passed to this property.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20211027134509.5036-3-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
drivers/pinctrl/pinconf-generic.c
include/linux/pinctrl/pinconf-generic.h

index 22e8d4c..f8edcc8 100644 (file)
@@ -46,6 +46,7 @@ static const struct pin_config_item conf_items[] = {
        PCONFDUMP(PIN_CONFIG_MODE_LOW_POWER, "pin low power", "mode", true),
        PCONFDUMP(PIN_CONFIG_OUTPUT_ENABLE, "output enabled", NULL, false),
        PCONFDUMP(PIN_CONFIG_OUTPUT, "pin output", "level", true),
+       PCONFDUMP(PIN_CONFIG_OUTPUT_IMPEDANCE_OHMS, "output impedance", "ohms", true),
        PCONFDUMP(PIN_CONFIG_POWER_SOURCE, "pin power source", "selector", true),
        PCONFDUMP(PIN_CONFIG_SLEEP_HARDWARE_STATE, "sleep hardware state", NULL, false),
        PCONFDUMP(PIN_CONFIG_SLEW_RATE, "slew rate", NULL, true),
@@ -179,6 +180,7 @@ static const struct pinconf_generic_params dt_params[] = {
        { "output-disable", PIN_CONFIG_OUTPUT_ENABLE, 0 },
        { "output-enable", PIN_CONFIG_OUTPUT_ENABLE, 1 },
        { "output-high", PIN_CONFIG_OUTPUT, 1, },
+       { "output-impedance-ohms", PIN_CONFIG_OUTPUT_IMPEDANCE_OHMS, 0 },
        { "output-low", PIN_CONFIG_OUTPUT, 0, },
        { "power-source", PIN_CONFIG_POWER_SOURCE, 0 },
        { "sleep-hardware-state", PIN_CONFIG_SLEEP_HARDWARE_STATE, 0 },
index eee0e39..2422211 100644 (file)
@@ -91,6 +91,8 @@ struct pinctrl_map;
  *     configuration (eg. the currently selected mux function) drive values on
  *     the line. Use argument 1 to enable output mode, argument 0 to disable
  *     it.
+ * @PIN_CONFIG_OUTPUT_IMPEDANCE_OHMS: this will configure the output impedance
+ *     of the pin with the value passed as argument. The argument is in ohms.
  * @PIN_CONFIG_PERSIST_STATE: retain pin state across sleep or controller reset
  * @PIN_CONFIG_POWER_SOURCE: if the pin can select between different power
  *     supplies, the argument to this parameter (on a custom format) tells
@@ -129,6 +131,7 @@ enum pin_config_param {
        PIN_CONFIG_MODE_PWM,
        PIN_CONFIG_OUTPUT,
        PIN_CONFIG_OUTPUT_ENABLE,
+       PIN_CONFIG_OUTPUT_IMPEDANCE_OHMS,
        PIN_CONFIG_PERSIST_STATE,
        PIN_CONFIG_POWER_SOURCE,
        PIN_CONFIG_SKEW_DELAY,