All of lore.kernel.org
 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: 15+ 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 12:04   ` Vaibhav Hiremath
2015-06-24 13:33   ` Tony Lindgren
2015-06-24 13:33     ` Tony Lindgren
2015-06-24 17:10     ` Vaibhav Hiremath
2015-06-24 17:10       ` Vaibhav Hiremath
2015-06-25  4:38       ` Tony Lindgren
2015-06-25  4:38         ` Tony Lindgren
2015-06-25  5:46         ` Vaibhav Hiremath
2015-06-25  5:46           ` Vaibhav Hiremath
2015-06-30  7:46           ` Vaibhav Hiremath
2015-06-30  7:46             ` Vaibhav Hiremath
2015-06-30  7:58             ` 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 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.