* [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
* 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
* [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
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).