All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathias Nyman <mathias.nyman@linux.intel.com>
To: Mika Westerberg <mika.westerberg@linux.intel.com>,
	Linus Walleij <linus.walleij@linaro.org>
Cc: Sundar Iyer <sundar.iyer@intel.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] pinctrl: baytrail: Add pull type, strength and open drain to debugfs output
Date: Fri, 16 May 2014 15:37:53 +0300	[thread overview]
Message-ID: <537606A1.9080507@linux.intel.com> (raw)
In-Reply-To: <1400231909-7662-1-git-send-email-mika.westerberg@linux.intel.com>

On 05/16/2014 12:18 PM, Mika Westerberg wrote:
> In case of resolving power management or similar issues it might be useful
> to have these properties included in the debugfs output.
> 
> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Looks good to me

Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>

-Mathias



> ---
>  drivers/pinctrl/pinctrl-baytrail.c | 55 +++++++++++++++++++++++++++++++++++---
>  1 file changed, 51 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-baytrail.c b/drivers/pinctrl/pinctrl-baytrail.c
> index 7c65c9dab215..975572e2f260 100644
> --- a/drivers/pinctrl/pinctrl-baytrail.c
> +++ b/drivers/pinctrl/pinctrl-baytrail.c
> @@ -43,9 +43,20 @@
>  #define BYT_INT_STAT_REG	0x800
>  
>  /* BYT_CONF0_REG register bits */
> +#define BYT_IODEN		BIT(31)
>  #define BYT_TRIG_NEG		BIT(26)
>  #define BYT_TRIG_POS		BIT(25)
>  #define BYT_TRIG_LVL		BIT(24)
> +#define BYT_PULL_STR_SHIFT	9
> +#define BYT_PULL_STR_MASK	(3 << BYT_PULL_STR_SHIFT)
> +#define BYT_PULL_STR_2K		(0 << BYT_PULL_STR_SHIFT)
> +#define BYT_PULL_STR_10K	(1 << BYT_PULL_STR_SHIFT)
> +#define BYT_PULL_STR_20K	(2 << BYT_PULL_STR_SHIFT)
> +#define BYT_PULL_STR_40K	(3 << BYT_PULL_STR_SHIFT)
> +#define BYT_PULL_ASSIGN_SHIFT	7
> +#define BYT_PULL_ASSIGN_MASK	(3 << BYT_PULL_ASSIGN_SHIFT)
> +#define BYT_PULL_ASSIGN_UP	(1 << BYT_PULL_ASSIGN_SHIFT)
> +#define BYT_PULL_ASSIGN_DOWN	(2 << BYT_PULL_ASSIGN_SHIFT)
>  #define BYT_PIN_MUX		0x07
>  
>  /* BYT_VAL_REG register bits */
> @@ -321,6 +332,8 @@ static void byt_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
>  	spin_lock_irqsave(&vg->lock, flags);
>  
>  	for (i = 0; i < vg->chip.ngpio; i++) {
> +		const char *pull_str = NULL;
> +		const char *pull = NULL;
>  		const char *label;
>  		offs = vg->range->pins[i] * 16;
>  		conf0 = readl(vg->reg_base + offs + BYT_CONF0_REG);
> @@ -330,8 +343,32 @@ static void byt_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
>  		if (!label)
>  			label = "Unrequested";
>  
> +		switch (conf0 & BYT_PULL_ASSIGN_MASK) {
> +		case BYT_PULL_ASSIGN_UP:
> +			pull = "up";
> +			break;
> +		case BYT_PULL_ASSIGN_DOWN:
> +			pull = "down";
> +			break;
> +		}
> +
> +		switch (conf0 & BYT_PULL_STR_MASK) {
> +		case BYT_PULL_STR_2K:
> +			pull_str = "2k";
> +			break;
> +		case BYT_PULL_STR_10K:
> +			pull_str = "10k";
> +			break;
> +		case BYT_PULL_STR_20K:
> +			pull_str = "20k";
> +			break;
> +		case BYT_PULL_STR_40K:
> +			pull_str = "40k";
> +			break;
> +		}
> +
>  		seq_printf(s,
> -			   " gpio-%-3d (%-20.20s) %s %s %s pad-%-3d offset:0x%03x mux:%d %s%s%s\n",
> +			   " gpio-%-3d (%-20.20s) %s %s %s pad-%-3d offset:0x%03x mux:%d %s%s%s",
>  			   i,
>  			   label,
>  			   val & BYT_INPUT_EN ? "  " : "in",
> @@ -339,9 +376,19 @@ static void byt_gpio_dbg_show(struct seq_file *s, struct gpio_chip *chip)
>  			   val & BYT_LEVEL ? "hi" : "lo",
>  			   vg->range->pins[i], offs,
>  			   conf0 & 0x7,
> -			   conf0 & BYT_TRIG_NEG ? " fall" : "",
> -			   conf0 & BYT_TRIG_POS ? " rise" : "",
> -			   conf0 & BYT_TRIG_LVL ? " level" : "");
> +			   conf0 & BYT_TRIG_NEG ? " fall" : "     ",
> +			   conf0 & BYT_TRIG_POS ? " rise" : "     ",
> +			   conf0 & BYT_TRIG_LVL ? " level" : "      ");
> +
> +		if (pull && pull_str)
> +			seq_printf(s, " %-4s %-3s", pull, pull_str);
> +		else
> +			seq_puts(s, "          ");
> +
> +		if (conf0 & BYT_IODEN)
> +			seq_puts(s, " open-drain");
> +
> +		seq_puts(s, "\n");
>  	}
>  	spin_unlock_irqrestore(&vg->lock, flags);
>  }
> 


  reply	other threads:[~2014-05-16 12:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-16  9:18 [PATCH] pinctrl: baytrail: Add pull type, strength and open drain to debugfs output Mika Westerberg
2014-05-16 12:37 ` Mathias Nyman [this message]
2014-05-22 21:52 ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=537606A1.9080507@linux.intel.com \
    --to=mathias.nyman@linux.intel.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=sundar.iyer@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.