Commit 65441ba9 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

Merge tag 'irqchip-4.18' of...

Merge tag 'irqchip-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core

Pull irqchip updates for 4.18 from Marc Zyngier:

 - Support for Meson-AXG GPIO irqchip

 - Large stm32 irqchip rework (suspend/resume, hierarchical domains)
parents 48bda43e 6a88c221
Loading
Loading
Loading
Loading
+6 −5
Original line number Original line Diff line number Diff line
@@ -9,11 +9,12 @@ number of interrupt exposed depends on the SoC.


Required properties:
Required properties:


- compatible : must have "amlogic,meson8-gpio-intc” and either
- compatible : must have "amlogic,meson8-gpio-intc" and either
   “amlogic,meson8-gpio-intc” for meson8 SoCs (S802) or
    "amlogic,meson8-gpio-intc" for meson8 SoCs (S802) or
   “amlogic,meson8b-gpio-intc” for meson8b SoCs (S805) or
    "amlogic,meson8b-gpio-intc" for meson8b SoCs (S805) or
   “amlogic,meson-gxbb-gpio-intc” for GXBB SoCs (S905) or
    "amlogic,meson-gxbb-gpio-intc" for GXBB SoCs (S905) or
   “amlogic,meson-gxl-gpio-intc” for GXL SoCs (S905X, S912)
    "amlogic,meson-gxl-gpio-intc" for GXL SoCs (S905X, S912)
    "amlogic,meson-axg-gpio-intc" for AXG SoCs (A113D, A113X)
- interrupt-parent : a phandle to the GIC the interrupts are routed to.
- interrupt-parent : a phandle to the GIC the interrupts are routed to.
   Usually this is provided at the root level of the device tree as it is
   Usually this is provided at the root level of the device tree as it is
   common to most of the SoC.
   common to most of the SoC.
+3 −0
Original line number Original line Diff line number Diff line
@@ -5,11 +5,14 @@ Required properties:
- compatible: Should be:
- compatible: Should be:
    "st,stm32-exti"
    "st,stm32-exti"
    "st,stm32h7-exti"
    "st,stm32h7-exti"
    "st,stm32mp1-exti"
- reg: Specifies base physical address and size of the registers
- reg: Specifies base physical address and size of the registers
- interrupt-controller: Indentifies the node as an interrupt controller
- interrupt-controller: Indentifies the node as an interrupt controller
- #interrupt-cells: Specifies the number of cells to encode an interrupt
- #interrupt-cells: Specifies the number of cells to encode an interrupt
  specifier, shall be 2
  specifier, shall be 2
- interrupts: interrupts references to primary interrupt controller
- interrupts: interrupts references to primary interrupt controller
  (only needed for exti controller with multiple exti under
  same parent interrupt: st,stm32-exti and st,stm32h7-exti")


Example:
Example:


+4 −0
Original line number Original line Diff line number Diff line
@@ -12,6 +12,8 @@
			#size-cells = <1>;
			#size-cells = <1>;
			compatible = "st,stm32mp157-pinctrl";
			compatible = "st,stm32mp157-pinctrl";
			ranges = <0 0x50002000 0xa400>;
			ranges = <0 0x50002000 0xa400>;
			interrupt-parent = <&exti>;
			st,syscfg = <&exti 0x60 0xff>;
			pins-are-numbered;
			pins-are-numbered;


			gpioa: gpio@50002000 {
			gpioa: gpio@50002000 {
@@ -166,6 +168,8 @@
			compatible = "st,stm32mp157-z-pinctrl";
			compatible = "st,stm32mp157-z-pinctrl";
			ranges = <0 0x54004000 0x400>;
			ranges = <0 0x54004000 0x400>;
			pins-are-numbered;
			pins-are-numbered;
			interrupt-parent = <&exti>;
			st,syscfg = <&exti 0x60 0xff>;
			status = "disabled";
			status = "disabled";


			gpioz: gpio@54004000 {
			gpioz: gpio@54004000 {
+7 −0
Original line number Original line Diff line number Diff line
@@ -183,6 +183,13 @@
			status = "disabled";
			status = "disabled";
		};
		};


		exti: interrupt-controller@5000d000 {
			compatible = "st,stm32mp1-exti", "syscon";
			interrupt-controller;
			#interrupt-cells = <2>;
			reg = <0x5000d000 0x400>;
		};

		usart1: serial@5c000000 {
		usart1: serial@5c000000 {
			compatible = "st,stm32h7-uart";
			compatible = "st,stm32h7-uart";
			reg = <0x5c000000 0x400>;
			reg = <0x5c000000 0x400>;
+5 −0
Original line number Original line Diff line number Diff line
@@ -63,11 +63,16 @@ static const struct meson_gpio_irq_params gxl_params = {
	.nr_hwirq = 110,
	.nr_hwirq = 110,
};
};


static const struct meson_gpio_irq_params axg_params = {
	.nr_hwirq = 100,
};

static const struct of_device_id meson_irq_gpio_matches[] = {
static const struct of_device_id meson_irq_gpio_matches[] = {
	{ .compatible = "amlogic,meson8-gpio-intc", .data = &meson8_params },
	{ .compatible = "amlogic,meson8-gpio-intc", .data = &meson8_params },
	{ .compatible = "amlogic,meson8b-gpio-intc", .data = &meson8b_params },
	{ .compatible = "amlogic,meson8b-gpio-intc", .data = &meson8b_params },
	{ .compatible = "amlogic,meson-gxbb-gpio-intc", .data = &gxbb_params },
	{ .compatible = "amlogic,meson-gxbb-gpio-intc", .data = &gxbb_params },
	{ .compatible = "amlogic,meson-gxl-gpio-intc", .data = &gxl_params },
	{ .compatible = "amlogic,meson-gxl-gpio-intc", .data = &gxl_params },
	{ .compatible = "amlogic,meson-axg-gpio-intc", .data = &axg_params },
	{ }
	{ }
};
};


Loading