Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1287964 > unrolled thread
| Started by | Linus Walleij <linus.walleij@linaro.org> |
|---|---|
| First post | 2015-12-10 00:00 +0100 |
| Last post | 2015-12-10 18:40 +0100 |
| Articles | 4 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH 0/4] gpio: pxa: integrate with pincontrol Linus Walleij <linus.walleij@linaro.org> - 2015-12-10 00:00 +0100
Re: [PATCH 0/4] gpio: pxa: integrate with pincontrol Robert Jarzmik <robert.jarzmik@free.fr> - 2015-12-10 08:30 +0100
Re: [PATCH 0/4] gpio: pxa: integrate with pincontrol Linus Walleij <linus.walleij@linaro.org> - 2015-12-10 16:10 +0100
Re: [PATCH 0/4] gpio: pxa: integrate with pincontrol Robert Jarzmik <robert.jarzmik@free.fr> - 2015-12-10 18:40 +0100
| From | Linus Walleij <linus.walleij@linaro.org> |
|---|---|
| Date | 2015-12-10 00:00 +0100 |
| Subject | Re: [PATCH 0/4] gpio: pxa: integrate with pincontrol |
| Message-ID | <qDVSi-65j-15@gated-at.bofh.it> |
On Sat, Nov 28, 2015 at 10:37 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote: > Hi Linus, Alexandre and Haojian, > > This serie aims at several cleanups and improvements in the pxa gpio driver, to I have concerns about this series. I am worried that joining the banks into one gpio_chip makes it impossible for you GPIOLIB_IRQCHIP. Usually that is possible and preferrable when using a chained handler if e.g. one bank has one IRQ line. But overall that depends on how the IRQs map on this hardware. Can you describe how the GPIO IRQs work on the PXA27x? Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Robert Jarzmik <robert.jarzmik@free.fr> |
|---|---|
| Date | 2015-12-10 08:30 +0100 |
| Message-ID | <qE3PQ-2Xo-19@gated-at.bofh.it> |
| In reply to | #1287964 |
Linus Walleij <linus.walleij@linaro.org> writes:
> On Sat, Nov 28, 2015 at 10:37 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>
>> Hi Linus, Alexandre and Haojian,
>>
>> This serie aims at several cleanups and improvements in the pxa gpio driver, to
>
> I have concerns about this series.
>
> I am worried that joining the banks into one gpio_chip makes it
> impossible for you GPIOLIB_IRQCHIP. Usually that is possible and
> preferrable when using a chained handler if e.g. one bank has
> one IRQ line.
>
> But overall that depends on how the IRQs map on this hardware.
> Can you describe how the GPIO IRQs work on the PXA27x?
Of course.
For PXA27x, there are 3 interrupts directly connected to the CPU of the SoC,
ie. the primary irq controller :
- one is only triggered if GPIO0 has a rising/falling edge
- one is only triggered if GPIO1 has a rising/falling edge
- the last is triggered if any GPIOn has a rising/falling edge (n >= 2)
The condition to program the rising/falling edge which implies the interrupt to
be asserted is in a GPIO block register, GFER and GRER (1 bit per GPIO).
The fact that the last interrupt (let's call it gpiomux_irq) is triggered by
GPIOs from _all_ the banks makes me believe it's a single IP block, ie. a single
chip.
Now if you have concerns with this, then maybe you can advise another approach,
I'm pretty open. The final goal will be for me :
- gpio and pinctrl have to cooperate
- today, with the current state, it's impossible to map pins 0..127 to gpios
0..127, at least in a device-tree .dts file
- the GPDR (gpio direction register) shared access bothers me a bit
Cheers.
--
Robert
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Linus Walleij <linus.walleij@linaro.org> |
|---|---|
| Date | 2015-12-10 16:10 +0100 |
| Message-ID | <qEb11-7RF-29@gated-at.bofh.it> |
| In reply to | #1288256 |
On Thu, Dec 10, 2015 at 8:28 AM, Robert Jarzmik <robert.jarzmik@free.fr> wrote: > Linus Walleij <linus.walleij@linaro.org> writes: > >> On Sat, Nov 28, 2015 at 10:37 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote: >> >>> Hi Linus, Alexandre and Haojian, >>> >>> This serie aims at several cleanups and improvements in the pxa gpio driver, to >> >> I have concerns about this series. >> >> I am worried that joining the banks into one gpio_chip makes it >> impossible for you GPIOLIB_IRQCHIP. Usually that is possible and >> preferrable when using a chained handler if e.g. one bank has >> one IRQ line. >> >> But overall that depends on how the IRQs map on this hardware. >> Can you describe how the GPIO IRQs work on the PXA27x? > Of course. > > For PXA27x, there are 3 interrupts directly connected to the CPU of the SoC, > ie. the primary irq controller : > - one is only triggered if GPIO0 has a rising/falling edge > - one is only triggered if GPIO1 has a rising/falling edge > - the last is triggered if any GPIOn has a rising/falling edge (n >= 2) > > The condition to program the rising/falling edge which implies the interrupt to > be asserted is in a GPIO block register, GFER and GRER (1 bit per GPIO). > > The fact that the last interrupt (let's call it gpiomux_irq) is triggered by > GPIOs from _all_ the banks makes me believe it's a single IP block, ie. a single > chip. OK you're probably right. So GPIO0 and 1 are special cases and the rest a muxed GPIO case. That's sufficiently odd to warrant its own irqdomain and not use GPIOLIB_IRQCHIP. I guess I will go ahead and merge this, simply. > Now if you have concerns with this, then maybe you can advise another approach, > I'm pretty open. The final goal will be for me : > - gpio and pinctrl have to cooperate > - today, with the current state, it's impossible to map pins 0..127 to gpios > 0..127, at least in a device-tree .dts file OK sounds good. > - the GPDR (gpio direction register) shared access bothers me a bit How is it shared and between what users? Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Robert Jarzmik <robert.jarzmik@free.fr> |
|---|---|
| Date | 2015-12-10 18:40 +0100 |
| Message-ID | <qEdmc-OR-59@gated-at.bofh.it> |
| In reply to | #1288563 |
Linus Walleij <linus.walleij@linaro.org> writes: >> - the GPDR (gpio direction register) shared access bothers me a bit > > How is it shared and between what users? It's shared between the pin controller and the gpio controller. The odd thing with the pxa architecture is that the GPDR bit selects between 2 different alternate functions, even when the pin is not a GPIO. Strange design, isn't it ? As a consequence, both the gpio driver and pinctrl have to modify it, for different purposes : - pinctrl will modify it to select a specific alternate function - gpio driver will modify it when the pin is a GPIO, to modify its direction. Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web