All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomasz Figa <tomasz.figa@gmail.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	kgene.kim@samsung.com, kyungmin.park@samsung.com,
	linux-samsung-soc@vger.kernel.org,
	devicetree-discuss@lists.ozlabs.org,
	linux-arm-kernel@lists.infradead.org, m.szyprowski@samsung.com
Subject: Re: [PATCH 01/16] ARM: dts: exynos4210: Replace legacy GPIO bank nodes with pinctrl bank nodes
Date: Wed, 10 Oct 2012 20:26:25 +0200	[thread overview]
Message-ID: <1760725.iUz22fJjbN@flatron> (raw)
In-Reply-To: <20121010181253.GQ12552@atomide.com>

Dnia środa, 10 października 2012 11:12:53 Tony Lindgren pisze:
> * Stephen Warren <swarren@wwwdotorg.org> [121010 09:36]:
> > On 10/10/2012 01:26 AM, Linus Walleij wrote:
> > > On Mon, Oct 8, 2012 at 10:39 AM, Tomasz Figa <t.figa@samsung.com> 
wrote:
> > >> Seuqential patches from this series introduce SoC-specific data
> > >> parsing
> > >> from device tree.
> > >> 
> > >> This patch removes legacy GPIO bank nodes from exynos4210.dtsi and
> > >> replaces them with nodes and properties required for these patches.
> > > 
> > > So to be clear:
> > >> +       pinctrl-bank-types {
> > >> +               bank_off: bank-off {
> > >> +                       samsung,reg-names = "func", "dat", "pud",
> > >> +                                               "drv", "conpdn",
> > >> "pudpdn"; +                       samsung,reg-params = <0x00 4>,
> > >> <0x04 1>, <0x08 2>, +                                              
> > >> <0x0C 2>, <0x10 2>, <0x14 2>; +               };
> > > 
> > > This is starting to look like a firmware language, I have mixed
> > > feelings about this. Shall this be read:
> > > 
> > > "Poke 4 into 0x00, poke 1 into 0x04, poke 2 into 0x08" etc?
> > > 
> > > We really need to discuss this, Grant has already NACK:ed
> > > such approaches once.
> > 
> > Well, I don't think he NACK'd Tony Lindgren's generic pinctrl driver,
> > which is doing this exact same thing. I did raise the same point about
> > Tony's driver when he posted it, but nobody seemed inclined to NACK it
> > based on that at the time, IIRC...
> 
> To summarize, using reg value pairs in DT makes sense if the amount
> of data is huge. Otherwise we'll be describing indidual hardware bits
> as properties in DT, or have to have huge amounts of static data in
> the kernel.
> 
> Where it does not make sense is if there's a sequence of reads
> and writes with test loops in between.. But that's does not look
> to be the case here.
> 
> The reg value pairs will be readable when the DT preprocessing is
> available, and that allows the values to be orred together while
> DT properties don't. The alternative is to describe hardware register
> bits as DT properties, which is very bloated.
> 
> But considering all this.. Are the samsung,reg-names really needed
> by the kernel?

They are used to specify which registers are defined in reg-params property 
and in which order. Most of the registers are not mandatory and this is 
needed to be able to specify only those that are present. At least I 
couldn't think of a better solution for this. Do you have some suggestions?
 
Best regards,
Tomasz Figa

WARNING: multiple messages have this Message-ID (diff)
From: tomasz.figa@gmail.com (Tomasz Figa)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/16] ARM: dts: exynos4210: Replace legacy GPIO bank nodes with pinctrl bank nodes
Date: Wed, 10 Oct 2012 20:26:25 +0200	[thread overview]
Message-ID: <1760725.iUz22fJjbN@flatron> (raw)
In-Reply-To: <20121010181253.GQ12552@atomide.com>

Dnia ?roda, 10 pa?dziernika 2012 11:12:53 Tony Lindgren pisze:
> * Stephen Warren <swarren@wwwdotorg.org> [121010 09:36]:
> > On 10/10/2012 01:26 AM, Linus Walleij wrote:
> > > On Mon, Oct 8, 2012 at 10:39 AM, Tomasz Figa <t.figa@samsung.com> 
wrote:
> > >> Seuqential patches from this series introduce SoC-specific data
> > >> parsing
> > >> from device tree.
> > >> 
> > >> This patch removes legacy GPIO bank nodes from exynos4210.dtsi and
> > >> replaces them with nodes and properties required for these patches.
> > > 
> > > So to be clear:
> > >> +       pinctrl-bank-types {
> > >> +               bank_off: bank-off {
> > >> +                       samsung,reg-names = "func", "dat", "pud",
> > >> +                                               "drv", "conpdn",
> > >> "pudpdn"; +                       samsung,reg-params = <0x00 4>,
> > >> <0x04 1>, <0x08 2>, +                                              
> > >> <0x0C 2>, <0x10 2>, <0x14 2>; +               };
> > > 
> > > This is starting to look like a firmware language, I have mixed
> > > feelings about this. Shall this be read:
> > > 
> > > "Poke 4 into 0x00, poke 1 into 0x04, poke 2 into 0x08" etc?
> > > 
> > > We really need to discuss this, Grant has already NACK:ed
> > > such approaches once.
> > 
> > Well, I don't think he NACK'd Tony Lindgren's generic pinctrl driver,
> > which is doing this exact same thing. I did raise the same point about
> > Tony's driver when he posted it, but nobody seemed inclined to NACK it
> > based on that at the time, IIRC...
> 
> To summarize, using reg value pairs in DT makes sense if the amount
> of data is huge. Otherwise we'll be describing indidual hardware bits
> as properties in DT, or have to have huge amounts of static data in
> the kernel.
> 
> Where it does not make sense is if there's a sequence of reads
> and writes with test loops in between.. But that's does not look
> to be the case here.
> 
> The reg value pairs will be readable when the DT preprocessing is
> available, and that allows the values to be orred together while
> DT properties don't. The alternative is to describe hardware register
> bits as DT properties, which is very bloated.
> 
> But considering all this.. Are the samsung,reg-names really needed
> by the kernel?

They are used to specify which registers are defined in reg-params property 
and in which order. Most of the registers are not mandatory and this is 
needed to be able to specify only those that are present. At least I 
couldn't think of a better solution for this. Do you have some suggestions?
 
Best regards,
Tomasz Figa

  parent reply	other threads:[~2012-10-10 18:26 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-08  8:39 [PATCH 00/16] pinctrl: samsung: Usability and extensibiltiy improvements Tomasz Figa
2012-10-08  8:39 ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 01/16] ARM: dts: exynos4210: Replace legacy GPIO bank nodes with pinctrl bank nodes Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-10  7:26   ` Linus Walleij
2012-10-10  7:26     ` Linus Walleij
2012-10-10  8:20     ` Tomasz Figa
2012-10-10  8:20       ` Tomasz Figa
2012-10-10 16:27     ` Stephen Warren
2012-10-10 16:27       ` Stephen Warren
2012-10-10 18:12       ` Tony Lindgren
2012-10-10 18:12         ` Tony Lindgren
2012-10-10 18:22         ` Tomasz Figa
2012-10-10 18:22           ` Tomasz Figa
2012-10-10 18:26         ` Tomasz Figa [this message]
2012-10-10 18:26           ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 02/16] pinctrl: exynos: Parse wakeup-eint parameters from DT Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-10  7:18   ` Linus Walleij
2012-10-10  7:18     ` Linus Walleij
2012-10-10  8:23     ` Tomasz Figa
2012-10-10  8:23       ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 03/16] pinctrl: samsung: Detect and handle unsupported configuration types Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-10  7:37   ` Linus Walleij
2012-10-10  7:37     ` Linus Walleij
2012-10-10  8:25     ` Tomasz Figa
2012-10-10  8:25       ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 04/16] pinctrl: samsung: Parse pin banks from DT Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-10  7:34   ` Linus Walleij
2012-10-10  7:34     ` Linus Walleij
2012-10-10  8:39     ` Tomasz Figa
2012-10-10  8:39       ` Tomasz Figa
2012-10-11 13:52       ` Linus Walleij
2012-10-11 13:52         ` Linus Walleij
2012-10-08  8:39 ` [PATCH 05/16] pinctrl: exynos: Remove static SoC-specific data Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 06/16] pinctrl: samsung: Parse bank-specific eint offset from DT Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 07/16] pinctrl: samsung: Hold OF node of pin bank in bank struct Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 08/16] pinctrl: samsung: Hold pointer to driver data " Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 09/16] pinctrl: exynos: Use one IRQ domain per pin bank Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-10  7:40   ` Linus Walleij
2012-10-10  7:40     ` Linus Walleij
2012-10-10  8:45     ` Tomasz Figa
2012-10-10  8:45       ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 10/16] pinctrl: samsung: Do not pass gpio_chip to pin_to_reg_bank Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-10  7:42   ` Linus Walleij
2012-10-10  7:42     ` Linus Walleij
2012-10-10  8:51     ` Tomasz Figa
2012-10-10  8:51       ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 11/16] pinctrl: samsung: Use one GPIO chip per pin bank Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-10  7:43   ` Linus Walleij
2012-10-10  7:43     ` Linus Walleij
2012-10-10  8:49     ` Tomasz Figa
2012-10-10  8:49       ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 12/16] pinctrl: samsung: Use per-bank IRQ domain for wake-up interrupts Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 13/16] pinctrl: exynos: Set pin function to EINT in irq_set_type of wake-up EINT Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 14/16] pinctrl: samsung: Parse offsets of particular registers from DT Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 15/16] pinctrl: samsung: Add GPIO to IRQ translation Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-08  8:39 ` [PATCH 16/16] Documentation: Update samsung-pinctrl device tree bindings documentation Tomasz Figa
2012-10-08  8:39   ` Tomasz Figa
2012-10-10  7:46 ` [PATCH 00/16] pinctrl: samsung: Usability and extensibiltiy improvements Linus Walleij
2012-10-10  7:46   ` Linus Walleij
     [not found]   ` <CACRpkdbUmM2=vhjhCq_qN2v=8RUDeWV4b8A8oXXPE4e8Z9C7zg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-10  9:04     ` Tomasz Figa
2012-10-10  9:04       ` Tomasz Figa
2012-10-10 15:22   ` Tomasz Figa
2012-10-10 15:22     ` Tomasz Figa
2012-10-11 13:48     ` Linus Walleij
2012-10-11 13:48       ` 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=1760725.iUz22fJjbN@flatron \
    --to=tomasz.figa@gmail.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=kgene.kim@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=swarren@wwwdotorg.org \
    --cc=tony@atomide.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.