All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/2] gpio: Add GPIO driver framework for Marvell SoCs
Date: Thu, 04 Aug 2011 10:51:48 +0200	[thread overview]
Message-ID: <4E3A5DA4.8030609@aribaud.net> (raw)
In-Reply-To: <20110804000417.GL15950@kw.sim.vm.gnt>

Hi Simon,

On 04/08/2011 02:04, Simon Guinot wrote:
> 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) ?

Two distinct gipo drivers for the two marvell variants?

Or a single driver with a single API but implemented differently 
according to the presence / absence of a variant flag, e.g. 
CONFIG_MVGIPO_HAS_SET_AND_CLR_REGS?

> Regards,
>
> Simon

Amicalement,
-- 
Albert.

  reply	other threads:[~2011-08-04  8:51 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
2011-08-04  8:51     ` Albert ARIBAUD [this message]
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=4E3A5DA4.8030609@aribaud.net \
    --to=albert.u.boot@aribaud.net \
    --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.