From: Mike Frysinger <vapier@gentoo.org>
To: u-boot@lists.denx.de
Cc: Devicetree Discuss <devicetree-discuss@lists.ozlabs.org>,
Tom Warren <TWarren@nvidia.com>
Subject: Re: [PATCH v2 04/17] fdt: Add basic support for decoding GPIO definitions
Date: Mon, 5 Dec 2011 22:55:59 -0500 [thread overview]
Message-ID: <201112052256.00939.vapier@gentoo.org> (raw)
In-Reply-To: <CAPnjgZ03+tfMhkqo4=uarcAf1E8hTfvSF_Y0=V70tuqP866QQQ@mail.gmail.com>
[-- Attachment #1.1: Type: Text/Plain, Size: 1788 bytes --]
On Monday 05 December 2011 17:52:01 Simon Glass wrote:
> On Mon, Dec 5, 2011 at 2:22 PM, Stephen Warren wrote:
> > On 12/05/2011 02:56 PM, Simon Glass wrote:
> > * A system-wide GPIO ID, in which case the numbering is "virtual" (e.g.
> > a concatenation of the GPIOs on all the present controllers), and you
> > can choose to start the first controller's GPIOs at 0, 1, 1000 etc.,
> > thus leaving -1, 0, -n..999 etc. as invalid GPIOs. This is what the
> > Linux kernel's gpiolib uses (and some say this global numbering scheme
> > was a mistake).
>
> Well maybe it was a mistake, but it seems painful for the user to
> translate GPIO numbers in this way. U-Boot's GPIO command takes a GPIO
> number, which starts at zero.
u-boot should simply follow what linux is doing as it keeps things a hell of a
lot simpler for us: the code is done, people moving between the worlds don't
get surprised and screw something up, and we don't accidentally forget "oh, in
u-boot we do XXX instead of YYY" and screw things up ourselves.
> >> I currently use the max value available to the u8. We can change it at
> >> will when we update the u8 type to u16 which is why I made it a
> >> constant.
> >
> > include/asm-generic/gpio.h seems to use an int to represent a GPIO. I'd
> > suggest these APIs do the same, rather than use a u8.
>
> Do you mean the fdt_gpio_state structure? I have not used u8 for any
> function calls and would not.
the asm-generic/gpio.h using "int" as a gpio is wrong. it should be
"unsigned". there's a patch somewhere to fix this.
> This adds 3 bytes for every entry. What is the benefit? People get
> upset when we waste memory!
some systems have more than 256 GPIOs. it's actually not that hard to hit the
limit.
-mike
[-- Attachment #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 134 bytes --]
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
WARNING: multiple messages have this Message-ID (diff)
From: Mike Frysinger <vapier@gentoo.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 04/17] fdt: Add basic support for decoding GPIO definitions
Date: Mon, 5 Dec 2011 22:55:59 -0500 [thread overview]
Message-ID: <201112052256.00939.vapier@gentoo.org> (raw)
In-Reply-To: <CAPnjgZ03+tfMhkqo4=uarcAf1E8hTfvSF_Y0=V70tuqP866QQQ@mail.gmail.com>
On Monday 05 December 2011 17:52:01 Simon Glass wrote:
> On Mon, Dec 5, 2011 at 2:22 PM, Stephen Warren wrote:
> > On 12/05/2011 02:56 PM, Simon Glass wrote:
> > * A system-wide GPIO ID, in which case the numbering is "virtual" (e.g.
> > a concatenation of the GPIOs on all the present controllers), and you
> > can choose to start the first controller's GPIOs at 0, 1, 1000 etc.,
> > thus leaving -1, 0, -n..999 etc. as invalid GPIOs. This is what the
> > Linux kernel's gpiolib uses (and some say this global numbering scheme
> > was a mistake).
>
> Well maybe it was a mistake, but it seems painful for the user to
> translate GPIO numbers in this way. U-Boot's GPIO command takes a GPIO
> number, which starts at zero.
u-boot should simply follow what linux is doing as it keeps things a hell of a
lot simpler for us: the code is done, people moving between the worlds don't
get surprised and screw something up, and we don't accidentally forget "oh, in
u-boot we do XXX instead of YYY" and screw things up ourselves.
> >> I currently use the max value available to the u8. We can change it at
> >> will when we update the u8 type to u16 which is why I made it a
> >> constant.
> >
> > include/asm-generic/gpio.h seems to use an int to represent a GPIO. I'd
> > suggest these APIs do the same, rather than use a u8.
>
> Do you mean the fdt_gpio_state structure? I have not used u8 for any
> function calls and would not.
the asm-generic/gpio.h using "int" as a gpio is wrong. it should be
"unsigned". there's a patch somewhere to fix this.
> This adds 3 bytes for every entry. What is the benefit? People get
> upset when we waste memory!
some systems have more than 256 GPIOs. it's actually not that hard to hit the
limit.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20111205/fa62d320/attachment.pgp>
next prev parent reply other threads:[~2011-12-06 3:55 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-03 2:11 [U-Boot] [PATCH v2 0/17] tegra: Add fdt definitions and USB driver Simon Glass
2011-12-03 2:11 ` [PATCH v2 01/17] fdt: Tidy up a few fdtdec problems Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
2011-12-05 21:27 ` Stephen Warren
2011-12-05 21:27 ` [U-Boot] " Stephen Warren
2011-12-05 21:40 ` Simon Glass
2011-12-05 21:40 ` [U-Boot] " Simon Glass
[not found] ` <CAPnjgZ0h39vB2H4MuCwVqb2Tgcr4==yN8Pj6a3s9dciyXPBu1A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-05 22:07 ` Stephen Warren
2011-12-05 22:07 ` [U-Boot] " Stephen Warren
[not found] ` <4EDD4091.1030708-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-12-05 22:11 ` Simon Glass
2011-12-05 22:11 ` [U-Boot] " Simon Glass
2011-12-05 22:18 ` Scott Wood
2011-12-05 22:18 ` [U-Boot] " Scott Wood
2011-12-05 22:25 ` Stephen Warren
2011-12-05 22:25 ` [U-Boot] " Stephen Warren
2011-12-05 22:53 ` Simon Glass
2011-12-05 22:53 ` [U-Boot] " Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 03/17] Add gpio_request() to asm-generic header Simon Glass
2011-12-03 2:11 ` [PATCH v2 06/17] arm: fdt: Add skeleton device tree file from kernel Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
[not found] ` <1322878300-5551-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2011-12-03 2:11 ` [PATCH v2 02/17] fdt: Add functions to access phandles, arrays and bools Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
[not found] ` <1322878300-5551-3-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2011-12-05 21:59 ` Stephen Warren
2011-12-05 21:59 ` [U-Boot] " Stephen Warren
[not found] ` <4EDD3EDE.4000609-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-12-05 22:07 ` Simon Glass
2011-12-05 22:07 ` [U-Boot] " Simon Glass
[not found] ` <CAPnjgZ30Bmxp4eGCgYss9GHt=SN5X5-sSHrPJpZFjVjprpa_Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-05 22:36 ` Stephen Warren
2011-12-05 22:36 ` [U-Boot] " Stephen Warren
2011-12-05 23:56 ` Simon Glass
2011-12-05 23:56 ` [U-Boot] " Simon Glass
2011-12-03 2:11 ` [PATCH v2 04/17] fdt: Add basic support for decoding GPIO definitions Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
[not found] ` <1322878300-5551-5-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2011-12-05 21:46 ` Stephen Warren
2011-12-05 21:46 ` [U-Boot] " Stephen Warren
2011-12-05 21:56 ` Simon Glass
2011-12-05 21:56 ` [U-Boot] " Simon Glass
[not found] ` <CAPnjgZ3ARCTXVN2MKhfrdCCmmb21zbYdSq8AuQFPdoA=xFr7Mg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-05 22:22 ` Stephen Warren
2011-12-05 22:22 ` [U-Boot] " Stephen Warren
[not found] ` <4EDD440C.80002-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-12-05 22:52 ` Simon Glass
2011-12-05 22:52 ` [U-Boot] " Simon Glass
[not found] ` <CAPnjgZ03+tfMhkqo4=uarcAf1E8hTfvSF_Y0=V70tuqP866QQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-05 23:03 ` Stephen Warren
2011-12-05 23:03 ` [U-Boot] " Stephen Warren
[not found] ` <4EDD4DA7.6070902-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-12-05 23:29 ` Simon Glass
2011-12-05 23:29 ` [U-Boot] " Simon Glass
2011-12-06 3:55 ` Mike Frysinger [this message]
2011-12-06 3:55 ` Mike Frysinger
2011-12-07 1:21 ` Simon Glass
2011-12-07 1:21 ` [U-Boot] " Simon Glass
2011-12-03 2:11 ` [PATCH v2 05/17] arm: fdt: Ensure that an embedded fdt is word-aligned Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
2011-12-03 2:11 ` [PATCH v2 07/17] tegra: fdt: Add Tegra2x device tree file from kernel Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
2011-12-03 2:11 ` [PATCH v2 08/17] tegra: fdt: Add device tree file for Tegra2 Seaboard " Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
2011-12-03 2:11 ` [PATCH v2 09/17] tegra: usb: fdt: Add additional device tree definitions for USB ports Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
[not found] ` <1322878300-5551-10-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2011-12-05 23:25 ` Stephen Warren
2011-12-05 23:25 ` [U-Boot] " Stephen Warren
2011-12-06 0:55 ` Simon Glass
2011-12-06 0:55 ` [U-Boot] " Simon Glass
[not found] ` <CAPnjgZ1J_cOS_E+ZiDoZUh79V7LUFzVkx-0nhbPTDwuGCGvDnQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-06 20:28 ` Stephen Warren
2011-12-06 20:28 ` [U-Boot] " Stephen Warren
2011-12-06 21:09 ` Simon Glass
2011-12-06 21:09 ` [U-Boot] " Simon Glass
[not found] ` <CAPnjgZ035Cen11ObFXjKUCqypvVKzkewhfY2F=yGH8=RWxVuSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-07 23:36 ` Stephen Warren
2011-12-07 23:36 ` [U-Boot] " Stephen Warren
[not found] ` <4EDFF898.1070708-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-12-08 21:10 ` Simon Glass
2011-12-08 21:10 ` [U-Boot] " Simon Glass
[not found] ` <CAPnjgZ1adfU652Z2ob30GTWZiCnah4WsJNfVrroWvtM5LXW93Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-12-12 18:13 ` Stephen Warren
2011-12-12 18:13 ` [U-Boot] " Stephen Warren
2011-12-12 18:53 ` Simon Glass
2011-12-12 18:53 ` [U-Boot] " Simon Glass
2011-12-03 2:11 ` [PATCH v2 10/17] tegra: usb: fdt: Add USB definitions for Tegra2 Seaboard Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
[not found] ` <1322878300-5551-11-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2011-12-05 23:26 ` Stephen Warren
2011-12-05 23:26 ` [U-Boot] " Stephen Warren
2011-12-03 2:11 ` [PATCH v2 17/17] tegra: fdt: Enable FDT support for Seaboard Simon Glass
2011-12-03 2:11 ` [U-Boot] " Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 11/17] usb: Add support for data alignment Simon Glass
2011-12-04 11:13 ` Remy Bohmer
2011-12-06 2:38 ` Simon Glass
2011-12-10 16:04 ` Remy Bohmer
2011-12-10 18:58 ` Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 12/17] usb: Add support for txfifo threshold Simon Glass
2011-12-05 23:32 ` Stephen Warren
2011-12-06 2:03 ` Simon Glass
2011-12-06 18:58 ` Stephen Warren
2011-12-06 19:24 ` Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 13/17] tegra: usb: Add support for Tegra USB peripheral Simon Glass
2011-12-04 11:12 ` Remy Bohmer
2011-12-03 2:11 ` [U-Boot] [PATCH v2 14/17] tegra: usb: Add USB support to nvidia boards Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 15/17] tegra: usb: Add common USB defines for tegra2 boards Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 16/17] tegra: usb: Enable USB on Seaboard Simon Glass
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=201112052256.00939.vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=TWarren@nvidia.com \
--cc=devicetree-discuss@lists.ozlabs.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.