linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
To: Linus Walleij <linus.walleij@linaro.org>,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Use of pinctrl-single for external device over I2C
Date: Tue, 23 Jun 2015 16:25:40 +0530	[thread overview]
Message-ID: <55893B2C.1070800@linaro.org> (raw)

Hi,

I am working on enabling support for PMIC 88PM860 device in the
mainline.

In 88PM860 (and family of devices) few pins are labelled as GPIO's, to
be precise, in 88PM860, we have 8 GPIO's (ana & dig).


I was looking at pinctrl-single driver, as it seems it can not handle
pinmux configuration of external device (in this case its over I2C), as
it uses raw read/write api's.

I see below lines in the driver,


/*
  * REVISIT: Reads and writes could eventually use regmap or something
  * generic. But at least on omaps, some mux registers are performance
  * critical as they may need to be remuxed every time before and after
  * idle. Adding tests for register access width for every read and
  * write like regmap is doing is not desired, and caching the registers
  * does not help in this case.
  */


Should be not have flag for this and use regmap_ variants? If we
implement flag based approach then same driver can be reused for pinmux
configuration of external device.


Just to give more clarity, Let me describe my use-case below,

The platform which I have is based on PXA1928 and 88PM860 chipsets,
where 88PM860.GPIO_0 is connected back to PXA1928.EXT_32K_IN.

GPIO_0 need to configured in mode '4'.

As per spec, 88PM860.GPIO_0 can be configured to

  000 = GPIO input mode
  001 = GPIO output mode
  010 = SLEEPOUTN mirror mode
  011 = Buck4 FPWM enable
  100 = 32 Khz output buffer mode
  101 = PMICINTN output mode
  110 = HW_RESET1 mode
  111 = HW_RESET2 mode


Please let me know if there is already an alternative for this, which I
missed.

Thanks,
Vaibhav



Thanks,
Vaibhav

             reply	other threads:[~2015-06-23 10:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-23 10:55 Vaibhav Hiremath [this message]
2015-06-24 12:04 ` Use of pinctrl-single for external device over I2C Vaibhav Hiremath
2015-06-24 13:33   ` Tony Lindgren
2015-06-24 17:10     ` Vaibhav Hiremath
2015-06-25  4:38       ` Tony Lindgren
2015-06-25  5:46         ` Vaibhav Hiremath
2015-06-30  7:46           ` Vaibhav Hiremath
2015-06-30  7:58             ` Vaibhav Hiremath

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=55893B2C.1070800@linaro.org \
    --to=vaibhav.hiremath@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).