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.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/dt

STM32 DT for v5.20, round 1

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

- MCU:
-Fix whitespace coding style. No functional changes.

- MPU:
- General:
- Remove specific IPCC wakeup interrupt on STM32MP15.
- Enable OPTEE firmware and scmi support (clock/reset) on
STM32MP13. It allows to enable RCC clock driver.
- Add new pins configurations groups.

- DH boards:
- Add DHCOR based DRC Compact board. It embeds: 2xETH, 1xCAN,
uSD, USB, eMMC and SDIO wifi.
- Add ST MIPID02 bindings to AV96 (not enabled by default)

- OSD32:
- Correct vcc-supply for eeprom.
- fix missing internally connected voltage regulator (ldo3
supplied by vdd_ddr).

* tag 'stm32-dt-for-v5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (25 commits)
ARM: dts: stm32: Add ST MIPID02 bindings to AV96
ARM: dts: stm32: Add alternate pinmux for RCC pin
ARM: dts: stm32: Add alternate pinmux for DCMI pins
ARM: dts: stm32: Add DHCOR based DRC Compact board
ARM: dts: stm32: Add alternate pinmux for UART5 pins
ARM: dts: stm32: Add alternate pinmux for UART4 pins
ARM: dts: stm32: Add alternate pinmux for UART3 pins
ARM: dts: stm32: Add alternate pinmux for SPI2 pins
ARM: dts: stm32: Add alternate pinmux for CAN1 pins
dt-bindings: arm: stm32: Add compatible string for DH electronics DHCOR DRC Compact
ARM: dts: stm32: Fix SPI2 pinmux pin comments on stm32mp15
ARM: dts: stm32: add optee reserved memory on stm32mp135f-dk
ARM: dts: stm32: add RCC on STM32MP13x SoC family
ARM: dts: stm32: enable optee firmware and SCMI support on STM32MP13
dt-bindings: rcc: stm32: select the "secure" path for stm32mp13
ARM: dts: stm32: correct vcc-supply for eeprom on stm32mp15xx-osd32
ARM: dts: stm32: fix missing internally connected voltage regulator for OSD32MP1
ARM: dts: stm32: adjust whitespace around '=' on MCU boards
ARM: dts: stm32: Move DHCOR BUCK3 VDD 2V9 adjustment to 1V8 DTSI
ARM: dts: stm32: remove the IPCC "wakeup" IRQ on stm32mp151
...

Link: https://lore.kernel.org/r/a250f32b-f67c-2922-0748-e39dc791e95c@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+780 -110
+7 -1
Documentation/devicetree/bindings/arm/stm32/stm32.yaml
··· 59 59 - prt,prtt1s # Protonic PRTT1S 60 60 - const: st,stm32mp151 61 61 62 - - description: DH STM32MP153 SoM based Boards 62 + - description: DH STM32MP153 DHCOM SoM based Boards 63 63 items: 64 64 - const: dh,stm32mp153c-dhcom-drc02 65 65 - const: dh,stm32mp153c-dhcom-som 66 + - const: st,stm32mp153 67 + 68 + - description: DH STM32MP153 DHCOR SoM based Boards 69 + items: 70 + - const: dh,stm32mp153c-dhcor-drc-compact 71 + - const: dh,stm32mp153c-dhcor-som 66 72 - const: st,stm32mp153 67 73 68 74 - items:
+1
Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml
··· 78 78 contains: 79 79 enum: 80 80 - st,stm32mp1-rcc-secure 81 + - st,stm32mp13-rcc 81 82 then: 82 83 properties: 83 84 clocks:
+1
arch/arm/boot/dts/Makefile
··· 1192 1192 stm32mp151a-prtt1c.dtb \ 1193 1193 stm32mp151a-prtt1s.dtb \ 1194 1194 stm32mp153c-dhcom-drc02.dtb \ 1195 + stm32mp153c-dhcor-drc-compact.dtb \ 1195 1196 stm32mp157a-avenger96.dtb \ 1196 1197 stm32mp157a-dhcor-avenger96.dtb \ 1197 1198 stm32mp157a-dk1.dtb \
+4 -4
arch/arm/boot/dts/stm32429i-eval.dts
··· 251 251 252 252 &mac { 253 253 status = "okay"; 254 - pinctrl-0 = <&ethernet_mii>; 255 - pinctrl-names = "default"; 256 - phy-mode = "mii"; 257 - phy-handle = <&phy1>; 254 + pinctrl-0 = <&ethernet_mii>; 255 + pinctrl-names = "default"; 256 + phy-mode = "mii"; 257 + phy-handle = <&phy1>; 258 258 mdio0 { 259 259 #address-cells = <1>; 260 260 #size-cells = <0>;
+2 -2
arch/arm/boot/dts/stm32h743.dtsi
··· 375 375 arm,primecell-periphid = <0x10153180>; 376 376 reg = <0x52007000 0x1000>; 377 377 interrupts = <49>; 378 - interrupt-names = "cmd_irq"; 378 + interrupt-names = "cmd_irq"; 379 379 clocks = <&rcc SDMMC1_CK>; 380 380 clock-names = "apb_pclk"; 381 381 resets = <&rcc STM32H7_AHB3_RESET(SDMMC1)>; ··· 389 389 arm,primecell-periphid = <0x10153180>; 390 390 reg = <0x48022400 0x400>; 391 391 interrupts = <124>; 392 - interrupt-names = "cmd_irq"; 392 + interrupt-names = "cmd_irq"; 393 393 clocks = <&rcc SDMMC2_CK>; 394 394 clock-names = "apb_pclk"; 395 395 resets = <&rcc STM32H7_AHB2_RESET(SDMMC2)>;
+4 -4
arch/arm/boot/dts/stm32h743i-disco.dts
··· 77 77 78 78 &mac { 79 79 status = "disabled"; 80 - pinctrl-0 = <&ethernet_rmii>; 81 - pinctrl-names = "default"; 82 - phy-mode = "rmii"; 83 - phy-handle = <&phy0>; 80 + pinctrl-0 = <&ethernet_rmii>; 81 + pinctrl-names = "default"; 82 + phy-mode = "rmii"; 83 + phy-handle = <&phy0>; 84 84 85 85 mdio0 { 86 86 #address-cells = <1>;
+4 -4
arch/arm/boot/dts/stm32h743i-eval.dts
··· 115 115 116 116 &mac { 117 117 status = "disabled"; 118 - pinctrl-0 = <&ethernet_rmii>; 119 - pinctrl-names = "default"; 120 - phy-mode = "rmii"; 121 - phy-handle = <&phy0>; 118 + pinctrl-0 = <&ethernet_rmii>; 119 + pinctrl-names = "default"; 120 + phy-mode = "rmii"; 121 + phy-handle = <&phy0>; 122 122 123 123 mdio0 { 124 124 #address-cells = <1>;
+4 -4
arch/arm/boot/dts/stm32h750i-art-pi.dts
··· 126 126 127 127 &mac { 128 128 status = "disabled"; 129 - pinctrl-0 = <&ethernet_rmii>; 130 - pinctrl-names = "default"; 131 - phy-mode = "rmii"; 132 - phy-handle = <&phy0>; 129 + pinctrl-0 = <&ethernet_rmii>; 130 + pinctrl-names = "default"; 131 + phy-mode = "rmii"; 132 + phy-handle = <&phy0>; 133 133 134 134 mdio0 { 135 135 #address-cells = <1>;
+72 -68
arch/arm/boot/dts/stm32mp131.dtsi
··· 4 4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5 5 */ 6 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 + #include <dt-bindings/clock/stm32mp13-clks.h> 8 + #include <dt-bindings/reset/stm32mp13-resets.h> 7 9 8 10 / { 9 11 #address-cells = <1>; ··· 29 27 interrupt-parent = <&intc>; 30 28 }; 31 29 32 - clocks { 33 - clk_axi: clk-axi { 34 - #clock-cells = <0>; 35 - compatible = "fixed-clock"; 36 - clock-frequency = <266500000>; 30 + firmware { 31 + optee { 32 + method = "smc"; 33 + compatible = "linaro,optee-tz"; 37 34 }; 38 35 39 - clk_hse: clk-hse { 40 - #clock-cells = <0>; 41 - compatible = "fixed-clock"; 42 - clock-frequency = <24000000>; 43 - }; 36 + scmi: scmi { 37 + compatible = "linaro,scmi-optee"; 38 + #address-cells = <1>; 39 + #size-cells = <0>; 40 + linaro,optee-channel-id = <0>; 41 + shmem = <&scmi_shm>; 44 42 45 - clk_hsi: clk-hsi { 46 - #clock-cells = <0>; 47 - compatible = "fixed-clock"; 48 - clock-frequency = <64000000>; 49 - }; 43 + scmi_clk: protocol@14 { 44 + reg = <0x14>; 45 + #clock-cells = <1>; 46 + }; 50 47 51 - clk_lsi: clk-lsi { 52 - #clock-cells = <0>; 53 - compatible = "fixed-clock"; 54 - clock-frequency = <32000>; 55 - }; 56 - 57 - clk_pclk3: clk-pclk3 { 58 - #clock-cells = <0>; 59 - compatible = "fixed-clock"; 60 - clock-frequency = <104438965>; 61 - }; 62 - 63 - clk_pclk4: clk-pclk4 { 64 - #clock-cells = <0>; 65 - compatible = "fixed-clock"; 66 - clock-frequency = <133250000>; 67 - }; 68 - 69 - clk_pll4_p: clk-pll4_p { 70 - #clock-cells = <0>; 71 - compatible = "fixed-clock"; 72 - clock-frequency = <50000000>; 73 - }; 74 - 75 - clk_pll4_r: clk-pll4_r { 76 - #clock-cells = <0>; 77 - compatible = "fixed-clock"; 78 - clock-frequency = <99000000>; 79 - }; 80 - 81 - clk_rtc_k: clk-rtc-k { 82 - #clock-cells = <0>; 83 - compatible = "fixed-clock"; 84 - clock-frequency = <32768>; 48 + scmi_reset: protocol@16 { 49 + reg = <0x16>; 50 + #reset-cells = <1>; 51 + }; 85 52 }; 86 53 }; 87 54 ··· 84 113 interrupt-parent = <&intc>; 85 114 ranges; 86 115 116 + scmi_sram: sram@2ffff000 { 117 + compatible = "mmio-sram"; 118 + reg = <0x2ffff000 0x1000>; 119 + #address-cells = <1>; 120 + #size-cells = <1>; 121 + ranges = <0 0x2ffff000 0x1000>; 122 + 123 + scmi_shm: scmi-sram@0 { 124 + compatible = "arm,scmi-shmem"; 125 + reg = <0 0x80>; 126 + }; 127 + }; 128 + 87 129 uart4: serial@40010000 { 88 130 compatible = "st,stm32h7-uart"; 89 131 reg = <0x40010000 0x400>; 90 132 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 91 - clocks = <&clk_hsi>; 133 + clocks = <&rcc UART4_K>; 134 + resets = <&rcc UART4_R>; 92 135 status = "disabled"; 93 136 }; 94 137 ··· 117 132 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 118 133 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 119 134 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; 120 - clocks = <&clk_pclk4>; 135 + clocks = <&rcc DMA1>; 136 + resets = <&rcc DMA1_R>; 121 137 #dma-cells = <4>; 122 138 st,mem2mem; 123 139 dma-requests = <8>; ··· 135 149 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 136 150 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 137 151 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 138 - clocks = <&clk_pclk4>; 152 + clocks = <&rcc DMA2>; 153 + resets = <&rcc DMA2_R>; 139 154 #dma-cells = <4>; 140 155 st,mem2mem; 141 156 dma-requests = <8>; ··· 145 158 dmamux1: dma-router@48002000 { 146 159 compatible = "st,stm32h7-dmamux"; 147 160 reg = <0x48002000 0x40>; 148 - clocks = <&clk_pclk4>; 161 + clocks = <&rcc DMAMUX1>; 162 + resets = <&rcc DMAMUX1_R>; 149 163 #dma-cells = <3>; 150 164 dma-masters = <&dma1 &dma2>; 151 165 dma-requests = <128>; 152 166 dma-channels = <16>; 167 + }; 168 + 169 + rcc: rcc@50000000 { 170 + compatible = "st,stm32mp13-rcc", "syscon"; 171 + reg = <0x50000000 0x1000>; 172 + #clock-cells = <1>; 173 + #reset-cells = <1>; 174 + clock-names = "hse", "hsi", "csi", "lse", "lsi"; 175 + clocks = <&scmi_clk CK_SCMI_HSE>, 176 + <&scmi_clk CK_SCMI_HSI>, 177 + <&scmi_clk CK_SCMI_CSI>, 178 + <&scmi_clk CK_SCMI_LSE>, 179 + <&scmi_clk CK_SCMI_LSI>; 153 180 }; 154 181 155 182 exti: interrupt-controller@5000d000 { ··· 176 175 syscfg: syscon@50020000 { 177 176 compatible = "st,stm32mp157-syscfg", "syscon"; 178 177 reg = <0x50020000 0x400>; 179 - clocks = <&clk_pclk3>; 178 + clocks = <&rcc SYSCFG>; 180 179 }; 181 180 182 181 mdma: dma-controller@58000000 { 183 182 compatible = "st,stm32h7-mdma"; 184 183 reg = <0x58000000 0x1000>; 185 184 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 186 - clocks = <&clk_pclk4>; 185 + clocks = <&rcc MDMA>; 187 186 #dma-cells = <5>; 188 187 dma-channels = <32>; 189 188 dma-requests = <48>; ··· 195 194 reg = <0x58005000 0x1000>, <0x58006000 0x1000>; 196 195 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 197 196 interrupt-names = "cmd_irq"; 198 - clocks = <&clk_pll4_p>; 197 + clocks = <&rcc SDMMC1_K>; 199 198 clock-names = "apb_pclk"; 199 + resets = <&rcc SDMMC1_R>; 200 200 cap-sd-highspeed; 201 201 cap-mmc-highspeed; 202 202 max-frequency = <130000000>; ··· 210 208 reg = <0x58007000 0x1000>, <0x58008000 0x1000>; 211 209 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 212 210 interrupt-names = "cmd_irq"; 213 - clocks = <&clk_pll4_p>; 211 + clocks = <&rcc SDMMC2_K>; 214 212 clock-names = "apb_pclk"; 213 + resets = <&rcc SDMMC2_R>; 215 214 cap-sd-highspeed; 216 215 cap-mmc-highspeed; 217 216 max-frequency = <130000000>; ··· 222 219 iwdg2: watchdog@5a002000 { 223 220 compatible = "st,stm32mp1-iwdg"; 224 221 reg = <0x5a002000 0x400>; 225 - clocks = <&clk_pclk4>, <&clk_lsi>; 222 + clocks = <&rcc IWDG2>, <&scmi_clk CK_SCMI_LSI>; 226 223 clock-names = "pclk", "lsi"; 227 224 status = "disabled"; 228 225 }; ··· 231 228 compatible = "st,stm32mp1-rtc"; 232 229 reg = <0x5c004000 0x400>; 233 230 interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>; 234 - clocks = <&clk_pclk4>, <&clk_rtc_k>; 231 + clocks = <&scmi_clk CK_SCMI_RTCAPB>, 232 + <&scmi_clk CK_SCMI_RTC>; 235 233 clock-names = "pclk", "rtc_ck"; 236 234 status = "disabled"; 237 235 }; ··· 273 269 interrupt-controller; 274 270 #interrupt-cells = <2>; 275 271 reg = <0x0 0x400>; 276 - clocks = <&clk_pclk4>; 272 + clocks = <&rcc GPIOA>; 277 273 st,bank-name = "GPIOA"; 278 274 ngpios = <16>; 279 275 gpio-ranges = <&pinctrl 0 0 16>; ··· 285 281 interrupt-controller; 286 282 #interrupt-cells = <2>; 287 283 reg = <0x1000 0x400>; 288 - clocks = <&clk_pclk4>; 284 + clocks = <&rcc GPIOB>; 289 285 st,bank-name = "GPIOB"; 290 286 ngpios = <16>; 291 287 gpio-ranges = <&pinctrl 0 16 16>; ··· 297 293 interrupt-controller; 298 294 #interrupt-cells = <2>; 299 295 reg = <0x2000 0x400>; 300 - clocks = <&clk_pclk4>; 296 + clocks = <&rcc GPIOC>; 301 297 st,bank-name = "GPIOC"; 302 298 ngpios = <16>; 303 299 gpio-ranges = <&pinctrl 0 32 16>; ··· 309 305 interrupt-controller; 310 306 #interrupt-cells = <2>; 311 307 reg = <0x3000 0x400>; 312 - clocks = <&clk_pclk4>; 308 + clocks = <&rcc GPIOD>; 313 309 st,bank-name = "GPIOD"; 314 310 ngpios = <16>; 315 311 gpio-ranges = <&pinctrl 0 48 16>; ··· 321 317 interrupt-controller; 322 318 #interrupt-cells = <2>; 323 319 reg = <0x4000 0x400>; 324 - clocks = <&clk_pclk4>; 320 + clocks = <&rcc GPIOE>; 325 321 st,bank-name = "GPIOE"; 326 322 ngpios = <16>; 327 323 gpio-ranges = <&pinctrl 0 64 16>; ··· 333 329 interrupt-controller; 334 330 #interrupt-cells = <2>; 335 331 reg = <0x5000 0x400>; 336 - clocks = <&clk_pclk4>; 332 + clocks = <&rcc GPIOF>; 337 333 st,bank-name = "GPIOF"; 338 334 ngpios = <16>; 339 335 gpio-ranges = <&pinctrl 0 80 16>; ··· 345 341 interrupt-controller; 346 342 #interrupt-cells = <2>; 347 343 reg = <0x6000 0x400>; 348 - clocks = <&clk_pclk4>; 344 + clocks = <&rcc GPIOG>; 349 345 st,bank-name = "GPIOG"; 350 346 ngpios = <16>; 351 347 gpio-ranges = <&pinctrl 0 96 16>; ··· 357 353 interrupt-controller; 358 354 #interrupt-cells = <2>; 359 355 reg = <0x7000 0x400>; 360 - clocks = <&clk_pclk4>; 356 + clocks = <&rcc GPIOH>; 361 357 st,bank-name = "GPIOH"; 362 358 ngpios = <15>; 363 359 gpio-ranges = <&pinctrl 0 112 15>; ··· 369 365 interrupt-controller; 370 366 #interrupt-cells = <2>; 371 367 reg = <0x8000 0x400>; 372 - clocks = <&clk_pclk4>; 368 + clocks = <&rcc GPIOI>; 373 369 st,bank-name = "GPIOI"; 374 370 ngpios = <8>; 375 371 gpio-ranges = <&pinctrl 0 128 8>;
+2 -2
arch/arm/boot/dts/stm32mp133.dtsi
··· 15 15 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 16 16 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 17 17 interrupt-names = "int0", "int1"; 18 - clocks = <&clk_hse>, <&clk_pll4_r>; 18 + clocks = <&scmi_clk CK_SCMI_HSE>, <&rcc FDCAN_K>; 19 19 clock-names = "hclk", "cclk"; 20 20 bosch,mram-cfg = <0x0 0 0 32 0 0 2 2>; 21 21 status = "disabled"; ··· 28 28 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 29 29 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 30 30 interrupt-names = "int0", "int1"; 31 - clocks = <&clk_hse>, <&clk_pll4_r>; 31 + clocks = <&scmi_clk CK_SCMI_HSE>, <&rcc FDCAN_K>; 32 32 clock-names = "hclk", "cclk"; 33 33 bosch,mram-cfg = <0x1400 0 0 32 0 0 2 2>; 34 34 status = "disabled";
+11
arch/arm/boot/dts/stm32mp135f-dk.dts
··· 26 26 reg = <0xc0000000 0x20000000>; 27 27 }; 28 28 29 + reserved-memory { 30 + #address-cells = <1>; 31 + #size-cells = <1>; 32 + ranges; 33 + 34 + optee@dd000000 { 35 + reg = <0xdd000000 0x3000000>; 36 + no-map; 37 + }; 38 + }; 39 + 29 40 gpio-keys { 30 41 compatible = "gpio-keys"; 31 42
+2 -1
arch/arm/boot/dts/stm32mp13xc.dtsi
··· 10 10 compatible = "st,stm32mp1-cryp"; 11 11 reg = <0x54002000 0x400>; 12 12 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 13 - clocks = <&clk_axi>; 13 + clocks = <&rcc CRYP1>; 14 + resets = <&rcc CRYP1_R>; 14 15 status = "disabled"; 15 16 }; 16 17 };
+2 -1
arch/arm/boot/dts/stm32mp13xf.dtsi
··· 10 10 compatible = "st,stm32mp1-cryp"; 11 11 reg = <0x54002000 0x400>; 12 12 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 13 - clocks = <&clk_axi>; 13 + clocks = <&rcc CRYP1>; 14 + resets = <&rcc CRYP1_R>; 14 15 status = "disabled"; 15 16 }; 16 17 };
+174 -3
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
··· 151 151 }; 152 152 }; 153 153 154 + dcmi_pins_c: dcmi-2 { 155 + pins { 156 + pinmux = <STM32_PINMUX('A', 4, AF13)>,/* DCMI_HSYNC */ 157 + <STM32_PINMUX('B', 7, AF13)>,/* DCMI_VSYNC */ 158 + <STM32_PINMUX('A', 6, AF13)>,/* DCMI_PIXCLK */ 159 + <STM32_PINMUX('A', 9, AF13)>,/* DCMI_D0 */ 160 + <STM32_PINMUX('H', 10, AF13)>,/* DCMI_D1 */ 161 + <STM32_PINMUX('E', 0, AF13)>,/* DCMI_D2 */ 162 + <STM32_PINMUX('E', 1, AF13)>,/* DCMI_D3 */ 163 + <STM32_PINMUX('H', 14, AF13)>,/* DCMI_D4 */ 164 + <STM32_PINMUX('I', 4, AF13)>,/* DCMI_D5 */ 165 + <STM32_PINMUX('I', 6, AF13)>,/* DCMI_D6 */ 166 + <STM32_PINMUX('E', 6, AF13)>,/* DCMI_D7 */ 167 + <STM32_PINMUX('I', 1, AF13)>,/* DCMI_D8 */ 168 + <STM32_PINMUX('H', 7, AF13)>;/* DCMI_D9 */ 169 + bias-pull-up; 170 + }; 171 + }; 172 + 173 + dcmi_sleep_pins_c: dcmi-sleep-2 { 174 + pins { 175 + pinmux = <STM32_PINMUX('A', 4, ANALOG)>,/* DCMI_HSYNC */ 176 + <STM32_PINMUX('B', 7, ANALOG)>,/* DCMI_VSYNC */ 177 + <STM32_PINMUX('A', 6, ANALOG)>,/* DCMI_PIXCLK */ 178 + <STM32_PINMUX('A', 9, ANALOG)>,/* DCMI_D0 */ 179 + <STM32_PINMUX('H', 10, ANALOG)>,/* DCMI_D1 */ 180 + <STM32_PINMUX('E', 0, ANALOG)>,/* DCMI_D2 */ 181 + <STM32_PINMUX('E', 1, ANALOG)>,/* DCMI_D3 */ 182 + <STM32_PINMUX('H', 14, ANALOG)>,/* DCMI_D4 */ 183 + <STM32_PINMUX('I', 4, ANALOG)>,/* DCMI_D5 */ 184 + <STM32_PINMUX('I', 6, ANALOG)>,/* DCMI_D6 */ 185 + <STM32_PINMUX('E', 6, ANALOG)>,/* DCMI_D7 */ 186 + <STM32_PINMUX('I', 1, ANALOG)>,/* DCMI_D8 */ 187 + <STM32_PINMUX('H', 7, ANALOG)>;/* DCMI_D9 */ 188 + }; 189 + }; 190 + 154 191 ethernet0_rgmii_pins_a: rgmii-0 { 155 192 pins1 { 156 193 pinmux = <STM32_PINMUX('G', 5, AF11)>, /* ETH_RGMII_CLK125 */ ··· 960 923 }; 961 924 }; 962 925 926 + mco1_pins_a: mco1-0 { 927 + pins { 928 + pinmux = <STM32_PINMUX('A', 13, AF2)>; /* MCO1 */ 929 + bias-disable; 930 + drive-push-pull; 931 + slew-rate = <1>; 932 + }; 933 + }; 934 + 935 + mco1_sleep_pins_a: mco1-sleep-0 { 936 + pins { 937 + pinmux = <STM32_PINMUX('A', 13, ANALOG)>; /* MCO1 */ 938 + }; 939 + }; 940 + 963 941 mco2_pins_a: mco2-0 { 964 942 pins { 965 943 pinmux = <STM32_PINMUX('G', 2, AF1)>; /* MCO2 */ ··· 1027 975 pins { 1028 976 pinmux = <STM32_PINMUX('A', 12, ANALOG)>, /* CAN1_TX */ 1029 977 <STM32_PINMUX('A', 11, ANALOG)>; /* CAN1_RX */ 978 + }; 979 + }; 980 + 981 + m_can1_pins_c: m-can1-2 { 982 + pins1 { 983 + pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */ 984 + slew-rate = <1>; 985 + drive-push-pull; 986 + bias-disable; 987 + }; 988 + pins2 { 989 + pinmux = <STM32_PINMUX('H', 14, AF9)>; /* CAN1_RX */ 990 + bias-disable; 991 + }; 992 + }; 993 + 994 + m_can1_sleep_pins_c: m_can1-sleep-2 { 995 + pins { 996 + pinmux = <STM32_PINMUX('H', 13, ANALOG)>, /* CAN1_TX */ 997 + <STM32_PINMUX('H', 14, ANALOG)>; /* CAN1_RX */ 1030 998 }; 1031 999 }; 1032 1000 ··· 1866 1794 1867 1795 spi2_pins_a: spi2-0 { 1868 1796 pins1 { 1869 - pinmux = <STM32_PINMUX('B', 10, AF5)>, /* SPI1_SCK */ 1870 - <STM32_PINMUX('I', 3, AF5)>; /* SPI1_MOSI */ 1797 + pinmux = <STM32_PINMUX('B', 10, AF5)>, /* SPI2_SCK */ 1798 + <STM32_PINMUX('I', 3, AF5)>; /* SPI2_MOSI */ 1871 1799 bias-disable; 1872 1800 drive-push-pull; 1873 1801 slew-rate = <1>; 1874 1802 }; 1875 1803 1876 1804 pins2 { 1877 - pinmux = <STM32_PINMUX('I', 2, AF5)>; /* SPI1_MISO */ 1805 + pinmux = <STM32_PINMUX('I', 2, AF5)>; /* SPI2_MISO */ 1806 + bias-disable; 1807 + }; 1808 + }; 1809 + 1810 + spi2_pins_b: spi2-1 { 1811 + pins1 { 1812 + pinmux = <STM32_PINMUX('I', 1, AF5)>, /* SPI2_SCK */ 1813 + <STM32_PINMUX('I', 3, AF5)>; /* SPI2_MOSI */ 1814 + bias-disable; 1815 + drive-push-pull; 1816 + slew-rate = <1>; 1817 + }; 1818 + 1819 + pins2 { 1820 + pinmux = <STM32_PINMUX('I', 2, AF5)>; /* SPI2_MISO */ 1878 1821 bias-disable; 1879 1822 }; 1880 1823 }; ··· 1967 1880 }; 1968 1881 pins2 { 1969 1882 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 1883 + bias-disable; 1884 + }; 1885 + }; 1886 + 1887 + uart4_pins_d: uart4-3 { 1888 + pins1 { 1889 + pinmux = <STM32_PINMUX('A', 13, AF8)>; /* UART4_TX */ 1890 + bias-disable; 1891 + drive-push-pull; 1892 + slew-rate = <0>; 1893 + }; 1894 + pins2 { 1895 + pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 1896 + bias-disable; 1897 + }; 1898 + }; 1899 + 1900 + uart4_idle_pins_d: uart4-idle-3 { 1901 + pins1 { 1902 + pinmux = <STM32_PINMUX('A', 13, ANALOG)>; /* UART4_TX */ 1903 + }; 1904 + pins2 { 1905 + pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 1906 + bias-disable; 1907 + }; 1908 + }; 1909 + 1910 + uart4_sleep_pins_d: uart4-sleep-3 { 1911 + pins { 1912 + pinmux = <STM32_PINMUX('A', 13, ANALOG)>, /* UART4_TX */ 1913 + <STM32_PINMUX('B', 2, ANALOG)>; /* UART4_RX */ 1914 + }; 1915 + }; 1916 + 1917 + uart5_pins_a: uart5-0 { 1918 + pins1 { 1919 + pinmux = <STM32_PINMUX('B', 13, AF14)>; /* UART5_TX */ 1920 + bias-disable; 1921 + drive-push-pull; 1922 + slew-rate = <0>; 1923 + }; 1924 + pins2 { 1925 + pinmux = <STM32_PINMUX('B', 5, AF12)>; /* UART5_RX */ 1970 1926 bias-disable; 1971 1927 }; 1972 1928 }; ··· 2310 2180 <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */ 2311 2181 <STM32_PINMUX('D', 11, ANALOG)>, /* USART3_CTS_NSS */ 2312 2182 <STM32_PINMUX('D', 9, ANALOG)>; /* USART3_RX */ 2183 + }; 2184 + }; 2185 + 2186 + usart3_pins_e: usart3-4 { 2187 + pins1 { 2188 + pinmux = <STM32_PINMUX('B', 10, AF7)>, /* USART3_TX */ 2189 + <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */ 2190 + bias-disable; 2191 + drive-push-pull; 2192 + slew-rate = <0>; 2193 + }; 2194 + pins2 { 2195 + pinmux = <STM32_PINMUX('B', 11, AF7)>, /* USART3_RX */ 2196 + <STM32_PINMUX('D', 11, AF7)>; /* USART3_CTS_NSS */ 2197 + bias-pull-up; 2198 + }; 2199 + }; 2200 + 2201 + usart3_idle_pins_e: usart3-idle-4 { 2202 + pins1 { 2203 + pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */ 2204 + <STM32_PINMUX('D', 11, ANALOG)>; /* USART3_CTS_NSS */ 2205 + }; 2206 + pins2 { 2207 + pinmux = <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */ 2208 + bias-disable; 2209 + drive-push-pull; 2210 + slew-rate = <0>; 2211 + }; 2212 + pins3 { 2213 + pinmux = <STM32_PINMUX('B', 11, AF7)>; /* USART3_RX */ 2214 + bias-pull-up; 2215 + }; 2216 + }; 2217 + 2218 + usart3_sleep_pins_e: usart3-sleep-4 { 2219 + pins { 2220 + pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */ 2221 + <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */ 2222 + <STM32_PINMUX('D', 11, ANALOG)>, /* USART3_CTS_NSS */ 2223 + <STM32_PINMUX('B', 11, ANALOG)>; /* USART3_RX */ 2313 2224 }; 2314 2225 }; 2315 2226
+58
arch/arm/boot/dts/stm32mp15-scmi.dtsi
··· 27 27 reg = <0x16>; 28 28 #reset-cells = <1>; 29 29 }; 30 + 31 + scmi_voltd: protocol@17 { 32 + reg = <0x17>; 33 + 34 + scmi_reguls: regulators { 35 + #address-cells = <1>; 36 + #size-cells = <0>; 37 + 38 + scmi_reg11: reg11@0 { 39 + reg = <0>; 40 + regulator-name = "reg11"; 41 + regulator-min-microvolt = <1100000>; 42 + regulator-max-microvolt = <1100000>; 43 + }; 44 + 45 + scmi_reg18: reg18@1 { 46 + voltd-name = "reg18"; 47 + reg = <1>; 48 + regulator-name = "reg18"; 49 + regulator-min-microvolt = <1800000>; 50 + regulator-max-microvolt = <1800000>; 51 + }; 52 + 53 + scmi_usb33: usb33@2 { 54 + reg = <2>; 55 + regulator-name = "usb33"; 56 + regulator-min-microvolt = <3300000>; 57 + regulator-max-microvolt = <3300000>; 58 + }; 59 + }; 60 + }; 30 61 }; 31 62 }; 32 63 ··· 76 45 }; 77 46 }; 78 47 }; 48 + 49 + &reg11 { 50 + status = "disabled"; 51 + }; 52 + 53 + &reg18 { 54 + status = "disabled"; 55 + }; 56 + 57 + &usb33 { 58 + status = "disabled"; 59 + }; 60 + 61 + &usbotg_hs { 62 + usb33d-supply = <&scmi_usb33>; 63 + }; 64 + 65 + &usbphyc { 66 + vdda1v1-supply = <&scmi_reg11>; 67 + vdda1v8-supply = <&scmi_reg18>; 68 + }; 69 + 70 + /delete-node/ &clk_hse; 71 + /delete-node/ &clk_hsi; 72 + /delete-node/ &clk_lse; 73 + /delete-node/ &clk_lsi; 74 + /delete-node/ &clk_csi;
+6 -7
arch/arm/boot/dts/stm32mp151.dtsi
··· 565 565 compatible = "st,stm32-cec"; 566 566 reg = <0x40016000 0x400>; 567 567 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 568 - clocks = <&rcc CEC_K>, <&clk_lse>; 568 + clocks = <&rcc CEC_K>, <&rcc CEC>; 569 569 clock-names = "cec", "hdmi-cec"; 570 570 status = "disabled"; 571 571 }; ··· 1117 1117 reg = <0x4c001000 0x400>; 1118 1118 st,proc-id = <0>; 1119 1119 interrupts-extended = 1120 - <&intc GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 1121 - <&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 1122 - <&exti 61 1>; 1123 - interrupt-names = "rx", "tx", "wakeup"; 1120 + <&exti 61 1>, 1121 + <&intc GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1122 + interrupt-names = "rx", "tx"; 1124 1123 clocks = <&rcc IPCC>; 1125 1124 wakeup-source; 1126 1125 status = "disabled"; ··· 1473 1474 usbh_ohci: usb@5800c000 { 1474 1475 compatible = "generic-ohci"; 1475 1476 reg = <0x5800c000 0x1000>; 1476 - clocks = <&rcc USBH>, <&usbphyc>; 1477 + clocks = <&usbphyc>, <&rcc USBH>; 1477 1478 resets = <&rcc USBH_R>; 1478 1479 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 1479 1480 status = "disabled"; ··· 1482 1483 usbh_ehci: usb@5800d000 { 1483 1484 compatible = "generic-ehci"; 1484 1485 reg = <0x5800d000 0x1000>; 1485 - clocks = <&rcc USBH>; 1486 + clocks = <&usbphyc>, <&rcc USBH>; 1486 1487 resets = <&rcc USBH_R>; 1487 1488 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 1488 1489 companion = <&usbh_ohci>;
+30
arch/arm/boot/dts/stm32mp153c-dhcor-drc-compact.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) 2022 Marek Vasut <marex@denx.de> 4 + * 5 + * DHCOR STM32MP1 variant: 6 + * DHCR-STM32MP153C-C065-R051-V33-SPI-I-01LG 7 + * DHCOR PCB number: 586-100 or newer 8 + * DRC Compact PCB number: 627-100 or newer 9 + */ 10 + 11 + /dts-v1/; 12 + 13 + #include "stm32mp153.dtsi" 14 + #include "stm32mp15xc.dtsi" 15 + #include "stm32mp15xx-dhcor-som.dtsi" 16 + #include "stm32mp15xx-dhcor-drc-compact.dtsi" 17 + 18 + / { 19 + model = "DH electronics STM32MP153C DHCOR DRC Compact"; 20 + compatible = "dh,stm32mp153c-dhcor-drc-compact", 21 + "dh,stm32mp153c-dhcor-som", 22 + "st,stm32mp153"; 23 + }; 24 + 25 + &m_can1 { 26 + pinctrl-names = "default", "sleep"; 27 + pinctrl-0 = <&m_can1_pins_c>; 28 + pinctrl-1 = <&m_can1_sleep_pins_c>; 29 + status = "okay"; 30 + };
+4
arch/arm/boot/dts/stm32mp157a-dk1-scmi.dts
··· 29 29 clocks = <&scmi_clk CK_SCMI_MPU>; 30 30 }; 31 31 32 + &dsi { 33 + clocks = <&rcc DSI_K>, <&scmi_clk CK_SCMI_HSE>, <&rcc DSI_PX>; 34 + }; 35 + 32 36 &gpioz { 33 37 clocks = <&scmi_clk CK_SCMI_GPIOZ>; 34 38 };
+1
arch/arm/boot/dts/stm32mp157c-dk2-scmi.dts
··· 35 35 }; 36 36 37 37 &dsi { 38 + phy-dsi-supply = <&scmi_reg18>; 38 39 clocks = <&rcc DSI_K>, <&scmi_clk CK_SCMI_HSE>, <&rcc DSI_PX>; 39 40 }; 40 41
+4
arch/arm/boot/dts/stm32mp157c-ed1-scmi.dts
··· 34 34 resets = <&scmi_reset RST_SCMI_CRYP1>; 35 35 }; 36 36 37 + &dsi { 38 + clocks = <&rcc DSI_K>, <&scmi_clk CK_SCMI_HSE>, <&rcc DSI_PX>; 39 + }; 40 + 37 41 &gpioz { 38 42 clocks = <&scmi_clk CK_SCMI_GPIOZ>; 39 43 };
+1
arch/arm/boot/dts/stm32mp157c-ev1-scmi.dts
··· 36 36 }; 37 37 38 38 &dsi { 39 + phy-dsi-supply = <&scmi_reg18>; 39 40 clocks = <&rcc DSI_K>, <&scmi_clk CK_SCMI_HSE>, <&rcc DSI_PX>; 40 41 }; 41 42
+55
arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi
··· 126 126 }; 127 127 }; 128 128 129 + &dcmi { 130 + pinctrl-names = "default", "sleep"; 131 + pinctrl-0 = <&dcmi_pins_c>; 132 + pinctrl-1 = <&dcmi_sleep_pins_c>; 133 + status = "disabled"; 134 + 135 + port { 136 + dcmi_0: endpoint { 137 + remote-endpoint = <&stmipi_2>; 138 + bus-type = <5>; 139 + bus-width = <8>; 140 + pclk-sample = <0>; 141 + }; 142 + }; 143 + }; 144 + 129 145 &ethernet0 { 130 146 status = "okay"; 131 147 pinctrl-0 = <&ethernet0_rgmii_pins_c>; ··· 235 219 }; 236 220 237 221 &i2c4 { 222 + stmipi: stmipi@14 { 223 + compatible = "st,st-mipid02"; 224 + pinctrl-names = "default", "sleep"; 225 + pinctrl-0 = <&mco1_pins_a>; 226 + pinctrl-1 = <&mco1_sleep_pins_a>; 227 + reg = <0x14>; 228 + clocks = <&rcc CK_MCO1>; 229 + clock-names = "xclk"; 230 + assigned-clocks = <&rcc CK_MCO1>; 231 + assigned-clock-parents = <&rcc CK_HSE>; 232 + assigned-clock-rates = <24000000>; 233 + VDDE-supply = <&v1v8>; 234 + VDDIN-supply = <&v1v8>; 235 + reset-gpios = <&gpioz 0 GPIO_ACTIVE_LOW>; 236 + status = "disabled"; 237 + 238 + ports { 239 + #address-cells = <1>; 240 + #size-cells = <0>; 241 + 242 + port@0 { 243 + reg = <0>; 244 + stmipi_0: endpoint { 245 + }; 246 + }; 247 + 248 + port@2 { 249 + reg = <2>; 250 + stmipi_2: endpoint { 251 + bus-width = <8>; 252 + hsync-active = <0>; 253 + vsync-active = <0>; 254 + pclk-sample = <0>; 255 + remote-endpoint = <&dcmi_0>; 256 + }; 257 + }; 258 + }; 259 + }; 260 + 238 261 hdmi-transmitter@3d { 239 262 compatible = "adi,adv7513"; 240 263 reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>;
+322
arch/arm/boot/dts/stm32mp15xx-dhcor-drc-compact.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) 2022 Marek Vasut <marex@denx.de> 4 + */ 5 + 6 + / { 7 + aliases { 8 + ethernet0 = &ethernet0; 9 + ethernet1 = &ksz8851; 10 + mmc0 = &sdmmc1; 11 + rtc0 = &hwrtc; 12 + rtc1 = &rtc; 13 + serial0 = &uart4; 14 + serial1 = &uart8; 15 + serial2 = &usart3; 16 + serial3 = &uart5; 17 + spi0 = &qspi; 18 + }; 19 + 20 + chosen { 21 + stdout-path = "serial0:115200n8"; 22 + }; 23 + 24 + led { 25 + compatible = "gpio-leds"; 26 + led1 { 27 + label = "yellow:user0"; 28 + gpios = <&gpioz 6 GPIO_ACTIVE_LOW>; 29 + default-state = "off"; 30 + }; 31 + 32 + led2 { 33 + label = "red:user1"; 34 + gpios = <&gpioz 3 GPIO_ACTIVE_LOW>; 35 + default-state = "off"; 36 + }; 37 + }; 38 + 39 + ethernet_vio: vioregulator { 40 + compatible = "regulator-fixed"; 41 + regulator-name = "vio"; 42 + regulator-min-microvolt = <3300000>; 43 + regulator-max-microvolt = <3300000>; 44 + gpio = <&gpioh 2 GPIO_ACTIVE_LOW>; 45 + regulator-always-on; 46 + regulator-boot-on; 47 + vin-supply = <&vdd>; 48 + }; 49 + }; 50 + 51 + &adc { /* X11 ADC inputs */ 52 + pinctrl-names = "default"; 53 + pinctrl-0 = <&adc12_ain_pins_b>; 54 + vdd-supply = <&vdd>; 55 + vdda-supply = <&vdda>; 56 + vref-supply = <&vdda>; 57 + status = "okay"; 58 + 59 + adc1: adc@0 { 60 + st,adc-channels = <0 1 6>; 61 + st,min-sample-time-nsecs = <5000>; 62 + status = "okay"; 63 + }; 64 + 65 + adc2: adc@100 { 66 + st,adc-channels = <0 1 2>; 67 + st,min-sample-time-nsecs = <5000>; 68 + status = "okay"; 69 + }; 70 + }; 71 + 72 + &ethernet0 { 73 + status = "okay"; 74 + pinctrl-0 = <&ethernet0_rgmii_pins_c>; 75 + pinctrl-1 = <&ethernet0_rgmii_sleep_pins_c>; 76 + pinctrl-names = "default", "sleep"; 77 + phy-mode = "rgmii"; 78 + max-speed = <1000>; 79 + phy-handle = <&phy0>; 80 + 81 + mdio0 { 82 + #address-cells = <1>; 83 + #size-cells = <0>; 84 + compatible = "snps,dwmac-mdio"; 85 + reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>; 86 + reset-delay-us = <1000>; 87 + reset-post-delay-us = <1000>; 88 + 89 + phy0: ethernet-phy@7 { 90 + reg = <7>; 91 + 92 + rxc-skew-ps = <1500>; 93 + rxdv-skew-ps = <540>; 94 + rxd0-skew-ps = <420>; 95 + rxd1-skew-ps = <420>; 96 + rxd2-skew-ps = <420>; 97 + rxd3-skew-ps = <420>; 98 + 99 + txc-skew-ps = <1440>; 100 + txen-skew-ps = <540>; 101 + txd0-skew-ps = <420>; 102 + txd1-skew-ps = <420>; 103 + txd2-skew-ps = <420>; 104 + txd3-skew-ps = <420>; 105 + }; 106 + }; 107 + }; 108 + 109 + &fmc { 110 + pinctrl-names = "default", "sleep"; 111 + pinctrl-0 = <&fmc_pins_b>; 112 + pinctrl-1 = <&fmc_sleep_pins_b>; 113 + status = "okay"; 114 + 115 + ksz8851: ethernet@1,0 { 116 + compatible = "micrel,ks8851-mll"; 117 + reg = <1 0x0 0x2>, <1 0x2 0x20000>; 118 + interrupt-parent = <&gpioc>; 119 + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 120 + bank-width = <2>; 121 + 122 + /* Timing values are in nS */ 123 + st,fmc2-ebi-cs-mux-enable; 124 + st,fmc2-ebi-cs-transaction-type = <4>; 125 + st,fmc2-ebi-cs-buswidth = <16>; 126 + st,fmc2-ebi-cs-address-setup-ns = <5>; 127 + st,fmc2-ebi-cs-address-hold-ns = <5>; 128 + st,fmc2-ebi-cs-bus-turnaround-ns = <5>; 129 + st,fmc2-ebi-cs-data-setup-ns = <45>; 130 + st,fmc2-ebi-cs-data-hold-ns = <1>; 131 + st,fmc2-ebi-cs-write-address-setup-ns = <5>; 132 + st,fmc2-ebi-cs-write-address-hold-ns = <5>; 133 + st,fmc2-ebi-cs-write-bus-turnaround-ns = <5>; 134 + st,fmc2-ebi-cs-write-data-setup-ns = <45>; 135 + st,fmc2-ebi-cs-write-data-hold-ns = <1>; 136 + }; 137 + }; 138 + 139 + &gpioa { 140 + gpio-line-names = "", "", "", "", 141 + "DRCC-VAR2", "", "", "", 142 + "", "", "", "", 143 + "", "", "", ""; 144 + }; 145 + 146 + &gpioe { 147 + gpio-line-names = "", "", "", "", 148 + "", "DRCC-GPIO0", "", "", 149 + "", "", "", "", 150 + "", "", "", ""; 151 + }; 152 + 153 + &gpiog { 154 + gpio-line-names = "", "", "", "", 155 + "", "", "", "", 156 + "", "", "", "", 157 + "DRCC-GPIO5", "", "", ""; 158 + }; 159 + 160 + &gpioh { 161 + gpio-line-names = "", "", "", "DRCC-HW2", 162 + "DRCC-GPIO4", "", "", "", 163 + "DRCC-HW1", "DRCC-HW0", "", "DRCC-VAR1", 164 + "DRCC-VAR0", "", "", "DRCC-GPIO6"; 165 + }; 166 + 167 + &gpioi { 168 + gpio-line-names = "", "", "", "", 169 + "", "", "", "DRCC-GPIO2", 170 + "", "DRCC-GPIO1", "", "", 171 + "", "", "", ""; 172 + }; 173 + 174 + &i2c1 { /* X11 I2C1 */ 175 + pinctrl-names = "default"; 176 + pinctrl-0 = <&i2c1_pins_b>; 177 + i2c-scl-rising-time-ns = <185>; 178 + i2c-scl-falling-time-ns = <20>; 179 + status = "okay"; 180 + /delete-property/dmas; 181 + /delete-property/dma-names; 182 + }; 183 + 184 + &i2c4 { 185 + hwrtc: rtc@32 { 186 + compatible = "microcrystal,rv8803"; 187 + reg = <0x32>; 188 + }; 189 + 190 + eeprom@50 { 191 + compatible = "atmel,24c04"; 192 + reg = <0x50>; 193 + pagesize = <16>; 194 + }; 195 + }; 196 + 197 + &sdmmc1 { /* MicroSD */ 198 + pinctrl-names = "default", "opendrain", "sleep"; 199 + pinctrl-0 = <&sdmmc1_b4_pins_a>; 200 + pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 201 + pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 202 + cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 203 + disable-wp; 204 + st,neg-edge; 205 + bus-width = <4>; 206 + vmmc-supply = <&vdd>; 207 + vqmmc-supply = <&vdd>; 208 + status = "okay"; 209 + }; 210 + 211 + &sdmmc2 { /* eMMC */ 212 + pinctrl-names = "default", "opendrain", "sleep"; 213 + pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>; 214 + pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>; 215 + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>; 216 + bus-width = <8>; 217 + no-sd; 218 + no-sdio; 219 + non-removable; 220 + st,neg-edge; 221 + vmmc-supply = <&v3v3>; 222 + vqmmc-supply = <&vdd>; 223 + status = "okay"; 224 + }; 225 + 226 + &sdmmc3 { /* SDIO Wi-Fi */ 227 + pinctrl-names = "default", "opendrain", "sleep"; 228 + pinctrl-0 = <&sdmmc3_b4_pins_a>; 229 + pinctrl-1 = <&sdmmc3_b4_od_pins_a>; 230 + pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; 231 + broken-cd; 232 + bus-width = <4>; 233 + mmc-ddr-3_3v; 234 + st,neg-edge; 235 + vmmc-supply = <&v3v3>; 236 + vqmmc-supply = <&v3v3>; 237 + status = "okay"; 238 + }; 239 + 240 + &spi2 { /* X11 SPI */ 241 + pinctrl-names = "default"; 242 + pinctrl-0 = <&spi2_pins_b>; 243 + cs-gpios = <&gpioi 0 0>; 244 + status = "disabled"; 245 + /delete-property/dmas; 246 + /delete-property/dma-names; 247 + }; 248 + 249 + &uart4 { 250 + label = "UART0"; 251 + pinctrl-names = "default"; 252 + pinctrl-0 = <&uart4_pins_d>; 253 + /delete-property/dmas; 254 + /delete-property/dma-names; 255 + status = "okay"; 256 + }; 257 + 258 + &uart5 { /* X11 UART */ 259 + label = "X11-UART5"; 260 + pinctrl-names = "default"; 261 + pinctrl-0 = <&uart5_pins_a>; 262 + /delete-property/dmas; 263 + /delete-property/dma-names; 264 + status = "okay"; 265 + }; 266 + 267 + &uart8 { 268 + label = "RS485-1"; 269 + pinctrl-names = "default"; 270 + pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>; 271 + uart-has-rtscts; 272 + /delete-property/dmas; 273 + /delete-property/dma-names; 274 + status = "okay"; 275 + }; 276 + 277 + &usart3 { /* RS485 or RS232 */ 278 + label = "RS485-2"; 279 + pinctrl-names = "default", "sleep"; 280 + pinctrl-0 = <&usart3_pins_e>; 281 + pinctrl-1 = <&usart3_sleep_pins_e>; 282 + uart-has-rtscts; 283 + /delete-property/dmas; 284 + /delete-property/dma-names; 285 + status = "okay"; 286 + }; 287 + 288 + &usbh_ehci { 289 + phys = <&usbphyc_port0>; 290 + status = "okay"; 291 + }; 292 + 293 + &usbh_ohci { 294 + phys = <&usbphyc_port0>; 295 + status = "okay"; 296 + }; 297 + 298 + &usbotg_hs { 299 + dr_mode = "otg"; 300 + pinctrl-0 = <&usbotg_hs_pins_a>; 301 + pinctrl-names = "default"; 302 + phy-names = "usb2-phy"; 303 + phys = <&usbphyc_port1 0>; 304 + vbus-supply = <&vbus_otg>; 305 + status = "okay"; 306 + }; 307 + 308 + &usbphyc { 309 + status = "okay"; 310 + }; 311 + 312 + &usbphyc_port0 { 313 + phy-supply = <&vdd_usb>; 314 + connector { 315 + compatible = "usb-a-connector"; 316 + vbus-supply = <&vbus_sw>; 317 + }; 318 + }; 319 + 320 + &usbphyc_port1 { 321 + phy-supply = <&vdd_usb>; 322 + };
+5
arch/arm/boot/dts/stm32mp15xx-dhcor-io1v8.dtsi
··· 18 18 }; 19 19 }; 20 20 21 + &vdd { 22 + regulator-min-microvolt = <2900000>; 23 + regulator-max-microvolt = <2900000>; 24 + }; 25 + 21 26 &pwr_regulators { 22 27 vdd-supply = <&vdd_io>; 23 28 };
+2 -2
arch/arm/boot/dts/stm32mp15xx-dhcor-som.dtsi
··· 119 119 120 120 vdd: buck3 { 121 121 regulator-name = "vdd"; 122 - regulator-min-microvolt = <2900000>; 123 - regulator-max-microvolt = <2900000>; 122 + regulator-min-microvolt = <3300000>; 123 + regulator-max-microvolt = <3300000>; 124 124 regulator-always-on; 125 125 regulator-initial-mode = <0>; 126 126 regulator-over-current-protection;
+2 -7
arch/arm/boot/dts/stm32mp15xx-osd32.dtsi
··· 50 50 no-map; 51 51 }; 52 52 }; 53 - 54 - reg_sip_eeprom: regulator_eeprom { 55 - compatible = "regulator-fixed"; 56 - regulator-name = "sip_eeprom"; 57 - regulator-always-on; 58 - }; 59 53 }; 60 54 61 55 &i2c4 { ··· 72 78 compatible = "st,stpmic1-regulators"; 73 79 74 80 ldo1-supply = <&v3v3>; 81 + ldo3-supply = <&vdd_ddr>; 75 82 ldo6-supply = <&v3v3>; 76 83 pwr_sw1-supply = <&bst_out>; 77 84 ··· 198 203 199 204 sip_eeprom: eeprom@50 { 200 205 compatible = "atmel,24c32"; 201 - vcc-supply = <&reg_sip_eeprom>; 206 + vcc-supply = <&vdd>; 202 207 reg = <0x50>; 203 208 }; 204 209 };