* [PATCH v3 0/3] Add STM32MP13 EXTI support
@ 2022-02-02 14:00 Alexandre Torgue
2022-02-02 14:00 ` [PATCH v3 1/3] dt-bindings: interrupt-controller: stm32-exti: document st,stm32mp13-exti Alexandre Torgue
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Alexandre Torgue @ 2022-02-02 14:00 UTC (permalink / raw)
To: Thomas Gleixner, Marc Zyngier, Rob Herring
Cc: linux-arm-kernel, linux-kernel, linux-stm32, devicetree,
alexandre.torgue
Enhance stm32-exti driver to support STM32MP13 SoC. This SoC uses the same
hardware version than STM32MP15. Only EXTI line mapping is changed and
following EXTI lines are supported: GPIO, RTC, I2C[1-5], UxART[1-8],
USBH_EHCI, USBH_OHCI, USB_OTG, LPTIM[1-5], ETH[1-2].
Changes since v2:
- back on first proposition and keep EXTI/GIC mapping inside driver.
Changes since v1:
- add possibility to define EXTI/GIC mapping in devicetree
- define STM32MP13 EXTI/GIC mapping in devicetree.
regards
Alex
Alexandre Torgue (3):
dt-bindings: interrupt-controller: stm32-exti: document
st,stm32mp13-exti
irqchip/stm32-exti: add STM32MP13 support
ARM: dts: stm32: Enable EXTI on stm32mp13
.../interrupt-controller/st,stm32-exti.yaml | 1 +
arch/arm/boot/dts/stm32mp131.dtsi | 7 +++
drivers/irqchip/irq-stm32-exti.c | 50 +++++++++++++++++++
3 files changed, 58 insertions(+)
--
2.17.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 1/3] dt-bindings: interrupt-controller: stm32-exti: document st,stm32mp13-exti
2022-02-02 14:00 [PATCH v3 0/3] Add STM32MP13 EXTI support Alexandre Torgue
@ 2022-02-02 14:00 ` Alexandre Torgue
2022-02-07 21:45 ` Rob Herring
2022-02-02 14:00 ` [PATCH v3 2/3] irqchip/stm32-exti: add STM32MP13 support Alexandre Torgue
2022-02-02 14:00 ` [PATCH v3 3/3] ARM: dts: stm32: Enable EXTI on stm32mp13 Alexandre Torgue
2 siblings, 1 reply; 5+ messages in thread
From: Alexandre Torgue @ 2022-02-02 14:00 UTC (permalink / raw)
To: Thomas Gleixner, Marc Zyngier, Rob Herring
Cc: linux-arm-kernel, linux-kernel, linux-stm32, devicetree,
alexandre.torgue
Support of STM32MP13 SoC implies to create a new compatible in order to
manage EXTI/GIC mapping changes.
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
diff --git a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
index d19c881b4abc..e44daa09b137 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml
@@ -20,6 +20,7 @@ properties:
- items:
- enum:
- st,stm32mp1-exti
+ - st,stm32mp13-exti
- const: syscon
"#interrupt-cells":
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 2/3] irqchip/stm32-exti: add STM32MP13 support
2022-02-02 14:00 [PATCH v3 0/3] Add STM32MP13 EXTI support Alexandre Torgue
2022-02-02 14:00 ` [PATCH v3 1/3] dt-bindings: interrupt-controller: stm32-exti: document st,stm32mp13-exti Alexandre Torgue
@ 2022-02-02 14:00 ` Alexandre Torgue
2022-02-02 14:00 ` [PATCH v3 3/3] ARM: dts: stm32: Enable EXTI on stm32mp13 Alexandre Torgue
2 siblings, 0 replies; 5+ messages in thread
From: Alexandre Torgue @ 2022-02-02 14:00 UTC (permalink / raw)
To: Thomas Gleixner, Marc Zyngier, Rob Herring
Cc: linux-arm-kernel, linux-kernel, linux-stm32, devicetree,
alexandre.torgue
Enhance stm32-exti driver to support STM32MP13 SoC. This SoC uses the same
hardware version than STM32MP15. Only EXTI line mapping is changed and
following EXTI lines are supported: GPIO, RTC, I2C[1-5], UxART[1-8],
USBH_EHCI, USBH_OHCI, USB_OTG, LPTIM[1-5], ETH[1-2].
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
diff --git a/drivers/irqchip/irq-stm32-exti.c b/drivers/irqchip/irq-stm32-exti.c
index b7cb2da71888..9d18f47040eb 100644
--- a/drivers/irqchip/irq-stm32-exti.c
+++ b/drivers/irqchip/irq-stm32-exti.c
@@ -214,6 +214,48 @@ static const struct stm32_desc_irq stm32mp1_desc_irq[] = {
{ .exti = 73, .irq_parent = 129, .chip = &stm32_exti_h_chip },
};
+static const struct stm32_desc_irq stm32mp13_desc_irq[] = {
+ { .exti = 0, .irq_parent = 6, .chip = &stm32_exti_h_chip },
+ { .exti = 1, .irq_parent = 7, .chip = &stm32_exti_h_chip },
+ { .exti = 2, .irq_parent = 8, .chip = &stm32_exti_h_chip },
+ { .exti = 3, .irq_parent = 9, .chip = &stm32_exti_h_chip },
+ { .exti = 4, .irq_parent = 10, .chip = &stm32_exti_h_chip },
+ { .exti = 5, .irq_parent = 24, .chip = &stm32_exti_h_chip },
+ { .exti = 6, .irq_parent = 65, .chip = &stm32_exti_h_chip },
+ { .exti = 7, .irq_parent = 66, .chip = &stm32_exti_h_chip },
+ { .exti = 8, .irq_parent = 67, .chip = &stm32_exti_h_chip },
+ { .exti = 9, .irq_parent = 68, .chip = &stm32_exti_h_chip },
+ { .exti = 10, .irq_parent = 41, .chip = &stm32_exti_h_chip },
+ { .exti = 11, .irq_parent = 43, .chip = &stm32_exti_h_chip },
+ { .exti = 12, .irq_parent = 77, .chip = &stm32_exti_h_chip },
+ { .exti = 13, .irq_parent = 78, .chip = &stm32_exti_h_chip },
+ { .exti = 14, .irq_parent = 106, .chip = &stm32_exti_h_chip },
+ { .exti = 15, .irq_parent = 109, .chip = &stm32_exti_h_chip },
+ { .exti = 16, .irq_parent = 1, .chip = &stm32_exti_h_chip },
+ { .exti = 19, .irq_parent = 3, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 21, .irq_parent = 32, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 22, .irq_parent = 34, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 23, .irq_parent = 73, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 24, .irq_parent = 93, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 25, .irq_parent = 114, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 26, .irq_parent = 38, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 27, .irq_parent = 39, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 28, .irq_parent = 40, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 29, .irq_parent = 72, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 30, .irq_parent = 53, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 31, .irq_parent = 54, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 32, .irq_parent = 83, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 33, .irq_parent = 84, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 44, .irq_parent = 96, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 47, .irq_parent = 92, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 48, .irq_parent = 116, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 50, .irq_parent = 117, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 52, .irq_parent = 118, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 53, .irq_parent = 119, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 68, .irq_parent = 63, .chip = &stm32_exti_h_chip_direct },
+ { .exti = 70, .irq_parent = 98, .chip = &stm32_exti_h_chip_direct },
+};
+
static const struct stm32_exti_drv_data stm32mp1_drv_data = {
.exti_banks = stm32mp1_exti_banks,
.bank_nr = ARRAY_SIZE(stm32mp1_exti_banks),
@@ -221,6 +263,13 @@ static const struct stm32_exti_drv_data stm32mp1_drv_data = {
.irq_nr = ARRAY_SIZE(stm32mp1_desc_irq),
};
+static const struct stm32_exti_drv_data stm32mp13_drv_data = {
+ .exti_banks = stm32mp1_exti_banks,
+ .bank_nr = ARRAY_SIZE(stm32mp1_exti_banks),
+ .desc_irqs = stm32mp13_desc_irq,
+ .irq_nr = ARRAY_SIZE(stm32mp13_desc_irq),
+};
+
static const struct
stm32_desc_irq *stm32_exti_get_desc(const struct stm32_exti_drv_data *drv_data,
irq_hw_number_t hwirq)
@@ -922,6 +971,7 @@ static int stm32_exti_probe(struct platform_device *pdev)
/* platform driver only for MP1 */
static const struct of_device_id stm32_exti_ids[] = {
{ .compatible = "st,stm32mp1-exti", .data = &stm32mp1_drv_data},
+ { .compatible = "st,stm32mp13-exti", .data = &stm32mp13_drv_data},
{},
};
MODULE_DEVICE_TABLE(of, stm32_exti_ids);
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 3/3] ARM: dts: stm32: Enable EXTI on stm32mp13
2022-02-02 14:00 [PATCH v3 0/3] Add STM32MP13 EXTI support Alexandre Torgue
2022-02-02 14:00 ` [PATCH v3 1/3] dt-bindings: interrupt-controller: stm32-exti: document st,stm32mp13-exti Alexandre Torgue
2022-02-02 14:00 ` [PATCH v3 2/3] irqchip/stm32-exti: add STM32MP13 support Alexandre Torgue
@ 2022-02-02 14:00 ` Alexandre Torgue
2 siblings, 0 replies; 5+ messages in thread
From: Alexandre Torgue @ 2022-02-02 14:00 UTC (permalink / raw)
To: Thomas Gleixner, Marc Zyngier, Rob Herring
Cc: linux-arm-kernel, linux-kernel, linux-stm32, devicetree,
alexandre.torgue
As EXTI/GIC mapping has changed between STM32MP15 and STM32MP13, a new
compatible is needed to choose mp13 mapping table in stm32-exti driver.
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
diff --git a/arch/arm/boot/dts/stm32mp131.dtsi b/arch/arm/boot/dts/stm32mp131.dtsi
index 86126dc0d898..c249dbe64354 100644
--- a/arch/arm/boot/dts/stm32mp131.dtsi
+++ b/arch/arm/boot/dts/stm32mp131.dtsi
@@ -115,6 +115,13 @@
status = "disabled";
};
+ exti: interrupt-controller@5000d000 {
+ compatible = "st,stm32mp13-exti", "syscon";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ reg = <0x5000d000 0x400>;
+ };
+
syscfg: syscon@50020000 {
compatible = "st,stm32mp157-syscfg", "syscon";
reg = <0x50020000 0x400>;
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v3 1/3] dt-bindings: interrupt-controller: stm32-exti: document st,stm32mp13-exti
2022-02-02 14:00 ` [PATCH v3 1/3] dt-bindings: interrupt-controller: stm32-exti: document st,stm32mp13-exti Alexandre Torgue
@ 2022-02-07 21:45 ` Rob Herring
0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2022-02-07 21:45 UTC (permalink / raw)
To: Alexandre Torgue
Cc: Rob Herring, Thomas Gleixner, Marc Zyngier, devicetree,
linux-stm32, linux-kernel, linux-arm-kernel
On Wed, 02 Feb 2022 15:00:03 +0100, Alexandre Torgue wrote:
> Support of STM32MP13 SoC implies to create a new compatible in order to
> manage EXTI/GIC mapping changes.
>
> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
>
Acked-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-02-07 21:45 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-02 14:00 [PATCH v3 0/3] Add STM32MP13 EXTI support Alexandre Torgue
2022-02-02 14:00 ` [PATCH v3 1/3] dt-bindings: interrupt-controller: stm32-exti: document st,stm32mp13-exti Alexandre Torgue
2022-02-07 21:45 ` Rob Herring
2022-02-02 14:00 ` [PATCH v3 2/3] irqchip/stm32-exti: add STM32MP13 support Alexandre Torgue
2022-02-02 14:00 ` [PATCH v3 3/3] ARM: dts: stm32: Enable EXTI on stm32mp13 Alexandre Torgue
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).