Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'stm32-dt-for-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/dt

STM32 DT for v5.18, round 1

Highlights:
----------

-MCU:
-Fix W=1 warnings for timers (duplicate unit-address) for F4 and F7 series.
-Enable DMA2D on f469 disco.

- MPU:
-General:
- Add new board support: emSBS-Argon.
- Add dma configuration for all U(S)ART nodes and disable them in board files
when they are not needed in stm32mp15.
- Correct GIC PPI interrupts on stm32mp15 and stm32mp13.

- ST boards:
- Add EXTI support on stm32mp13
- Add DMA, MDMA and DMAmux support to stm32mp13 (iso feature than MP15)
- Update SDMMC1/2 support on stm32mp13: sleep config, update version to v2.2,
update the max frequency to 130 MHz.

- DH boards:
- Enable rproc to control the CM4 and IPCC mailbox to interact with it.

* tag 'stm32-dt-for-v5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (43 commits)
ARM: dts: stm32: Correct masks for GIC PPI interrupts on stm32mp15
ARM: dts: stm32: Correct masks for GIC PPI interrupts on stm32mp13
ARM: dts: stm32: remove timer5 duplicate unit-address on stm32f7 series
ARM: dts: stm32: remove some timer duplicate unit-address on stm32f7 series
ARM: dts: stm32: Enable EXTI on stm32mp13
ARM: dts: stm32: keep uart nodes behavior on stm32mp15xx-dhcor-avenger96
ARM: dts: stm32: keep uart4 behavior on stm32mp15xx-dhcom-som
ARM: dts: stm32: keep uart nodes behavior on stm32mp15xx-dhcom-picoitx
ARM: dts: stm32: keep uart nodes behavior on stm32mp15xx-dhcom-pdk2
ARM: dts: stm32: keep uart nodes behavior on stm32mp15xx-dhcom-drc02
ARM: dts: stm32: keep uart4 behavior on stm32mp157c-odyssey
ARM: dts: stm32: keep uart4 behavior on stm32mp157c-lxa-mc1
ARM: dts: stm32: keep uart nodes behavior on stm32mp157a-stinger96
ARM: dts: stm32: keep uart nodes behavior on stm32mp1-microdev2.0
ARM: dts: stm32: keep uart nodes behavior on stm32mp1-microdev2.0-of7
ARM: dts: stm32: keep uart4 behavior on stm32mp157a-iot-box
ARM: dts: stm32: keep uart4 behavior on icore-stm32mp1-edimm2.2
ARM: dts: stm32: keep uart4 behavior on icore-stm32mp1-ctouch2
ARM: dts: stm32: keep uart4 and uart7 behavior on stm32mp15xx-dkx
ARM: dts: stm32: keep uart4 behavior on stm32mp157c-ed1
...

Link: https://lore.kernel.org/r/893924a9-bcc4-9fa9-4f8e-7f56e77f6854@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+1091 -127
+6
Documentation/devicetree/bindings/arm/stm32/stm32.yaml
··· 28 28 - enum: 29 29 - st,stm32mp153 30 30 - st,stm32mp157 31 + 32 + - description: emtrion STM32MP1 Argon based Boards 33 + items: 34 + - const: emtrion,stm32mp157c-emsbc-argon 35 + - const: emtrion,stm32mp157c-emstamp-argon 36 + - const: st,stm32mp157 31 37 - items: 32 38 - enum: 33 39 - st,stm32f429i-disco
+1
arch/arm/boot/dts/Makefile
··· 1166 1166 stm32mp157c-dhcom-picoitx.dtb \ 1167 1167 stm32mp157c-dk2.dtb \ 1168 1168 stm32mp157c-ed1.dtb \ 1169 + stm32mp157c-emsbc-argon.dtb \ 1169 1170 stm32mp157c-ev1.dtb \ 1170 1171 stm32mp157c-lxa-mc1.dtb \ 1171 1172 stm32mp157c-odyssey.dtb
+12
arch/arm/boot/dts/stm32429i-eval.dts
··· 308 308 }; 309 309 }; 310 310 311 + &timers5 { 312 + /* Override timer5 to act as clockevent */ 313 + compatible = "st,stm32-timer"; 314 + interrupts = <50>; 315 + status = "okay"; 316 + /delete-property/#address-cells; 317 + /delete-property/#size-cells; 318 + /delete-property/clock-names; 319 + /delete-node/pwm; 320 + /delete-node/timer@4; 321 + }; 322 + 311 323 &usart1 { 312 324 pinctrl-0 = <&usart1_pins_a>; 313 325 pinctrl-names = "default";
+12
arch/arm/boot/dts/stm32746g-eval.dts
··· 194 194 bus-width = <4>; 195 195 }; 196 196 197 + &timers5 { 198 + /* Override timer5 to act as clockevent */ 199 + compatible = "st,stm32-timer"; 200 + interrupts = <50>; 201 + status = "okay"; 202 + /delete-property/#address-cells; 203 + /delete-property/#size-cells; 204 + /delete-property/clock-names; 205 + /delete-node/pwm; 206 + /delete-node/timer@4; 207 + }; 208 + 197 209 &usart1 { 198 210 pinctrl-0 = <&usart1_pins_a>; 199 211 pinctrl-names = "default";
+12
arch/arm/boot/dts/stm32f429-disco.dts
··· 205 205 }; 206 206 }; 207 207 208 + &timers5 { 209 + /* Override timer5 to act as clockevent */ 210 + compatible = "st,stm32-timer"; 211 + interrupts = <50>; 212 + status = "okay"; 213 + /delete-property/#address-cells; 214 + /delete-property/#size-cells; 215 + /delete-property/clock-names; 216 + /delete-node/pwm; 217 + /delete-node/timer@4; 218 + }; 219 + 208 220 &usart1 { 209 221 pinctrl-0 = <&usart1_pins_a>; 210 222 pinctrl-names = "default";
+10 -47
arch/arm/boot/dts/stm32f429.dtsi
··· 93 93 }; 94 94 }; 95 95 96 - timer2: timer@40000000 { 97 - compatible = "st,stm32-timer"; 98 - reg = <0x40000000 0x400>; 99 - interrupts = <28>; 100 - clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM2)>; 101 - status = "disabled"; 102 - }; 103 - 104 96 timers2: timers@40000000 { 105 97 #address-cells = <1>; 106 98 #size-cells = <0>; ··· 113 121 reg = <1>; 114 122 status = "disabled"; 115 123 }; 116 - }; 117 - 118 - timer3: timer@40000400 { 119 - compatible = "st,stm32-timer"; 120 - reg = <0x40000400 0x400>; 121 - interrupts = <29>; 122 - clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM3)>; 123 - status = "disabled"; 124 124 }; 125 125 126 126 timers3: timers@40000400 { ··· 137 153 }; 138 154 }; 139 155 140 - timer4: timer@40000800 { 141 - compatible = "st,stm32-timer"; 142 - reg = <0x40000800 0x400>; 143 - interrupts = <30>; 144 - clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM4)>; 145 - status = "disabled"; 146 - }; 147 - 148 156 timers4: timers@40000800 { 149 157 #address-cells = <1>; 150 158 #size-cells = <0>; ··· 157 181 reg = <3>; 158 182 status = "disabled"; 159 183 }; 160 - }; 161 - 162 - timer5: timer@40000c00 { 163 - compatible = "st,stm32-timer"; 164 - reg = <0x40000c00 0x400>; 165 - interrupts = <50>; 166 - clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM5)>; 167 184 }; 168 185 169 186 timers5: timers@40000c00 { ··· 181 212 }; 182 213 }; 183 214 184 - timer6: timer@40001000 { 185 - compatible = "st,stm32-timer"; 186 - reg = <0x40001000 0x400>; 187 - interrupts = <54>; 188 - clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM6)>; 189 - status = "disabled"; 190 - }; 191 - 192 215 timers6: timers@40001000 { 193 216 #address-cells = <1>; 194 217 #size-cells = <0>; ··· 195 234 reg = <5>; 196 235 status = "disabled"; 197 236 }; 198 - }; 199 - 200 - timer7: timer@40001400 { 201 - compatible = "st,stm32-timer"; 202 - reg = <0x40001400 0x400>; 203 - interrupts = <55>; 204 - clocks = <&rcc 0 STM32F4_APB1_CLOCK(TIM7)>; 205 - status = "disabled"; 206 237 }; 207 238 208 239 timers7: timers@40001400 { ··· 709 756 st,syscon = <&syscfg 0x4>; 710 757 snps,pbl = <8>; 711 758 snps,mixed-burst; 759 + status = "disabled"; 760 + }; 761 + 762 + dma2d: dma2d@4002b000 { 763 + compatible = "st,stm32-dma2d"; 764 + reg = <0x4002b000 0xc00>; 765 + interrupts = <90>; 766 + resets = <&rcc STM32F4_AHB1_RESET(DMA2D)>; 767 + clocks = <&rcc 0 STM32F4_AHB1_CLOCK(DMA2D)>; 768 + clock-names = "dma2d"; 712 769 status = "disabled"; 713 770 }; 714 771
+16
arch/arm/boot/dts/stm32f469-disco.dts
··· 132 132 clock-frequency = <8000000>; 133 133 }; 134 134 135 + &dma2d { 136 + status = "okay"; 137 + }; 138 + 135 139 &dsi { 136 140 #address-cells = <1>; 137 141 #size-cells = <0>; ··· 226 222 pinctrl-0 = <&sdio_pins>; 227 223 pinctrl-1 = <&sdio_pins_od>; 228 224 bus-width = <4>; 225 + }; 226 + 227 + &timers5 { 228 + /* Override timer5 to act as clockevent */ 229 + compatible = "st,stm32-timer"; 230 + interrupts = <50>; 231 + status = "okay"; 232 + /delete-property/#address-cells; 233 + /delete-property/#size-cells; 234 + /delete-property/clock-names; 235 + /delete-node/pwm; 236 + /delete-node/timer@4; 229 237 }; 230 238 231 239 &usart3 {
+12
arch/arm/boot/dts/stm32f746-disco.dts
··· 109 109 bus-width = <4>; 110 110 }; 111 111 112 + &timers5 { 113 + /* Override timer5 to act as clockevent */ 114 + compatible = "st,stm32-timer"; 115 + interrupts = <50>; 116 + status = "okay"; 117 + /delete-property/#address-cells; 118 + /delete-property/#size-cells; 119 + /delete-property/clock-names; 120 + /delete-node/pwm; 121 + /delete-node/timer@4; 122 + }; 123 + 112 124 &usart1 { 113 125 pinctrl-0 = <&usart1_pins_b>; 114 126 pinctrl-names = "default";
-47
arch/arm/boot/dts/stm32f746.dtsi
··· 75 75 }; 76 76 77 77 soc { 78 - timer2: timer@40000000 { 79 - compatible = "st,stm32-timer"; 80 - reg = <0x40000000 0x400>; 81 - interrupts = <28>; 82 - clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM2)>; 83 - status = "disabled"; 84 - }; 85 - 86 78 timers2: timers@40000000 { 87 79 #address-cells = <1>; 88 80 #size-cells = <0>; ··· 95 103 reg = <1>; 96 104 status = "disabled"; 97 105 }; 98 - }; 99 - 100 - timer3: timer@40000400 { 101 - compatible = "st,stm32-timer"; 102 - reg = <0x40000400 0x400>; 103 - interrupts = <29>; 104 - clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM3)>; 105 - status = "disabled"; 106 106 }; 107 107 108 108 timers3: timers@40000400 { ··· 119 135 }; 120 136 }; 121 137 122 - timer4: timer@40000800 { 123 - compatible = "st,stm32-timer"; 124 - reg = <0x40000800 0x400>; 125 - interrupts = <30>; 126 - clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM4)>; 127 - status = "disabled"; 128 - }; 129 - 130 138 timers4: timers@40000800 { 131 139 #address-cells = <1>; 132 140 #size-cells = <0>; ··· 139 163 reg = <3>; 140 164 status = "disabled"; 141 165 }; 142 - }; 143 - 144 - timer5: timer@40000c00 { 145 - compatible = "st,stm32-timer"; 146 - reg = <0x40000c00 0x400>; 147 - interrupts = <50>; 148 - clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM5)>; 149 166 }; 150 167 151 168 timers5: timers@40000c00 { ··· 163 194 }; 164 195 }; 165 196 166 - timer6: timer@40001000 { 167 - compatible = "st,stm32-timer"; 168 - reg = <0x40001000 0x400>; 169 - interrupts = <54>; 170 - clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM6)>; 171 - status = "disabled"; 172 - }; 173 - 174 197 timers6: timers@40001000 { 175 198 #address-cells = <1>; 176 199 #size-cells = <0>; ··· 177 216 reg = <5>; 178 217 status = "disabled"; 179 218 }; 180 - }; 181 - 182 - timer7: timer@40001400 { 183 - compatible = "st,stm32-timer"; 184 - reg = <0x40001400 0x400>; 185 - interrupts = <55>; 186 - clocks = <&rcc 0 STM32F7_APB1_CLOCK(TIM7)>; 187 - status = "disabled"; 188 219 }; 189 220 190 221 timers7: timers@40001400 {
+12
arch/arm/boot/dts/stm32f769-disco.dts
··· 137 137 bus-width = <4>; 138 138 }; 139 139 140 + &timers5 { 141 + /* Override timer5 to act as clockevent */ 142 + compatible = "st,stm32-timer"; 143 + interrupts = <50>; 144 + status = "okay"; 145 + /delete-property/#address-cells; 146 + /delete-property/#size-cells; 147 + /delete-property/clock-names; 148 + /delete-node/pwm; 149 + /delete-node/timer@4; 150 + }; 151 + 140 152 &usart1 { 141 153 pinctrl-0 = <&usart1_pins_a>; 142 154 pinctrl-names = "default";
+72 -13
arch/arm/boot/dts/stm32mp13-pinctrl.dtsi
··· 7 7 8 8 &pinctrl { 9 9 sdmmc1_b4_pins_a: sdmmc1-b4-0 { 10 - pins1 { 10 + pins { 11 11 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */ 12 12 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */ 13 13 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */ 14 14 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */ 15 15 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */ 16 16 slew-rate = <1>; 17 - drive-push-pull; 18 - bias-disable; 19 - }; 20 - pins2 { 21 - pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */ 22 - slew-rate = <2>; 23 17 drive-push-pull; 24 18 bias-disable; 25 19 }; ··· 30 36 bias-disable; 31 37 }; 32 38 pins2 { 33 - pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */ 34 - slew-rate = <2>; 35 - drive-push-pull; 36 - bias-disable; 37 - }; 38 - pins3 { 39 39 pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */ 40 40 slew-rate = <1>; 41 41 drive-open-drain; 42 42 bias-disable; 43 + }; 44 + }; 45 + 46 + sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 { 47 + pins { 48 + pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */ 49 + <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */ 50 + <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */ 51 + <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */ 52 + <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */ 53 + <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */ 54 + }; 55 + }; 56 + 57 + sdmmc1_clk_pins_a: sdmmc1-clk-0 { 58 + pins { 59 + pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */ 60 + slew-rate = <1>; 61 + drive-push-pull; 62 + bias-disable; 63 + }; 64 + }; 65 + 66 + sdmmc2_b4_pins_a: sdmmc2-b4-0 { 67 + pins { 68 + pinmux = <STM32_PINMUX('B', 14, AF10)>, /* SDMMC2_D0 */ 69 + <STM32_PINMUX('B', 15, AF10)>, /* SDMMC2_D1 */ 70 + <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2_D2 */ 71 + <STM32_PINMUX('B', 4, AF10)>, /* SDMMC2_D3 */ 72 + <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ 73 + slew-rate = <1>; 74 + drive-push-pull; 75 + bias-pull-up; 76 + }; 77 + }; 78 + 79 + sdmmc2_b4_od_pins_a: sdmmc2-b4-od-0 { 80 + pins1 { 81 + pinmux = <STM32_PINMUX('B', 14, AF10)>, /* SDMMC2_D0 */ 82 + <STM32_PINMUX('B', 15, AF10)>, /* SDMMC2_D1 */ 83 + <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2_D2 */ 84 + <STM32_PINMUX('B', 4, AF10)>; /* SDMMC2_D3 */ 85 + slew-rate = <1>; 86 + drive-push-pull; 87 + bias-pull-up; 88 + }; 89 + pins2 { 90 + pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ 91 + slew-rate = <1>; 92 + drive-open-drain; 93 + bias-pull-up; 94 + }; 95 + }; 96 + 97 + sdmmc2_b4_sleep_pins_a: sdmmc2-b4-sleep-0 { 98 + pins { 99 + pinmux = <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */ 100 + <STM32_PINMUX('B', 15, ANALOG)>, /* SDMMC2_D1 */ 101 + <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */ 102 + <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */ 103 + <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */ 104 + <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */ 105 + }; 106 + }; 107 + 108 + sdmmc2_clk_pins_a: sdmmc2-clk-0 { 109 + pins { 110 + pinmux = <STM32_PINMUX('E', 3, AF10)>; /* SDMMC2_CK */ 111 + slew-rate = <1>; 112 + drive-push-pull; 113 + bias-pull-up; 43 114 }; 44 115 }; 45 116
+82 -7
arch/arm/boot/dts/stm32mp131.dtsi
··· 92 92 93 93 timer { 94 94 compatible = "arm,armv7-timer"; 95 - interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 96 - <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 97 - <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 98 - <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 95 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 96 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 97 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 98 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 99 99 interrupt-parent = <&intc>; 100 100 always-on; 101 101 }; ··· 115 115 status = "disabled"; 116 116 }; 117 117 118 + dma1: dma-controller@48000000 { 119 + compatible = "st,stm32-dma"; 120 + reg = <0x48000000 0x400>; 121 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 122 + <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 123 + <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 124 + <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 125 + <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 126 + <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 127 + <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 128 + <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 129 + clocks = <&clk_pclk4>; 130 + #dma-cells = <4>; 131 + st,mem2mem; 132 + dma-requests = <8>; 133 + }; 134 + 135 + dma2: dma-controller@48001000 { 136 + compatible = "st,stm32-dma"; 137 + reg = <0x48001000 0x400>; 138 + interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 139 + <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 140 + <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 141 + <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 142 + <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>, 143 + <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 144 + <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 145 + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 146 + clocks = <&clk_pclk4>; 147 + #dma-cells = <4>; 148 + st,mem2mem; 149 + dma-requests = <8>; 150 + }; 151 + 152 + dmamux1: dma-router@48002000 { 153 + compatible = "st,stm32h7-dmamux"; 154 + reg = <0x48002000 0x40>; 155 + clocks = <&clk_pclk4>; 156 + #dma-cells = <3>; 157 + dma-masters = <&dma1 &dma2>; 158 + dma-requests = <128>; 159 + dma-channels = <16>; 160 + }; 161 + 162 + exti: interrupt-controller@5000d000 { 163 + compatible = "st,stm32mp13-exti", "syscon"; 164 + interrupt-controller; 165 + #interrupt-cells = <2>; 166 + reg = <0x5000d000 0x400>; 167 + }; 168 + 118 169 syscfg: syscon@50020000 { 119 170 compatible = "st,stm32mp157-syscfg", "syscon"; 120 171 reg = <0x50020000 0x400>; 121 172 clocks = <&clk_pclk3>; 122 173 }; 123 174 175 + mdma: dma-controller@58000000 { 176 + compatible = "st,stm32h7-mdma"; 177 + reg = <0x58000000 0x1000>; 178 + interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 179 + clocks = <&clk_pclk4>; 180 + #dma-cells = <5>; 181 + dma-channels = <32>; 182 + dma-requests = <48>; 183 + }; 184 + 124 185 sdmmc1: mmc@58005000 { 125 - compatible = "arm,pl18x", "arm,primecell"; 126 - arm,primecell-periphid = <0x00253180>; 186 + compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 187 + arm,primecell-periphid = <0x20253180>; 127 188 reg = <0x58005000 0x1000>, <0x58006000 0x1000>; 128 189 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 129 190 interrupt-names = "cmd_irq"; ··· 192 131 clock-names = "apb_pclk"; 193 132 cap-sd-highspeed; 194 133 cap-mmc-highspeed; 195 - max-frequency = <120000000>; 134 + max-frequency = <130000000>; 135 + status = "disabled"; 136 + }; 137 + 138 + sdmmc2: mmc@58007000 { 139 + compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 140 + arm,primecell-periphid = <0x20253180>; 141 + reg = <0x58007000 0x1000>, <0x58008000 0x1000>; 142 + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 143 + interrupt-names = "cmd_irq"; 144 + clocks = <&clk_pll4_p>; 145 + clock-names = "apb_pclk"; 146 + cap-sd-highspeed; 147 + cap-mmc-highspeed; 148 + max-frequency = <130000000>; 196 149 status = "disabled"; 197 150 }; 198 151
+4 -3
arch/arm/boot/dts/stm32mp135f-dk.dts
··· 38 38 }; 39 39 40 40 &sdmmc1 { 41 - pinctrl-names = "default", "opendrain"; 42 - pinctrl-0 = <&sdmmc1_b4_pins_a>; 43 - pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 41 + pinctrl-names = "default", "opendrain", "sleep"; 42 + pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>; 43 + pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_clk_pins_a>; 44 + pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 44 45 broken-cd; 45 46 disable-wp; 46 47 st,neg-edge;
+93 -1
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
··· 338 338 }; 339 339 }; 340 340 341 + ethernet0_rmii_pins_b: rmii-1 { 342 + pins1 { 343 + pinmux = <STM32_PINMUX('B', 5, AF0)>, /* ETH1_CLK */ 344 + <STM32_PINMUX('C', 1, AF11)>, /* ETH1_MDC */ 345 + <STM32_PINMUX('G', 13, AF11)>, /* ETH1_TXD0 */ 346 + <STM32_PINMUX('G', 14, AF11)>; /* ETH1_TXD1 */ 347 + bias-disable; 348 + drive-push-pull; 349 + slew-rate = <1>; 350 + }; 351 + pins2 { 352 + pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH1_MDIO */ 353 + bias-disable; 354 + drive-push-pull; 355 + slew-rate = <0>; 356 + }; 357 + pins3 { 358 + pinmux = <STM32_PINMUX('A', 7, AF11)>, /* ETH1_CRS_DV */ 359 + <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RXD0 */ 360 + <STM32_PINMUX('C', 5, AF11)>; /* ETH1_RXD1 */ 361 + bias-disable; 362 + }; 363 + pins4 { 364 + pinmux = <STM32_PINMUX('B', 11, AF11)>; /* ETH1_TX_EN */ 365 + }; 366 + }; 367 + 368 + ethernet0_rmii_sleep_pins_b: rmii-sleep-1 { 369 + pins1 { 370 + pinmux = <STM32_PINMUX('A', 2, ANALOG)>, /* ETH1_MDIO */ 371 + <STM32_PINMUX('A', 7, ANALOG)>, /* ETH1_CRS_DV */ 372 + <STM32_PINMUX('B', 5, ANALOG)>, /* ETH1_CLK */ 373 + <STM32_PINMUX('B', 11, ANALOG)>, /* ETH1_TX_EN */ 374 + <STM32_PINMUX('C', 1, ANALOG)>, /* ETH1_MDC */ 375 + <STM32_PINMUX('C', 4, ANALOG)>, /* ETH1_RXD0 */ 376 + <STM32_PINMUX('C', 5, ANALOG)>, /* ETH1_RXD1 */ 377 + <STM32_PINMUX('G', 13, ANALOG)>, /* ETH1_TXD0 */ 378 + <STM32_PINMUX('G', 14, ANALOG)>; /* ETH1_TXD1 */ 379 + }; 380 + }; 381 + 341 382 fmc_pins_a: fmc-0 { 342 383 pins1 { 343 384 pinmux = <STM32_PINMUX('D', 4, AF12)>, /* FMC_NOE */ ··· 968 927 }; 969 928 }; 970 929 930 + pwm1_pins_b: pwm1-1 { 931 + pins { 932 + pinmux = <STM32_PINMUX('E', 9, AF1)>; /* TIM1_CH1 */ 933 + bias-pull-down; 934 + drive-push-pull; 935 + slew-rate = <0>; 936 + }; 937 + }; 938 + 939 + pwm1_sleep_pins_b: pwm1-sleep-1 { 940 + pins { 941 + pinmux = <STM32_PINMUX('E', 9, ANALOG)>; /* TIM1_CH1 */ 942 + }; 943 + }; 944 + 971 945 pwm2_pins_a: pwm2-0 { 972 946 pins { 973 947 pinmux = <STM32_PINMUX('A', 3, AF1)>; /* TIM2_CH4 */ ··· 1246 1190 }; 1247 1191 }; 1248 1192 1249 - sai2a_sleep_pins_c: sai2a-2 { 1193 + sai2a_sleep_pins_c: sai2a-sleep-2 { 1250 1194 pins { 1251 1195 pinmux = <STM32_PINMUX('D', 13, ANALOG)>, /* SAI2_SCK_A */ 1252 1196 <STM32_PINMUX('D', 11, ANALOG)>, /* SAI2_SD_A */ ··· 2095 2039 <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */ 2096 2040 <STM32_PINMUX('B', 13, ANALOG)>, /* USART3_CTS_NSS */ 2097 2041 <STM32_PINMUX('B', 12, ANALOG)>; /* USART3_RX */ 2042 + }; 2043 + }; 2044 + 2045 + usart3_pins_d: usart3-3 { 2046 + pins1 { 2047 + pinmux = <STM32_PINMUX('B', 10, AF7)>, /* USART3_TX */ 2048 + <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */ 2049 + bias-disable; 2050 + drive-push-pull; 2051 + slew-rate = <0>; 2052 + }; 2053 + pins2 { 2054 + pinmux = <STM32_PINMUX('D', 9, AF7)>, /* USART3_RX */ 2055 + <STM32_PINMUX('D', 11, AF7)>; /* USART3_CTS_NSS */ 2056 + bias-disable; 2057 + }; 2058 + }; 2059 + 2060 + usart3_idle_pins_d: usart3-idle-3 { 2061 + pins1 { 2062 + pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */ 2063 + <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */ 2064 + <STM32_PINMUX('D', 11, ANALOG)>; /* USART3_CTS_NSS */ 2065 + }; 2066 + pins2 { 2067 + pinmux = <STM32_PINMUX('D', 9, AF7)>; /* USART3_RX */ 2068 + bias-disable; 2069 + }; 2070 + }; 2071 + 2072 + usart3_sleep_pins_d: usart3-sleep-3 { 2073 + pins { 2074 + pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */ 2075 + <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */ 2076 + <STM32_PINMUX('D', 11, ANALOG)>, /* USART3_CTS_NSS */ 2077 + <STM32_PINMUX('D', 9, ANALOG)>; /* USART3_RX */ 2098 2078 }; 2099 2079 }; 2100 2080
+29 -8
arch/arm/boot/dts/stm32mp151.dtsi
··· 45 45 46 46 timer { 47 47 compatible = "arm,armv7-timer"; 48 - interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 49 - <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 50 - <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 51 - <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 48 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 49 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 50 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>, 51 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>; 52 52 interrupt-parent = <&intc>; 53 53 }; 54 54 ··· 455 455 interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>; 456 456 clocks = <&rcc USART2_K>; 457 457 wakeup-source; 458 + dmas = <&dmamux1 43 0x400 0x15>, 459 + <&dmamux1 44 0x400 0x11>; 460 + dma-names = "rx", "tx"; 458 461 status = "disabled"; 459 462 }; 460 463 ··· 467 464 interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>; 468 465 clocks = <&rcc USART3_K>; 469 466 wakeup-source; 467 + dmas = <&dmamux1 45 0x400 0x15>, 468 + <&dmamux1 46 0x400 0x11>; 469 + dma-names = "rx", "tx"; 470 470 status = "disabled"; 471 471 }; 472 472 ··· 479 473 interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>; 480 474 clocks = <&rcc UART4_K>; 481 475 wakeup-source; 476 + dmas = <&dmamux1 63 0x400 0x15>, 477 + <&dmamux1 64 0x400 0x11>; 478 + dma-names = "rx", "tx"; 482 479 status = "disabled"; 483 480 }; 484 481 ··· 491 482 interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>; 492 483 clocks = <&rcc UART5_K>; 493 484 wakeup-source; 485 + dmas = <&dmamux1 65 0x400 0x15>, 486 + <&dmamux1 66 0x400 0x11>; 487 + dma-names = "rx", "tx"; 494 488 status = "disabled"; 495 489 }; 496 490 ··· 600 588 interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>; 601 589 clocks = <&rcc UART7_K>; 602 590 wakeup-source; 591 + dmas = <&dmamux1 79 0x400 0x15>, 592 + <&dmamux1 80 0x400 0x11>; 593 + dma-names = "rx", "tx"; 603 594 status = "disabled"; 604 595 }; 605 596 ··· 612 597 interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>; 613 598 clocks = <&rcc UART8_K>; 614 599 wakeup-source; 600 + dmas = <&dmamux1 81 0x400 0x15>, 601 + <&dmamux1 82 0x400 0x11>; 602 + dma-names = "rx", "tx"; 615 603 status = "disabled"; 616 604 }; 617 605 ··· 696 678 interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>; 697 679 clocks = <&rcc USART6_K>; 698 680 wakeup-source; 681 + dmas = <&dmamux1 71 0x400 0x15>, 682 + <&dmamux1 72 0x400 0x11>; 683 + dma-names = "rx", "tx"; 699 684 status = "disabled"; 700 685 }; 701 686 ··· 1080 1059 }; 1081 1060 1082 1061 sdmmc3: mmc@48004000 { 1083 - compatible = "arm,pl18x", "arm,primecell"; 1062 + compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 1084 1063 arm,primecell-periphid = <0x00253180>; 1085 1064 reg = <0x48004000 0x400>; 1086 1065 interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; ··· 1402 1381 }; 1403 1382 1404 1383 sdmmc1: mmc@58005000 { 1405 - compatible = "arm,pl18x", "arm,primecell"; 1384 + compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 1406 1385 arm,primecell-periphid = <0x00253180>; 1407 1386 reg = <0x58005000 0x1000>; 1408 1387 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; ··· 1417 1396 }; 1418 1397 1419 1398 sdmmc2: mmc@58007000 { 1420 - compatible = "arm,pl18x", "arm,primecell"; 1399 + compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell"; 1421 1400 arm,primecell-periphid = <0x00253180>; 1422 1401 reg = <0x58007000 0x1000>; 1423 1402 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; ··· 1581 1560 reg = <0x5c004000 0x400>; 1582 1561 clocks = <&rcc RTCAPB>, <&rcc RTC>; 1583 1562 clock-names = "pclk", "rtc_ck"; 1584 - interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 1563 + interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>; 1585 1564 status = "disabled"; 1586 1565 }; 1587 1566
+7
arch/arm/boot/dts/stm32mp153.dtsi
··· 22 22 interrupt-affinity = <&cpu0>, <&cpu1>; 23 23 }; 24 24 25 + timer { 26 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 27 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 28 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 29 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 30 + }; 31 + 25 32 soc { 26 33 m_can1: can@4400e000 { 27 34 compatible = "bosch,m_can";
+2
arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-ctouch2.dts
··· 43 43 pinctrl-0 = <&uart4_pins_a>; 44 44 pinctrl-1 = <&uart4_sleep_pins_a>; 45 45 pinctrl-2 = <&uart4_idle_pins_a>; 46 + /delete-property/dmas; 47 + /delete-property/dma-names; 46 48 status = "okay"; 47 49 };
+2
arch/arm/boot/dts/stm32mp157a-icore-stm32mp1-edimm2.2.dts
··· 128 128 pinctrl-0 = <&uart4_pins_a>; 129 129 pinctrl-1 = <&uart4_sleep_pins_a>; 130 130 pinctrl-2 = <&uart4_idle_pins_a>; 131 + /delete-property/dmas; 132 + /delete-property/dma-names; 131 133 status = "okay"; 132 134 };
+2
arch/arm/boot/dts/stm32mp157a-iot-box.dts
··· 58 58 /delete-property/st,hw-flow-ctrl; 59 59 cts-gpios = <&gpioa 15 GPIO_ACTIVE_LOW>; 60 60 rts-gpios = <&gpiob 0 GPIO_ACTIVE_LOW>; 61 + /delete-property/dmas; 62 + /delete-property/dma-names; 61 63 status = "okay"; 62 64 63 65 bluetooth {
+4
arch/arm/boot/dts/stm32mp157a-microgea-stm32mp1-microdev2.0-of7.dts
··· 143 143 pinctrl-0 = <&uart4_pins_a>; 144 144 pinctrl-1 = <&uart4_sleep_pins_a>; 145 145 pinctrl-2 = <&uart4_idle_pins_a>; 146 + /delete-property/dmas; 147 + /delete-property/dma-names; 146 148 status = "okay"; 147 149 }; 148 150 ··· 152 150 &uart8 { 153 151 pinctrl-names = "default"; 154 152 pinctrl-0 = <&uart8_pins_a>; 153 + /delete-property/dmas; 154 + /delete-property/dma-names; 155 155 status = "okay"; 156 156 };
+4
arch/arm/boot/dts/stm32mp157a-microgea-stm32mp1-microdev2.0.dts
··· 44 44 pinctrl-0 = <&uart4_pins_a>; 45 45 pinctrl-1 = <&uart4_sleep_pins_a>; 46 46 pinctrl-2 = <&uart4_idle_pins_a>; 47 + /delete-property/dmas; 48 + /delete-property/dma-names; 47 49 status = "okay"; 48 50 }; 49 51 ··· 53 51 &uart8 { 54 52 pinctrl-names = "default"; 55 53 pinctrl-0 = <&uart8_pins_a>; 54 + /delete-property/dmas; 55 + /delete-property/dma-names; 56 56 status = "okay"; 57 57 };
+6
arch/arm/boot/dts/stm32mp157a-stinger96.dtsi
··· 288 288 pinctrl-0 = <&usart2_pins_b>; 289 289 pinctrl-1 = <&usart2_sleep_pins_b>; 290 290 st,hw-flow-ctrl; 291 + /delete-property/dmas; 292 + /delete-property/dma-names; 291 293 status = "okay"; 292 294 }; 293 295 ··· 298 296 pinctrl-names = "default"; 299 297 pinctrl-0 = <&uart4_pins_c>; 300 298 st,hw-flow-ctrl; 299 + /delete-property/dmas; 300 + /delete-property/dma-names; 301 301 status = "okay"; 302 302 }; 303 303 ··· 307 303 &uart7 { 308 304 pinctrl-names = "default"; 309 305 pinctrl-0 = <&uart7_pins_b>; 306 + /delete-property/dmas; 307 + /delete-property/dma-names; 310 308 status = "okay"; 311 309 }; 312 310
+2
arch/arm/boot/dts/stm32mp157c-ed1.dts
··· 384 384 pinctrl-0 = <&uart4_pins_a>; 385 385 pinctrl-1 = <&uart4_sleep_pins_a>; 386 386 pinctrl-2 = <&uart4_idle_pins_a>; 387 + /delete-property/dmas; 388 + /delete-property/dma-names; 387 389 status = "okay"; 388 390 }; 389 391
+53
arch/arm/boot/dts/stm32mp157c-emsbc-argon.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + // 3 + // Copyright (c) 2021 emtrion GmbH 4 + // Author: Reinhold Müller <reinhold.mueller@emtrion.de>. 5 + // 6 + 7 + /dts-v1/; 8 + 9 + #include "stm32mp157c-emstamp-argon.dtsi" 10 + 11 + / { 12 + model = "emtrion STM32MP157C emSBC-Argon Developer Board"; 13 + compatible = "emtrion,stm32mp157c-emsbc-argon", "emtrion,stm32mp157c-emstamp-argon", 14 + "st,stm32mp157"; 15 + 16 + led: gpio_leds { 17 + compatible = "gpio-leds"; 18 + led-2 { 19 + label = "red"; 20 + gpios = <&gpiof 12 GPIO_ACTIVE_LOW>; 21 + linux,default-trigger = "none"; 22 + default-state = "off"; 23 + }; 24 + led-3 { 25 + label = "green"; 26 + gpios = <&gpioe 7 GPIO_ACTIVE_LOW>; 27 + linux,default-trigger = "none"; 28 + default-state = "off"; 29 + }; 30 + }; 31 + }; 32 + 33 + &dac { 34 + status = "okay"; 35 + }; 36 + 37 + &sdmmc1 { 38 + pinctrl-names = "default", "opendrain", "sleep"; 39 + pinctrl-0 = <&sdmmc1_b4_pins_a>; 40 + pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 41 + pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 42 + cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 43 + disable-wp; 44 + st,neg-edge; 45 + bus-width = <4>; 46 + vmmc-supply = <&vdd_sd>; 47 + status = "okay"; 48 + }; 49 + 50 + &spi1 { 51 + status = "okay"; 52 + }; 53 +
+552
arch/arm/boot/dts/stm32mp157c-emstamp-argon.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 or MIT) 2 + // 3 + // Copyright (c) 2021 emtrion GmbH 4 + // Author: Reinhold Müller <reinhold.mueller@emtrion.de>. 5 + // 6 + 7 + #include "stm32mp157.dtsi" 8 + #include "stm32mp15xc.dtsi" 9 + #include "stm32mp15-pinctrl.dtsi" 10 + #include "stm32mp15xxac-pinctrl.dtsi" 11 + #include <dt-bindings/gpio/gpio.h> 12 + #include <dt-bindings/mfd/st,stpmic1.h> 13 + 14 + / { 15 + aliases { 16 + ethernet0 = &ethernet0; 17 + serial0 = &uart4; 18 + serial1 = &usart2; 19 + serial2 = &usart3; 20 + }; 21 + 22 + chosen { 23 + stdout-path = "serial0:115200n8"; 24 + }; 25 + 26 + memory@c0000000 { 27 + device_type = "memory"; 28 + reg = <0xc0000000 0x20000000>; 29 + }; 30 + 31 + reserved-memory { 32 + #address-cells = <1>; 33 + #size-cells = <1>; 34 + ranges; 35 + 36 + mcuram2: mcuram2@10000000 { 37 + compatible = "shared-dma-pool"; 38 + reg = <0x10000000 0x40000>; 39 + no-map; 40 + }; 41 + 42 + vdev0vring0: vdev0vring0@10040000 { 43 + compatible = "shared-dma-pool"; 44 + reg = <0x10040000 0x2000>; 45 + no-map; 46 + }; 47 + 48 + vdev0vring1: vdev0vring1@10042000 { 49 + compatible = "shared-dma-pool"; 50 + reg = <0x10042000 0x2000>; 51 + no-map; 52 + }; 53 + 54 + vdev0buffer: vdev0buffer@10044000 { 55 + compatible = "shared-dma-pool"; 56 + reg = <0x10044000 0x4000>; 57 + no-map; 58 + }; 59 + 60 + mcuram: mcuram@30000000 { 61 + compatible = "shared-dma-pool"; 62 + reg = <0x30000000 0x40000>; 63 + no-map; 64 + }; 65 + 66 + retram: retram@38000000 { 67 + compatible = "shared-dma-pool"; 68 + reg = <0x38000000 0x10000>; 69 + no-map; 70 + }; 71 + 72 + gpu_reserved: gpu@dc000000 { 73 + reg = <0xdc000000 0x4000000>; 74 + no-map; 75 + }; 76 + }; 77 + 78 + led: gpio_leds { 79 + compatible = "gpio-leds"; 80 + led-0 { 81 + label = "panic"; 82 + gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; 83 + linux,default-trigger = "none"; 84 + default-state = "off"; 85 + panic-indicator; 86 + }; 87 + led-1 { 88 + label = "heartbeat"; 89 + gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; 90 + linux,default-trigger = "heartbeat"; 91 + default-state = "on"; 92 + }; 93 + }; 94 + }; 95 + 96 + &adc { 97 + vdd-supply = <&vdd>; 98 + vdda-supply = <&vdd>; 99 + vref-supply = <&vrefbuf>; 100 + status = "okay"; 101 + 102 + adc1: adc@0 { 103 + pinctrl-names = "default"; 104 + pinctrl-0 = <&adc1_in6_pins_a>; 105 + st,min-sample-time-nsecs = <5000>; 106 + st,adc-channels = <6>; 107 + status = "disabled"; 108 + }; 109 + 110 + adc2: adc@100 { 111 + #address-cells = <1>; 112 + #size-cells = <0>; 113 + status = "okay"; 114 + channel@12 { 115 + reg = <12>; 116 + label = "sense_temp"; 117 + st,min-sample-time-ns = <9000>; 118 + }; 119 + channel@15 { 120 + reg = <15>; 121 + label = "vbat"; 122 + st,min-sample-time-ns = <9000>; 123 + }; 124 + channel@16 { 125 + reg = <16>; 126 + label = "dac_out1"; 127 + st,min-sample-time-ns = <9000>; 128 + }; 129 + channel@17 { 130 + reg = <17>; 131 + label = "dac_out1"; 132 + st,min-sample-time-ns = <9000>; 133 + }; 134 + }; 135 + }; 136 + 137 + &crc1 { 138 + status = "okay"; 139 + }; 140 + 141 + &cryp1 { 142 + status = "okay"; 143 + }; 144 + 145 + &dac { 146 + pinctrl-names = "default"; 147 + pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>; 148 + vref-supply = <&vdda>; 149 + status = "disabled"; 150 + 151 + dac1: dac@1 { 152 + status = "okay"; 153 + }; 154 + dac2: dac@2 { 155 + status = "okay"; 156 + }; 157 + }; 158 + 159 + &dts { 160 + status = "okay"; 161 + }; 162 + 163 + &ethernet0 { 164 + status = "okay"; 165 + snps,reset-gpio = <&gpioa 1 GPIO_ACTIVE_LOW>; 166 + snps,reset-active-low; 167 + snps,reset-delays-us = <0 30000 50000>; 168 + pinctrl-0 = <&ethernet0_rmii_pins_b>; 169 + pinctrl-1 = <&ethernet0_rmii_sleep_pins_b>; 170 + pinctrl-names = "default", "sleep"; 171 + phy-mode = "rmii"; 172 + max-speed = <100>; 173 + phy-handle = <&phy0>; 174 + st,eth-ref-clk-sel; 175 + 176 + mdio0 { 177 + #address-cells = <1>; 178 + #size-cells = <0>; 179 + compatible = "snps,dwmac-mdio"; 180 + phy0: ethernet-phy@0 { 181 + reg = <0>; 182 + }; 183 + }; 184 + }; 185 + 186 + &gpu { 187 + contiguous-area = <&gpu_reserved>; 188 + }; 189 + 190 + &hash1 { 191 + status = "okay"; 192 + }; 193 + 194 + &i2c1 { 195 + pinctrl-names = "default", "sleep"; 196 + pinctrl-0 = <&i2c1_pins_a>; 197 + pinctrl-1 = <&i2c1_sleep_pins_a>; 198 + i2c-scl-rising-time-ns = <100>; 199 + i2c-scl-falling-time-ns = <7>; 200 + status = "disabled"; 201 + /delete-property/dmas; 202 + /delete-property/dma-names; 203 + }; 204 + 205 + &i2c4 { 206 + pinctrl-names = "default", "sleep"; 207 + pinctrl-0 = <&i2c4_pins_a>; 208 + pinctrl-1 = <&i2c4_sleep_pins_a>; 209 + i2c-scl-rising-time-ns = <185>; 210 + i2c-scl-falling-time-ns = <20>; 211 + status = "okay"; 212 + /delete-property/dmas; 213 + /delete-property/dma-names; 214 + 215 + pmic: stpmic@33 { 216 + compatible = "st,stpmic1"; 217 + reg = <0x33>; 218 + interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 219 + interrupt-controller; 220 + #interrupt-cells = <2>; 221 + status = "okay"; 222 + 223 + regulators { 224 + compatible = "st,stpmic1-regulators"; 225 + 226 + ldo1-supply = <&v3v3>; 227 + ldo3-supply = <&vdd_ddr>; 228 + ldo6-supply = <&v3v3>; 229 + pwr_sw1-supply = <&bst_out>; 230 + pwr_sw2-supply = <&bst_out>; 231 + 232 + vddcore: buck1 { 233 + regulator-name = "vddcore"; 234 + regulator-min-microvolt = <1200000>; 235 + regulator-max-microvolt = <1350000>; 236 + regulator-always-on; 237 + regulator-initial-mode = <0>; 238 + regulator-over-current-protection; 239 + }; 240 + 241 + vdd_ddr: buck2 { 242 + regulator-name = "vdd_ddr"; 243 + regulator-min-microvolt = <1350000>; 244 + regulator-max-microvolt = <1350000>; 245 + regulator-always-on; 246 + regulator-initial-mode = <0>; 247 + regulator-over-current-protection; 248 + }; 249 + 250 + vdd: buck3 { 251 + regulator-name = "vdd"; 252 + regulator-min-microvolt = <3300000>; 253 + regulator-max-microvolt = <3300000>; 254 + regulator-always-on; 255 + st,mask-reset; 256 + regulator-initial-mode = <0>; 257 + regulator-over-current-protection; 258 + }; 259 + 260 + v3v3: buck4 { 261 + regulator-name = "v3v3"; 262 + regulator-min-microvolt = <3300000>; 263 + regulator-max-microvolt = <3300000>; 264 + regulator-always-on; 265 + regulator-over-current-protection; 266 + regulator-initial-mode = <0>; 267 + }; 268 + 269 + v1v8_audio: ldo1 { 270 + regulator-name = "v1v8_audio"; 271 + regulator-min-microvolt = <1800000>; 272 + regulator-max-microvolt = <1800000>; 273 + regulator-always-on; 274 + interrupts = <IT_CURLIM_LDO1 0>; 275 + }; 276 + 277 + v3v3_hdmi: ldo2 { 278 + regulator-name = "v3v3_hdmi"; 279 + regulator-min-microvolt = <3300000>; 280 + regulator-max-microvolt = <3300000>; 281 + regulator-always-on; 282 + interrupts = <IT_CURLIM_LDO2 0>; 283 + }; 284 + 285 + vtt_ddr: ldo3 { 286 + regulator-name = "vtt_ddr"; 287 + regulator-min-microvolt = <500000>; 288 + regulator-max-microvolt = <750000>; 289 + regulator-always-on; 290 + regulator-over-current-protection; 291 + }; 292 + 293 + vdd_usb: ldo4 { 294 + regulator-name = "vdd_usb"; 295 + regulator-min-microvolt = <3300000>; 296 + regulator-max-microvolt = <3300000>; 297 + interrupts = <IT_CURLIM_LDO4 0>; 298 + }; 299 + 300 + vdd_sd: ldo5 { 301 + regulator-name = "vdd_sd"; 302 + regulator-min-microvolt = <3300000>; 303 + regulator-max-microvolt = <3300000>; 304 + interrupts = <IT_CURLIM_LDO5 0>; 305 + regulator-always-on; 306 + }; 307 + 308 + vdda: ldo6 { 309 + regulator-name = "vdda"; 310 + regulator-min-microvolt = <2900000>; 311 + regulator-max-microvolt = <2900000>; 312 + regulator-always-on; 313 + interrupts = <IT_CURLIM_LDO6 0>; 314 + regulator-boot-on; 315 + }; 316 + 317 + vref_ddr: vref_ddr { 318 + regulator-name = "vref_ddr"; 319 + regulator-always-on; 320 + regulator-over-current-protection; 321 + }; 322 + 323 + bst_out: boost { 324 + regulator-name = "bst_out"; 325 + interrupts = <IT_OCP_BOOST 0>; 326 + }; 327 + 328 + vbus_otg: pwr_sw1 { 329 + regulator-name = "vbus_otg"; 330 + interrupts = <IT_OCP_OTG 0>; 331 + regulator-active-discharge; 332 + }; 333 + 334 + vbus_usbh: pwr_sw2 { 335 + regulator-name = "usbh_vbus"; 336 + interrupts = <IT_OCP_SWOUT 0>; 337 + regulator-always-on; 338 + regulator-boot-on; 339 + }; 340 + }; 341 + 342 + onkey { 343 + compatible = "st,stpmic1-onkey"; 344 + interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>; 345 + interrupt-names = "onkey-falling", "onkey-rising"; 346 + status = "okay"; 347 + }; 348 + 349 + watchdog { 350 + compatible = "st,stpmic1-wdt"; 351 + status = "disabled"; 352 + }; 353 + }; 354 + }; 355 + 356 + &i2c5 { 357 + pinctrl-names = "default", "sleep"; 358 + pinctrl-0 = <&i2c5_pins_a>; 359 + pinctrl-1 = <&i2c5_sleep_pins_a>; 360 + i2c-scl-rising-time-ns = <185>; 361 + i2c-scl-falling-time-ns = <20>; 362 + /delete-property/dmas; 363 + /delete-property/dma-names; 364 + }; 365 + 366 + &ipcc { 367 + status = "okay"; 368 + }; 369 + 370 + &iwdg2 { 371 + timeout-sec = <32>; 372 + status = "okay"; 373 + }; 374 + 375 + &m4_rproc { 376 + memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 377 + <&vdev0vring1>, <&vdev0buffer>; 378 + mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; 379 + mbox-names = "vq0", "vq1", "shutdown"; 380 + interrupt-parent = <&exti>; 381 + interrupts = <68 1>; 382 + interrupt-names = "wdg"; 383 + recovery; 384 + status = "okay"; 385 + }; 386 + 387 + &pwr_regulators { 388 + vdd-supply = <&vdd>; 389 + vdd_3v3_usbfs-supply = <&vdd_usb>; 390 + }; 391 + 392 + &qspi { 393 + pinctrl-names = "default", "sleep"; 394 + pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>; 395 + pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>; 396 + reg = <0x58003000 0x1000>, <0x70000000 0x4000000>; 397 + #address-cells = <1>; 398 + #size-cells = <0>; 399 + status = "okay"; 400 + 401 + flash0: is25lp016d@0 { 402 + compatible = "jedec,spi-nor"; 403 + reg = <0>; 404 + spi-max-frequency = <133000000>; 405 + spi-rx-bus-width = <1>; 406 + spi-tx-bus-width = <1>; 407 + #address-cells = <1>; 408 + #size-cells = <1>; 409 + }; 410 + }; 411 + 412 + &rng1 { 413 + status = "okay"; 414 + }; 415 + 416 + &rtc { 417 + status = "okay"; 418 + }; 419 + 420 + &sdmmc2 { 421 + arm,primecell-periphid = <0x10153180>; 422 + pinctrl-names = "default", "opendrain", "sleep"; 423 + pinctrl-0 = <&sdmmc2_b4_pins_b>; 424 + pinctrl-1 = <&sdmmc2_b4_od_pins_b>; 425 + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>; 426 + non-removable; 427 + st,neg-edge; 428 + bus-width = <4>; 429 + vmmc-supply = <&v3v3>; 430 + status = "okay"; 431 + }; 432 + 433 + &spi1 { 434 + pinctrl-names = "default"; 435 + pinctrl-0 = <&spi1_pins_a>; 436 + cs-gpios = <&gpioz 3 0>; 437 + status = "disabled"; 438 + 439 + spidev@0 { 440 + compatible = "spidev"; 441 + reg = <0>; 442 + spi-max-frequency = <100000>; 443 + }; 444 + }; 445 + 446 + &timers1 { 447 + /* spare dmas for other usage */ 448 + /delete-property/dmas; 449 + /delete-property/dma-names; 450 + pwm { 451 + pinctrl-0 = <&pwm1_pins_b>; 452 + pinctrl-1 = <&pwm1_sleep_pins_b>; 453 + pinctrl-names = "default", "sleep"; 454 + status = "okay"; 455 + }; 456 + timer@0 { 457 + status = "okay"; 458 + }; 459 + }; 460 + 461 + &timers4 { 462 + /delete-property/dmas; 463 + /delete-property/dma-names; 464 + pwm { 465 + pinctrl-0 = <&pwm4_pins_b>; 466 + pinctrl-1 = <&pwm4_sleep_pins_b>; 467 + pinctrl-names = "default", "sleep"; 468 + status = "okay"; 469 + }; 470 + timer@3 { 471 + status = "okay"; 472 + }; 473 + }; 474 + 475 + &timers5 { 476 + /delete-property/dmas; 477 + /delete-property/dma-names; 478 + pwm { 479 + pinctrl-0 = <&pwm5_pins_a>; 480 + pinctrl-1 = <&pwm5_sleep_pins_a>; 481 + pinctrl-names = "default", "sleep"; 482 + status = "okay"; 483 + }; 484 + timer@4 { 485 + status = "okay"; 486 + }; 487 + }; 488 + 489 + &uart4 { 490 + pinctrl-names = "default", "sleep", "idle"; 491 + pinctrl-0 = <&uart4_pins_a>; 492 + pinctrl-1 = <&uart4_sleep_pins_a>; 493 + pinctrl-2 = <&uart4_idle_pins_a>; 494 + status = "okay"; 495 + }; 496 + 497 + &usart2 { 498 + pinctrl-names = "default", "sleep"; 499 + pinctrl-0 = <&usart2_pins_a>; 500 + pinctrl-1 = <&usart2_sleep_pins_a>; 501 + status = "okay"; 502 + }; 503 + 504 + &usart3 { 505 + pinctrl-names = "default", "sleep", "idle"; 506 + pinctrl-0 = <&usart3_pins_d>; 507 + pinctrl-1 = <&usart3_sleep_pins_d>; 508 + pinctrl-2 = <&usart3_idle_pins_d>; 509 + status = "okay"; 510 + }; 511 + 512 + &usbh_ehci { 513 + phys = <&usbphyc_port0>; 514 + phy-names = "usb"; 515 + status = "okay"; 516 + }; 517 + 518 + &usbh_ohci { 519 + phys = <&usbphyc_port0>; 520 + phy-names = "usb"; 521 + status = "okay"; 522 + }; 523 + 524 + &usbotg_hs { 525 + dr_mode = "peripheral"; 526 + pinctrl-names = "default"; 527 + pinctrl-0 = <&usbotg_hs_pins_a>; 528 + phy-names = "usb2-phy"; 529 + phys = <&usbphyc_port1 0>; 530 + vbus-supply = <&vbus_otg>; 531 + status = "okay"; 532 + }; 533 + 534 + &usbphyc { 535 + status = "okay"; 536 + }; 537 + 538 + &usbphyc_port0 { 539 + phy-supply = <&vdd_usb>; 540 + }; 541 + 542 + &usbphyc_port1 { 543 + phy-supply = <&vdd_usb>; 544 + }; 545 + 546 + &vrefbuf { 547 + regulator-min-microvolt = <2500000>; 548 + regulator-max-microvolt = <2500000>; 549 + vdda-supply = <&vdd>; 550 + status = "okay"; 551 + }; 552 +
+2
arch/arm/boot/dts/stm32mp157c-lxa-mc1.dts
··· 248 248 &uart4 { 249 249 pinctrl-names = "default"; 250 250 pinctrl-0 = <&uart4_pins_a>; 251 + /delete-property/dmas; 252 + /delete-property/dma-names; 251 253 status = "okay"; 252 254 };
+2
arch/arm/boot/dts/stm32mp157c-odyssey.dts
··· 81 81 &uart4 { 82 82 pinctrl-names = "default"; 83 83 pinctrl-0 = <&uart4_pins_a>; 84 + /delete-property/dmas; 85 + /delete-property/dma-names; 84 86 status = "okay"; 85 87 }; 86 88
+4
arch/arm/boot/dts/stm32mp15xx-dhcom-drc02.dtsi
··· 131 131 &usart3 { 132 132 pinctrl-names = "default"; 133 133 pinctrl-0 = <&usart3_pins_a>; 134 + /delete-property/dmas; 135 + /delete-property/dma-names; 134 136 status = "okay"; 135 137 }; 136 138 ··· 146 144 pinctrl-names = "default"; 147 145 pinctrl-0 = <&uart8_pins_a>; 148 146 rts-gpios = <&gpioe 6 GPIO_ACTIVE_HIGH>; 147 + /delete-property/dmas; 148 + /delete-property/dma-names; 149 149 status = "okay"; 150 150 }; 151 151
+4
arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi
··· 287 287 &usart3 { 288 288 pinctrl-names = "default"; 289 289 pinctrl-0 = <&usart3_pins_a>; 290 + /delete-property/dmas; 291 + /delete-property/dma-names; 290 292 status = "okay"; 291 293 }; 292 294 ··· 296 294 pinctrl-names = "default"; 297 295 pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>; 298 296 uart-has-rtscts; 297 + /delete-property/dmas; 298 + /delete-property/dma-names; 299 299 status = "okay"; 300 300 }; 301 301
+4
arch/arm/boot/dts/stm32mp15xx-dhcom-picoitx.dtsi
··· 105 105 &usart3 { 106 106 pinctrl-names = "default"; 107 107 pinctrl-0 = <&usart3_pins_a>; 108 + /delete-property/dmas; 109 + /delete-property/dma-names; 108 110 status = "okay"; 109 111 }; 110 112 111 113 &uart8 { 112 114 pinctrl-names = "default"; 113 115 pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>; 116 + /delete-property/dmas; 117 + /delete-property/dma-names; 114 118 status = "okay"; 115 119 }; 116 120
+2 -1
arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi
··· 196 196 "", "", "DHCOM-E", "", 197 197 "", "", "", "", 198 198 "", "", "", ""; 199 - status = "okay"; 200 199 }; 201 200 202 201 &gpiod { ··· 520 521 &uart4 { 521 522 pinctrl-names = "default"; 522 523 pinctrl-0 = <&uart4_pins_a>; 524 + /delete-property/dmas; 525 + /delete-property/dma-names; 523 526 status = "okay"; 524 527 };
+6
arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi
··· 376 376 label = "LS-UART1"; 377 377 pinctrl-names = "default"; 378 378 pinctrl-0 = <&uart4_pins_b>; 379 + /delete-property/dmas; 380 + /delete-property/dma-names; 379 381 status = "okay"; 380 382 }; 381 383 ··· 387 385 pinctrl-names = "default"; 388 386 pinctrl-0 = <&uart7_pins_a>; 389 387 uart-has-rtscts; 388 + /delete-property/dmas; 389 + /delete-property/dma-names; 390 390 status = "okay"; 391 391 }; 392 392 ··· 398 394 pinctrl-0 = <&usart2_pins_a>; 399 395 pinctrl-1 = <&usart2_sleep_pins_a>; 400 396 st,hw-flow-ctrl; 397 + /delete-property/dmas; 398 + /delete-property/dma-names; 401 399 status = "okay"; 402 400 403 401 bluetooth {
+56
arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi
··· 19 19 device_type = "memory"; 20 20 reg = <0xc0000000 0x40000000>; 21 21 }; 22 + 23 + reserved-memory { 24 + #address-cells = <1>; 25 + #size-cells = <1>; 26 + ranges; 27 + 28 + mcuram2: mcuram2@10000000 { 29 + compatible = "shared-dma-pool"; 30 + reg = <0x10000000 0x40000>; 31 + no-map; 32 + }; 33 + 34 + vdev0vring0: vdev0vring0@10040000 { 35 + compatible = "shared-dma-pool"; 36 + reg = <0x10040000 0x1000>; 37 + no-map; 38 + }; 39 + 40 + vdev0vring1: vdev0vring1@10041000 { 41 + compatible = "shared-dma-pool"; 42 + reg = <0x10041000 0x1000>; 43 + no-map; 44 + }; 45 + 46 + vdev0buffer: vdev0buffer@10042000 { 47 + compatible = "shared-dma-pool"; 48 + reg = <0x10042000 0x4000>; 49 + no-map; 50 + }; 51 + 52 + mcuram: mcuram@30000000 { 53 + compatible = "shared-dma-pool"; 54 + reg = <0x30000000 0x40000>; 55 + no-map; 56 + }; 57 + 58 + retram: retram@38000000 { 59 + compatible = "shared-dma-pool"; 60 + reg = <0x38000000 0x10000>; 61 + no-map; 62 + }; 63 + }; 22 64 }; 23 65 24 66 &crc1 { ··· 221 179 }; 222 180 }; 223 181 182 + &ipcc { 183 + status = "okay"; 184 + }; 185 + 224 186 &iwdg2 { 225 187 timeout-sec = <32>; 188 + status = "okay"; 189 + }; 190 + 191 + &m4_rproc { 192 + memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 193 + <&vdev0vring1>, <&vdev0buffer>; 194 + mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; 195 + mbox-names = "vq0", "vq1", "shutdown"; 196 + interrupt-parent = <&exti>; 197 + interrupts = <68 1>; 226 198 status = "okay"; 227 199 }; 228 200
+4
arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
··· 650 650 pinctrl-0 = <&uart4_pins_a>; 651 651 pinctrl-1 = <&uart4_sleep_pins_a>; 652 652 pinctrl-2 = <&uart4_idle_pins_a>; 653 + /delete-property/dmas; 654 + /delete-property/dma-names; 653 655 status = "okay"; 654 656 }; 655 657 ··· 660 658 pinctrl-0 = <&uart7_pins_c>; 661 659 pinctrl-1 = <&uart7_sleep_pins_c>; 662 660 pinctrl-2 = <&uart7_idle_pins_c>; 661 + /delete-property/dmas; 662 + /delete-property/dma-names; 663 663 status = "disabled"; 664 664 }; 665 665