[PATCH v2 0/9] irqchip: meson: add support for the gpio interrupt controller

Neil Armstrong narmstrong at baylibre.com
Thu Oct 20 03:08:58 PDT 2016


On 10/19/2016 05:21 PM, Jerome Brunet wrote:
> This patch series adds support for the GPIO interrupt controller found
> on Amlogic's meson SoC families.
> 
> Unlike what the name suggests, this controller is not part of the SoC GPIO
> subsystem. It's an indepedent controller which can watch almost all pad of
> the SoC and generate and interrupt from it. Some pins, which are not part
> of the public datasheet, don't seem to have this capability though.
> 
> Hardware wise, the controller is a 256 to 8 multiplexer. It can take up
> to 256 input pads and route them to any of 8 GIC's interrupts. There is
> also a filter block in the middle to select the appropriate edge or level.
> 
> The number of interrupt declared by the irqchip is lowered from 256 to the
> actual number of signal routed to the controller on each SoC family. As we
> have access to only 8 GIC’s interrupts, these are allocated when an
> interrupt is requested from the controller, on a first come, first served
> basis.
> 
> This series has been tested on Amlogic S905-P200 board with the front
> panel power button. Directly passing an IRQ or using gpio_to_irq both work
> with this driver.
> 
> This work is derived from the previous work of Carlo Caione [1].
> 
> Changes since RFC : [2]
>  * Remove interrupt property in device tree: the controller cannot generate
>    interrupts on its own and is merely routing the interrupt to the GIC,
>    therefore it should not use the interrupt property. This data is now
>    stored directly in the driver, same as the pinctrl data.
> 
>  * Improve compatibility checking of meson pinctrl on its interrupt parent
>    to activate gpio_to_irq callback
> 
>  * Drop IRQ_BOTH hack. Need more work to have an acceptable solution for
>    this
> 
> Changes since v1 : [3]
>  * Correct mistake in patch 4 when no compatible controller is found. Sorry
>    for the inconvenience.
> 
> [1] : http://lkml.kernel.org/r/1448987062-31225-1-git-send-email-carlo@caione.org
> [2] : http://lkml.kernel.org/r/1475593708-10526-1-git-send-email-jbrunet@baylibre.com
> [3] : http://lkml.kernel.org/r/1476871709-8359-1-git-send-email-jbrunet@baylibre.com
> 
> Jerome Brunet (9):
>   irqchip: meson: add support for gpio interrupt controller
>   dt-bindings: interrupt-controller: add DT binding for meson GPIO
>     interrupt controller
>   pinctrl: meson: update pinctrl data with gpio irq data
>   pinctrl: meson: allow gpio to request irq
>   dt-bindings: pinctrl: meson: update gpio dt-bindings
>   ARM64: meson: enable MESON_IRQ_GPIO in Kconfig
>   ARM: meson: enable MESON_IRQ_GPIO in Kconfig for meson8
>   ARM64: dts: amlogic: enable gpio interrupt controller on gxbb
>   ARM: dts: amlogic: enable gpio interrupt controller on meson8
> 
>  .../amlogic,meson-gpio-intc.txt                    |  31 ++
>  .../devicetree/bindings/pinctrl/meson,pinctrl.txt  |   4 +
>  arch/arm/boot/dts/meson8.dtsi                      |  11 +
>  arch/arm/boot/dts/meson8b.dtsi                     |  11 +
>  arch/arm/mach-meson/Kconfig                        |   2 +
>  arch/arm64/Kconfig.platforms                       |   1 +
>  arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |   9 +
>  drivers/irqchip/Kconfig                            |   9 +
>  drivers/irqchip/Makefile                           |   1 +
>  drivers/irqchip/irq-meson-gpio.c                   | 423 +++++++++++++++++++++
>  drivers/pinctrl/Kconfig                            |   2 +
>  drivers/pinctrl/meson/pinctrl-meson-gxbb.c         |  24 +-
>  drivers/pinctrl/meson/pinctrl-meson.c              |  77 +++-
>  drivers/pinctrl/meson/pinctrl-meson.h              |  17 +-
>  drivers/pinctrl/meson/pinctrl-meson8.c             |  22 +-
>  drivers/pinctrl/meson/pinctrl-meson8b.c            |  34 +-
>  16 files changed, 641 insertions(+), 37 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt
>  create mode 100644 drivers/irqchip/irq-meson-gpio.c
> 

With the resent patch 4 :
Reviewed-by: Neil Armstrong <narmstrong at baylibre.com>



More information about the linux-amlogic mailing list