On 05/02/2014 02:51 PM, Simon Glass wrote: > This is an implementation of GPIOs for Tegra that uses driver model. > It is written for comment and need work and testing before it is ready > to use. > > Specific points for discussion: > > 1. I can't find much in the way of GPIO device tree bindings, so ended up > just creating the GPIO devices
The binding is already defined in the Linux kernel at: Documentation/devicetree/bindings/gpio/gpio.txt Documentation/devicetree/bindings/gpio/nvidia,tegra20-gpio.txt An example is in: arch/arm/boot/dts/tegra20.dtsi > 3. Driver model understand the concept of a bank of GPIOs, but this is > equivalent to 'port' in Tegra. So it is somewhat confusing. Need to think > about this. There's no need at all to expose the banks separately. This is purely an implementation detail of the internal register layout of the HW, and not something that anyone outside the GPIO driver need concern itself with. Tegra simply has N GPIOs numbered 0..n-1. Admittedly the GPIOs also have textual names derived from the banked register layout, but this has no practical consequence, and need not be represented anywhere. I would imagine this is true of any GPIO controller. Why does the driver model know/care about GPIO banks? > diff --git a/arch/arm/dts/tegra20.dtsi b/arch/arm/dts/tegra20.dtsi > index 3805750..10065da 100644 > --- a/arch/arm/dts/tegra20.dtsi > +++ b/arch/arm/dts/tegra20.dtsi > @@ -143,6 +143,148 @@ > interrupts = < 64 65 66 67 87 119 121 >; > #gpio-cells = <2>; > gpio-controller; > + #address-cells = <1>; > + #size-cells = <0>; > + port@0 { > + reg = <0>; > + compatible = "nvidia,tegra20-gpio-bank"; > + gpio-bank-name = "a"; > + }; We definitely shouldn't add these port child nodes. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot