From: Stephen Warren <swarren@nvidia.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 04/17] fdt: Add basic support for decoding GPIO definitions
Date: Mon, 05 Dec 2011 14:46:16 -0700 [thread overview]
Message-ID: <4EDD3BA8.8040808@nvidia.com> (raw)
In-Reply-To: <1322878300-5551-5-git-send-email-sjg@chromium.org>
On 12/02/2011 07:11 PM, Simon Glass wrote:
> This adds some support into fdtdec for reading GPIO definitions from
> the fdt. We permit up to FDT_GPIO_MAX GPIOs in the system. Each GPIO
> is of the form:
>
> gpio-function-name = <phandle gpio_num flags>;
>
> where:
>
> phandle is a pointer to the GPIO node
> gpio_num is the number of the GPIO (0 to 223)
> flags is some flags, proposed as follows:
>
> bit meaning
> 0 0=input, 1=output
> 1 for output only: inital value of output
> 2 0=polarity normal, 1=active low (inverted)
The meaning of the flags (and even whether there are any flags any if so
how many cells there are to contain them) is defined by the GPIO
controller's binding. It's not something that can be interpreted in
isolation by a generic DT parsing function. See for example #gpio-cells
in tegra20.dtsi's gpio node and kernel file
Documentation/devicetree/bindings/gpio/gpio_nvidia.txt.
This implies that a lot of the code isn't correct, but I haven't
explicitly mentioned this everywhere for brevity.
> An example is:
>
> enable-propounder = <&gpio 43 1>;
I /think/ convention is to name such properties foo-gpios rather than
just foo. Still, this is only a comment on the example and not the code,
since the complete property name is passed into the new functions by the
caller.
> +/* For now we allow 224 GPIOs. We can extend this later if required */
> +enum {
> + FDT_GPIO_NONE = 255, /* an invalid GPIO used to end our list */
Can't you use 0 for that? (the kernel currently uses -1, but it seems
there's agreement that was a mistake). If you use 255, the number will
have to keep getting bumped as more complex systems become supported. If
not 0, perhaps U32_MAX or whatever the relevant ${type}_MAX is?
--
nvpublic
next prev parent reply other threads:[~2011-12-05 21:46 UTC|newest]
Thread overview: 55+ 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 ` [U-Boot] [PATCH v2 01/17] fdt: Tidy up a few fdtdec problems Simon Glass
2011-12-05 21:27 ` Stephen Warren
2011-12-05 21:40 ` Simon Glass
2011-12-05 22:07 ` Stephen Warren
2011-12-05 22:11 ` Simon Glass
2011-12-05 22:18 ` Scott Wood
2011-12-05 22:25 ` Stephen Warren
2011-12-05 22:53 ` Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 02/17] fdt: Add functions to access phandles, arrays and bools Simon Glass
2011-12-05 21:59 ` Stephen Warren
2011-12-05 22:07 ` Simon Glass
2011-12-05 22:36 ` Stephen Warren
2011-12-05 23:56 ` 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 ` [U-Boot] [PATCH v2 04/17] fdt: Add basic support for decoding GPIO definitions Simon Glass
2011-12-05 21:46 ` Stephen Warren [this message]
2011-12-05 21:56 ` Simon Glass
2011-12-05 22:22 ` Stephen Warren
2011-12-05 22:52 ` Simon Glass
2011-12-05 23:03 ` Stephen Warren
2011-12-05 23:29 ` Simon Glass
2011-12-06 3:55 ` Mike Frysinger
2011-12-07 1:21 ` Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 05/17] arm: fdt: Ensure that an embedded fdt is word-aligned Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 06/17] arm: fdt: Add skeleton device tree file from kernel Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 07/17] tegra: fdt: Add Tegra2x " Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 08/17] tegra: fdt: Add device tree file for Tegra2 Seaboard " Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 09/17] tegra: usb: fdt: Add additional device tree definitions for USB ports Simon Glass
2011-12-05 23:25 ` Stephen Warren
2011-12-06 0:55 ` Simon Glass
2011-12-06 20:28 ` Stephen Warren
2011-12-06 21:09 ` Simon Glass
2011-12-07 23:36 ` Stephen Warren
2011-12-08 21:10 ` Simon Glass
2011-12-12 18:13 ` Stephen Warren
2011-12-12 18:53 ` Simon Glass
2011-12-03 2:11 ` [U-Boot] [PATCH v2 10/17] tegra: usb: fdt: Add USB definitions for Tegra2 Seaboard Simon Glass
2011-12-05 23:26 ` Stephen Warren
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
2011-12-03 2:11 ` [U-Boot] [PATCH v2 17/17] tegra: fdt: Enable FDT support for 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=4EDD3BA8.8040808@nvidia.com \
--to=swarren@nvidia.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox