Re: [PATCH 1/1] gpio: add a driver for the Synopsys DesignWare APB GPIO block
From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Date: 2013-11-20 23:46:18
Also in:
linux-gpio, lkml
On 11/21/2013 12:40 AM, Rob Herring wrote:
On Wed, Nov 20, 2013 at 3:47 PM, delicious quinoa [off-list ref] wrote:quoted
On Thu, Nov 7, 2013 at 6:33 AM, Sebastian Hesselbarth [off-list ref] wrote:quoted
On 11/06/13 23:49, Alan Tull wrote:[snip]quoted
quoted
BTW, what if we get rid of port child nodes completely and rather use: gpio: gpio-controller@20000 { compatible = "snps,dw-apb-gpio"; reg = <0x20000 0x1000>; gpio-controller; #gpio-cells = <2>; interrupt-controller; interrupt-parent = <&vic1>; interrupts = <0 1 2 3 4 5 6 7>; snps,port-widths = <8 8 0 0>; }; The only draw-back compared to child-nodes is, that you'll reference gpios with <&gpio 13> instead of <&banka 5>. I have no strong opinion about it, so I leave the correct answer to either LinusW or DT maintainers.I left this as-is for now.I generally favor less nodes of things, but I think we discussed this when originally posted and keeping them seemed to be the right choice. What if you have sparsely populated banks like this: snps,port-widths = <4 4 0 0>; snps,port-widths = <8 0 8 0>; Also, you would need to define how the interrupts are done. You may have 1 per port or 1 per gpio line or a mixture if the h/w folks really hate you.
Actually, dw-apb-gpio only allows irqs on portA. Also, we only need to register all upstream irqs to have our handler called which looks for the right downstream irq to trigger. But as I said, I have nothing against sub-nodes - at least it makes referencing gpio lines of different ports easier. Sebastian