]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ARM: dts: stm32: update i2c nodes interrupt/dma in stm32mp151
authorAlain Volmat <alain.volmat@foss.st.com>
Tue, 24 Feb 2026 15:48:04 +0000 (16:48 +0100)
committerAlexandre Torgue <alexandre.torgue@foss.st.com>
Wed, 25 Mar 2026 16:37:45 +0000 (17:37 +0100)
Update all i2c nodes with the following properties:
  - replace interrupts with interrupts-extended and rely on exti
  - add dma properties

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Link: https://lore.kernel.org/r/20260224-stm32-i2c-dt-updates-v1-1-347cf6fca7d1@foss.st.com
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
arch/arm/boot/dts/st/stm32mp151.dtsi

index 075a2b433172b04d503f44ec6eca880706f53a2f..e3ec4e951bf3711f00a9f7893ce96c9bc1643649 100644 (file)
                                compatible = "st,stm32mp15-i2c";
                                reg = <0x40012000 0x400>;
                                interrupt-names = "event", "error";
-                               interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
-                                            <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts-extended = <&exti 21 IRQ_TYPE_LEVEL_HIGH>,
+                                                     <&intc GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&rcc I2C1_K>;
                                resets = <&rcc I2C1_R>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               dmas = <&dmamux1 33 0x400 0x1>,
+                                      <&dmamux1 34 0x400 0x1>;
+                               dma-names = "rx", "tx";
                                st,syscfg-fmp = <&syscfg 0x4 0x1>;
                                wakeup-source;
                                i2c-analog-filter;
                                compatible = "st,stm32mp15-i2c";
                                reg = <0x40013000 0x400>;
                                interrupt-names = "event", "error";
-                               interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
-                                            <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts-extended = <&exti 22 IRQ_TYPE_LEVEL_HIGH>,
+                                                     <&intc GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&rcc I2C2_K>;
                                resets = <&rcc I2C2_R>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               dmas = <&dmamux1 35 0x400 0x1>,
+                                      <&dmamux1 36 0x400 0x1>;
+                               dma-names = "rx", "tx";
                                st,syscfg-fmp = <&syscfg 0x4 0x2>;
                                wakeup-source;
                                i2c-analog-filter;
                                compatible = "st,stm32mp15-i2c";
                                reg = <0x40014000 0x400>;
                                interrupt-names = "event", "error";
-                               interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
-                                            <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts-extended = <&exti 23 IRQ_TYPE_LEVEL_HIGH>,
+                                                     <&intc GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&rcc I2C3_K>;
                                resets = <&rcc I2C3_R>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               dmas = <&dmamux1 73 0x400 0x1>,
+                                      <&dmamux1 74 0x400 0x1>;
+                               dma-names = "rx", "tx";
                                st,syscfg-fmp = <&syscfg 0x4 0x4>;
                                wakeup-source;
                                i2c-analog-filter;
                                compatible = "st,stm32mp15-i2c";
                                reg = <0x40015000 0x400>;
                                interrupt-names = "event", "error";
-                               interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
-                                            <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts-extended = <&exti 25 IRQ_TYPE_LEVEL_HIGH>,
+                                                     <&intc GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&rcc I2C5_K>;
                                resets = <&rcc I2C5_R>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               dmas = <&dmamux1 115 0x400 0x1>,
+                                      <&dmamux1 116 0x400 0x1>;
+                               dma-names = "rx", "tx";
                                st,syscfg-fmp = <&syscfg 0x4 0x10>;
                                wakeup-source;
                                i2c-analog-filter;
                                compatible = "st,stm32mp15-i2c";
                                reg = <0x5c002000 0x400>;
                                interrupt-names = "event", "error";
-                               interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
-                                            <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts-extended = <&exti 24 IRQ_TYPE_LEVEL_HIGH>,
+                                                     <&intc GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&rcc I2C4_K>;
                                resets = <&rcc I2C4_R>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               dmas = <&mdma1 36 0x0 0x40008 0x0 0x0>,
+                                      <&mdma1 37 0x0 0x40002 0x0 0x0>;
+                               dma-names = "rx", "tx";
                                st,syscfg-fmp = <&syscfg 0x4 0x8>;
                                wakeup-source;
                                i2c-analog-filter;
                                compatible = "st,stm32mp15-i2c";
                                reg = <0x5c009000 0x400>;
                                interrupt-names = "event", "error";
-                               interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
-                                            <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts-extended = <&exti 54 IRQ_TYPE_LEVEL_HIGH>,
+                                                     <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&rcc I2C6_K>;
                                resets = <&rcc I2C6_R>;
                                #address-cells = <1>;
                                #size-cells = <0>;
+                               dmas = <&mdma1 38 0x0 0x40008 0x0 0x0>,
+                                      <&mdma1 39 0x0 0x40002 0x0 0x0>;
+                               dma-names = "rx", "tx";
                                st,syscfg-fmp = <&syscfg 0x4 0x20>;
                                wakeup-source;
                                i2c-analog-filter;