[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SG2PR06MB1165FF6C0F4DBD8987BC396A8AE20@SG2PR06MB1165.apcprd06.prod.outlook.com>
Date: Fri, 12 May 2017 12:13:41 +0000
From: Chris Brandt <Chris.Brandt@...esas.com>
To: Geert Uytterhoeven <geert@...ux-m68k.org>,
Linus Walleij <linus.walleij@...aro.org>
CC: jmondi <jacopo@...ndi.org>,
Andy Shevchenko <andy.shevchenko@...il.com>,
Jacopo Mondi <jacopo+renesas@...ndi.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Rob Herring <robh+dt@...nel.org>,
"Mark Rutland" <mark.rutland@....com>,
Russell King - ARM Linux <linux@...linux.org.uk>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
devicetree <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v5 01/10] pinctrl: generic: Add bi-directional and
output-enable
Hi Geert and Linus,
On Friday, May 12, 2017, Geert Uytterhoeven wrote:
> Jacopo, Chris: Would two bits per pin/function (none, input, output,
> bidir)
> be sufficient?
> That makes one u16 per pin. So roughtly 12 ports x 16 pins => 384 bytes.
> Plus code to handle it. After all not that bad...
OK...I give up!
If that's what it takes to get it, I'm fine.
NOTE, your math is a little off, the issue is that depending on the
function that you use, you might need to do extra settings, so you'd
have to have a lookup table for every pin & function.
Each pin can have 1 of 8 functions (which is good because a 'byte' has
8 bits).
So,
12 ports x 16 pins => 384 bytes (this table would just be for checking if bi-dir is needed)
12 ports x 16 pins => 384 bytes (this table would just be for checking if input is needed)
12 ports x 16 pins => 384 bytes (this table would just be for checking if input is needed)
------------
1,152 bytes
But then...there are package variations so you need another entire
table for those parts.
1,152 bytes x 2 = 2,304 bytes
However, if these tables are constants, they will reside in flash for the
XIP_KERNEL systems, so that's OK.
#What we should really do is just make a look-up table (tables) for the
'special' ones. But, we can have that discussion in a different thread.
One final note:
There is still a need for "input-enable" and "output-enable" for the timer
pins. Because, when you choose the pin to be connected to the MTU2 timer,
the pin can be used as either input-capture/output-compare/PWM and that's
the user's choice. So that's probably a valid usage of the generic pin
properties for configuration.
Sorry Jacopo, but we'll need another round of patches.
It sounds like for sure the bi-direction needs to get ripped back out.
Chris
Powered by blists - more mailing lists