From: Simon Guinot <simon@sequanux.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/2] gpio: Add GPIO driver framework for Marvell SoCs
Date: Thu, 4 Aug 2011 00:04:17 +0000 [thread overview]
Message-ID: <20110804000417.GL15950@kw.sim.vm.gnt> (raw)
In-Reply-To: <160480648.39359.1312346400264.JavaMail.root@ahm.einfochips.com>
Hi Ajay,
On Wed, Aug 03, 2011 at 10:10:00AM +0530, Ajay Bhargav wrote:
> ----- "Simon Guinot" <simon@sequanux.org> wrote:
>
> > AFAIK, Orion and Kirkwood SoCs don't provide bitwise set/clear for
> > GPIO output/direction registers. Instead, a register must be read
> > first to leave other bits unchanged (see __set_direction in
> > kw_gpio.c).
> >
> > Is it possible to handle Armada SoCs GPIOs in a same way ? maybe
> > using
> > the pin registers (gpxx in the Armada struct gpio_reg array) ?
> >
> > If not, this code is not Marvell generic but rather specific for
> > Armada
> > SoCs and then maybe armada_gpio is a better name...
> >
> > Regards,
> >
> > Simon
>
> Hi Simon,
>
> Yes its possible to implement code that way, Armada SoC does have GPIO
> registers for set/clear. what about register naming?? I think they are
> different for Kirkwood and Orion.
I think that the register names could be OK. But here is a most
important problem: On Orion/Kirkwood SoCs, a single GPIO output register
is available (no set/clear variants as for Armada). I missed that point
at my first look. It is quite problematic because only two registers are
shared between the different Marvell SoCs: level and direction. In fact,
this registers are probably relevant on every machines providing GPIOs...
Maybe that having two common registers is not enough to add
Orion/Kirkwood support to the mvgpio driver ?
>
> One more thing which can be done to make this code generic is to have
> some macros which can be defined by individual arch for specific registers
> which are going to be in use e.g.
>
> #define GPIO_PIN_LEVEL_REG
> #define GPIO_DIR_REG
> #define GPIO_PIN_SET_REG
> #define GPIO_PIN_CLR_REG
Yes, but how to handle both a single GPI0 output register and some GPIO
{set,clear} output registers (in a nice way) ?
Regards,
Simon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110804/4672a522/attachment.pgp
next prev parent reply other threads:[~2011-08-04 0:04 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1990439524.39318.1312346163802.JavaMail.root@ahm.einfochips.com>
2011-08-03 4:40 ` [U-Boot] [PATCH v2 1/2] gpio: Add GPIO driver framework for Marvell SoCs Ajay Bhargav
2011-08-04 0:04 ` Simon Guinot [this message]
2011-08-04 8:51 ` Albert ARIBAUD
2011-08-04 9:18 ` Lei Wen
[not found] <2088605993.55298.1312607122087.JavaMail.root@ahm.einfochips.com>
2011-08-06 5:10 ` Ajay Bhargav
2011-08-07 2:16 ` Prafulla Wadaskar
[not found] <1874826476.47235.1312454749903.JavaMail.root@ahm.einfochips.com>
2011-08-04 10:51 ` Ajay Bhargav
2011-08-04 11:25 ` Prafulla Wadaskar
2011-08-04 12:51 ` Lei Wen
2011-07-22 7:16 Ajay Bhargav
2011-08-02 14:10 ` Simon Guinot
2011-08-03 10:18 ` Prafulla Wadaskar
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=20110804000417.GL15950@kw.sim.vm.gnt \
--to=simon@sequanux.org \
--cc=u-boot@lists.denx.de \
/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.