diff --git a/dts/arm/st/stm32f4.dtsi b/dts/arm/st/stm32f4.dtsi index 3b4229ae057..12c263a5703 100644 --- a/dts/arm/st/stm32f4.dtsi +++ b/dts/arm/st/stm32f4.dtsi @@ -59,7 +59,61 @@ compatible = "st,stm32-pinmux"; #address-cells = <1>; #size-cells = <1>; - reg = <0x40020000 0x1C00>; + reg = <0x40020000 0x2000>; + + gpioa: gpio@40020000 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40020000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000001>; + label = "GPIOA"; + }; + + gpiob: gpio@40020400 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40020400 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000002>; + label = "GPIOB"; + }; + + gpioc: gpio@40020800 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40020800 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000004>; + label = "GPIOC"; + }; + + gpiod: gpio@40020c00 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40020c00 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000008>; + label = "GPIOD"; + }; + + gpioe: gpio@40021000 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40021000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000010>; + label = "GPIOE"; + }; + + gpioh: gpio@40021c00 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40021c00 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000080>; + label = "GPIOH"; + }; }; diff --git a/dts/arm/st/stm32f405.dtsi b/dts/arm/st/stm32f405.dtsi index 8215867e0e6..e969a7be63e 100644 --- a/dts/arm/st/stm32f405.dtsi +++ b/dts/arm/st/stm32f405.dtsi @@ -15,7 +15,43 @@ soc { pinctrl: pin-controller { - reg = <0x40020000 0x2800>; + reg = <0x40020000 0x2400>; + + gpiof: gpio@40021400 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40021400 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000020>; + label = "GPIOF"; + }; + + gpiog: gpio@40021800 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40021800 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000040>; + label = "GPIOG"; + }; + + gpioh: gpio@40021c00 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40021c00 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000040>; + label = "GPIOH"; + }; + + gpioi: gpio@40022000 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40022000 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000100>; + label = "GPIOI"; + }; }; usart3: serial@40004800 { diff --git a/dts/arm/st/stm32f412.dtsi b/dts/arm/st/stm32f412.dtsi index 1795cee1b9e..ba7a1c295ca 100644 --- a/dts/arm/st/stm32f412.dtsi +++ b/dts/arm/st/stm32f412.dtsi @@ -9,6 +9,28 @@ / { soc { + pinctrl: pin-controller { + reg = <0x40020000 0x1c00>; + + gpiof: gpio@40021400 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40021400 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000020>; + label = "GPIOF"; + }; + + gpiog: gpio@40021800 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40021800 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000040>; + label = "GPIOG"; + }; + }; + usart3: serial@40004800 { compatible = "st,stm32-usart", "st,stm32-uart"; reg = <0x40004800 0x400>; diff --git a/dts/arm/st/stm32f429.dtsi b/dts/arm/st/stm32f429.dtsi index da815ae065c..abbd9971060 100644 --- a/dts/arm/st/stm32f429.dtsi +++ b/dts/arm/st/stm32f429.dtsi @@ -8,6 +8,28 @@ / { soc { + pinctrl: pin-controller { + reg = <0x40020000 0x2C00>; + + gpioj: gpio@40022400 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40022400 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000200>; + label = "GPIOJ"; + }; + + gpiok: gpio@40022800 { + compatible = "st,stm32-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x40022800 0x400>; + clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00000400>; + label = "GPIOK"; + }; + }; + uart7: serial@40007800 { compatible = "st,stm32-uart"; reg = <0x40007800 0x400>;