File Index
Files and directories
Sign in
FILE

stm32mp131.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm/boot/dts/st/stm32mp131.dtsi DEVICETREE
   1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
   2/*
   3 * Copyright (C) STMicroelectronics 2021 - All Rights Reserved
   4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
   5 */
   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>
   9
  10/ {
  11	#address-cells = <1>;
  12	#size-cells = <1>;
  13
  14	cpus {
  15		#address-cells = <1>;
  16		#size-cells = <0>;
  17
  18		cpu0: cpu@0 {
  19			compatible = "arm,cortex-a7";
  20			device_type = "cpu";
  21			reg = <0>;
  22		};
  23	};
  24
  25	arm-pmu {
  26		compatible = "arm,cortex-a7-pmu";
  27		interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
  28		interrupt-affinity = <&cpu0>;
  29		interrupt-parent = <&intc>;
  30	};
  31
  32	arm_wdt: watchdog {
  33		compatible = "arm,smc-wdt";
  34		arm,smc-id = <0xbc000000>;
  35		status = "disabled";
  36	};
  37
  38	firmware {
  39		optee {
  40			method = "smc";
  41			compatible = "linaro,optee-tz";
  42			interrupt-parent = <&intc>;
  43			interrupts = <GIC_PPI 15 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
  44		};
  45
  46		scmi: scmi {
  47			compatible = "linaro,scmi-optee";
  48			#address-cells = <1>;
  49			#size-cells = <0>;
  50			linaro,optee-channel-id = <0>;
  51
  52			scmi_clk: protocol@14 {
  53				reg = <0x14>;
  54				#clock-cells = <1>;
  55			};
  56
  57			scmi_reset: protocol@16 {
  58				reg = <0x16>;
  59				#reset-cells = <1>;
  60			};
  61
  62			scmi_voltd: protocol@17 {
  63				reg = <0x17>;
  64
  65				scmi_regu: regulators {
  66					#address-cells = <1>;
  67					#size-cells = <0>;
  68
  69					scmi_reg11: regulator@0 {
  70						reg = <VOLTD_SCMI_REG11>;
  71						regulator-name = "reg11";
  72					};
  73					scmi_reg18: regulator@1 {
  74						reg = <VOLTD_SCMI_REG18>;
  75						regulator-name = "reg18";
  76					};
  77					scmi_usb33: regulator@2 {
  78						reg = <VOLTD_SCMI_USB33>;
  79						regulator-name = "usb33";
  80					};
  81				};
  82			};
  83		};
  84	};
  85
  86	intc: interrupt-controller@a0021000 {
  87		compatible = "arm,cortex-a7-gic";
  88		#interrupt-cells = <3>;
  89		interrupt-controller;
  90		reg = <0xa0021000 0x1000>,
  91		      <0xa0022000 0x2000>;
  92	};
  93
  94	psci {
  95		compatible = "arm,psci-1.0";
  96		method = "smc";
  97	};
  98
  99	timer {
 100		compatible = "arm,armv7-timer";
 101		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
 102			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
 103			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
 104			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
 105		interrupt-parent = <&intc>;
 106		always-on;
 107	};
 108
 109	thermal-zones {
 110		cpu_thermal: cpu-thermal {
 111			polling-delay-passive = <0>;
 112			polling-delay = <0>;
 113			thermal-sensors = <&dts>;
 114
 115			trips {
 116				cpu_alert1: cpu-alert1 {
 117					temperature = <85000>;
 118					hysteresis = <0>;
 119					type = "passive";
 120				};
 121
 122				cpu-crit {
 123					temperature = <120000>;
 124					hysteresis = <0>;
 125					type = "critical";
 126				};
 127			};
 128
 129			cooling-maps {
 130			};
 131		};
 132	};
 133
 134	soc {
 135		compatible = "simple-bus";
 136		#address-cells = <1>;
 137		#size-cells = <1>;
 138		interrupt-parent = <&intc>;
 139		ranges;
 140
 141		timers2: timer@40000000 {
 142			#address-cells = <1>;
 143			#size-cells = <0>;
 144			compatible = "st,stm32-timers";
 145			reg = <0x40000000 0x400>;
 146			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
 147			interrupt-names = "global";
 148			clocks = <&rcc TIM2_K>;
 149			clock-names = "int";
 150			dmas = <&dmamux1 18 0x400 0x1>,
 151			       <&dmamux1 19 0x400 0x1>,
 152			       <&dmamux1 20 0x400 0x1>,
 153			       <&dmamux1 21 0x400 0x1>,
 154			       <&dmamux1 22 0x400 0x1>;
 155			dma-names = "ch1", "ch2", "ch3", "ch4", "up";
 156			status = "disabled";
 157
 158			pwm {
 159				compatible = "st,stm32-pwm";
 160				#pwm-cells = <3>;
 161				status = "disabled";
 162			};
 163
 164			timer@1 {
 165				compatible = "st,stm32h7-timer-trigger";
 166				reg = <1>;
 167				status = "disabled";
 168			};
 169
 170			counter {
 171				compatible = "st,stm32-timer-counter";
 172				status = "disabled";
 173			};
 174		};
 175
 176		timers3: timer@40001000 {
 177			#address-cells = <1>;
 178			#size-cells = <0>;
 179			compatible = "st,stm32-timers";
 180			reg = <0x40001000 0x400>;
 181			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
 182			interrupt-names = "global";
 183			clocks = <&rcc TIM3_K>;
 184			clock-names = "int";
 185			dmas = <&dmamux1 23 0x400 0x1>,
 186			       <&dmamux1 24 0x400 0x1>,
 187			       <&dmamux1 25 0x400 0x1>,
 188			       <&dmamux1 26 0x400 0x1>,
 189			       <&dmamux1 27 0x400 0x1>,
 190			       <&dmamux1 28 0x400 0x1>;
 191			dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
 192			status = "disabled";
 193
 194			pwm {
 195				compatible = "st,stm32-pwm";
 196				#pwm-cells = <3>;
 197				status = "disabled";
 198			};
 199
 200			timer@2 {
 201				compatible = "st,stm32h7-timer-trigger";
 202				reg = <2>;
 203				status = "disabled";
 204			};
 205
 206			counter {
 207				compatible = "st,stm32-timer-counter";
 208				status = "disabled";
 209			};
 210		};
 211
 212		timers4: timer@40002000 {
 213			#address-cells = <1>;
 214			#size-cells = <0>;
 215			compatible = "st,stm32-timers";
 216			reg = <0x40002000 0x400>;
 217			interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
 218			interrupt-names = "global";
 219			clocks = <&rcc TIM4_K>;
 220			clock-names = "int";
 221			dmas = <&dmamux1 29 0x400 0x1>,
 222			       <&dmamux1 30 0x400 0x1>,
 223			       <&dmamux1 31 0x400 0x1>,
 224			       <&dmamux1 32 0x400 0x1>;
 225			dma-names = "ch1", "ch2", "ch3", "up";
 226			status = "disabled";
 227
 228			pwm {
 229				compatible = "st,stm32-pwm";
 230				#pwm-cells = <3>;
 231				status = "disabled";
 232			};
 233
 234			timer@3 {
 235				compatible = "st,stm32h7-timer-trigger";
 236				reg = <3>;
 237				status = "disabled";
 238			};
 239
 240			counter {
 241				compatible = "st,stm32-timer-counter";
 242				status = "disabled";
 243			};
 244		};
 245
 246		timers5: timer@40003000 {
 247			#address-cells = <1>;
 248			#size-cells = <0>;
 249			compatible = "st,stm32-timers";
 250			reg = <0x40003000 0x400>;
 251			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
 252			interrupt-names = "global";
 253			clocks = <&rcc TIM5_K>;
 254			clock-names = "int";
 255			dmas = <&dmamux1 55 0x400 0x1>,
 256			       <&dmamux1 56 0x400 0x1>,
 257			       <&dmamux1 57 0x400 0x1>,
 258			       <&dmamux1 58 0x400 0x1>,
 259			       <&dmamux1 59 0x400 0x1>,
 260			       <&dmamux1 60 0x400 0x1>;
 261			dma-names = "ch1", "ch2", "ch3", "ch4", "up", "trig";
 262			status = "disabled";
 263
 264			pwm {
 265				compatible = "st,stm32-pwm";
 266				#pwm-cells = <3>;
 267				status = "disabled";
 268			};
 269
 270			timer@4 {
 271				compatible = "st,stm32h7-timer-trigger";
 272				reg = <4>;
 273				status = "disabled";
 274			};
 275
 276			counter {
 277				compatible = "st,stm32-timer-counter";
 278				status = "disabled";
 279			};
 280		};
 281
 282		timers6: timer@40004000 {
 283			#address-cells = <1>;
 284			#size-cells = <0>;
 285			compatible = "st,stm32-timers";
 286			reg = <0x40004000 0x400>;
 287			interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
 288			interrupt-names = "global";
 289			clocks = <&rcc TIM6_K>;
 290			clock-names = "int";
 291			dmas = <&dmamux1 69 0x400 0x1>;
 292			dma-names = "up";
 293			status = "disabled";
 294
 295			counter {
 296				compatible = "st,stm32-timer-counter";
 297				status = "disabled";
 298			};
 299
 300			timer@5 {
 301				compatible = "st,stm32h7-timer-trigger";
 302				reg = <5>;
 303				status = "disabled";
 304			};
 305		};
 306
 307		timers7: timer@40005000 {
 308			#address-cells = <1>;
 309			#size-cells = <0>;
 310			compatible = "st,stm32-timers";
 311			reg = <0x40005000 0x400>;
 312			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
 313			interrupt-names = "global";
 314			clocks = <&rcc TIM7_K>;
 315			clock-names = "int";
 316			dmas = <&dmamux1 70 0x400 0x1>;
 317			dma-names = "up";
 318			status = "disabled";
 319
 320			counter {
 321				compatible = "st,stm32-timer-counter";
 322				status = "disabled";
 323			};
 324
 325			timer@6 {
 326				compatible = "st,stm32h7-timer-trigger";
 327				reg = <6>;
 328				status = "disabled";
 329			};
 330		};
 331
 332		lptimer1: timer@40009000 {
 333			#address-cells = <1>;
 334			#size-cells = <0>;
 335			compatible = "st,stm32-lptimer";
 336			reg = <0x40009000 0x400>;
 337			interrupts-extended = <&exti 47 IRQ_TYPE_LEVEL_HIGH>;
 338			clocks = <&rcc LPTIM1_K>;
 339			clock-names = "mux";
 340			wakeup-source;
 341			status = "disabled";
 342
 343			pwm {
 344				compatible = "st,stm32-pwm-lp";
 345				#pwm-cells = <3>;
 346				status = "disabled";
 347			};
 348
 349			trigger@0 {
 350				compatible = "st,stm32-lptimer-trigger";
 351				reg = <0>;
 352				status = "disabled";
 353			};
 354
 355			counter {
 356				compatible = "st,stm32-lptimer-counter";
 357				status = "disabled";
 358			};
 359
 360			timer {
 361				compatible = "st,stm32-lptimer-timer";
 362				status = "disabled";
 363			};
 364		};
 365
 366		i2s2: audio-controller@4000b000 {
 367			compatible = "st,stm32h7-i2s";
 368			reg = <0x4000b000 0x400>;
 369			#sound-dai-cells = <0>;
 370			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
 371			dmas = <&dmamux1 39 0x400 0x01>,
 372			       <&dmamux1 40 0x400 0x01>;
 373			dma-names = "rx", "tx";
 374			status = "disabled";
 375		};
 376
 377		spi2: spi@4000b000 {
 378			compatible = "st,stm32h7-spi";
 379			reg = <0x4000b000 0x400>;
 380			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
 381			clocks = <&rcc SPI2_K>;
 382			resets = <&rcc SPI2_R>;
 383			#address-cells = <1>;
 384			#size-cells = <0>;
 385			dmas = <&dmamux1 39 0x400 0x01>,
 386			       <&dmamux1 40 0x400 0x01>;
 387			dma-names = "rx", "tx";
 388			status = "disabled";
 389		};
 390
 391		i2s3: audio-controller@4000c000 {
 392			compatible = "st,stm32h7-i2s";
 393			reg = <0x4000c000 0x400>;
 394			#sound-dai-cells = <0>;
 395			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
 396			dmas = <&dmamux1 61 0x400 0x01>,
 397			       <&dmamux1 62 0x400 0x01>;
 398			dma-names = "rx", "tx";
 399			status = "disabled";
 400		};
 401
 402		spi3: spi@4000c000 {
 403			compatible = "st,stm32h7-spi";
 404			reg = <0x4000c000 0x400>;
 405			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
 406			clocks = <&rcc SPI3_K>;
 407			resets = <&rcc SPI3_R>;
 408			#address-cells = <1>;
 409			#size-cells = <0>;
 410			dmas = <&dmamux1 61 0x400 0x01>,
 411			       <&dmamux1 62 0x400 0x01>;
 412			dma-names = "rx", "tx";
 413			status = "disabled";
 414		};
 415
 416		spdifrx: audio-controller@4000d000 {
 417			compatible = "st,stm32h7-spdifrx";
 418			reg = <0x4000d000 0x400>;
 419			#sound-dai-cells = <0>;
 420			clocks = <&rcc SPDIF_K>;
 421			clock-names = "kclk";
 422			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
 423			dmas = <&dmamux1 93 0x400 0x01>,
 424			       <&dmamux1 94 0x400 0x01>;
 425			dma-names = "rx", "rx-ctrl";
 426			status = "disabled";
 427		};
 428
 429		usart3: serial@4000f000 {
 430			compatible = "st,stm32h7-uart";
 431			reg = <0x4000f000 0x400>;
 432			interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
 433			clocks = <&rcc USART3_K>;
 434			resets = <&rcc USART3_R>;
 435			wakeup-source;
 436			dmas = <&dmamux1 45 0x400 0x5>,
 437			       <&dmamux1 46 0x400 0x1>;
 438			dma-names = "rx", "tx";
 439			status = "disabled";
 440		};
 441
 442		uart4: serial@40010000 {
 443			compatible = "st,stm32h7-uart";
 444			reg = <0x40010000 0x400>;
 445			interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
 446			clocks = <&rcc UART4_K>;
 447			resets = <&rcc UART4_R>;
 448			wakeup-source;
 449			dmas = <&dmamux1 63 0x400 0x5>,
 450			       <&dmamux1 64 0x400 0x1>;
 451			dma-names = "rx", "tx";
 452			status = "disabled";
 453		};
 454
 455		uart5: serial@40011000 {
 456			compatible = "st,stm32h7-uart";
 457			reg = <0x40011000 0x400>;
 458			interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
 459			clocks = <&rcc UART5_K>;
 460			resets = <&rcc UART5_R>;
 461			wakeup-source;
 462			dmas = <&dmamux1 65 0x400 0x5>,
 463			       <&dmamux1 66 0x400 0x1>;
 464			dma-names = "rx", "tx";
 465			status = "disabled";
 466		};
 467
 468		i2c1: i2c@40012000 {
 469			compatible = "st,stm32mp13-i2c";
 470			reg = <0x40012000 0x400>;
 471			interrupt-names = "event", "error";
 472			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
 473				     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
 474			clocks = <&rcc I2C1_K>;
 475			resets = <&rcc I2C1_R>;
 476			#address-cells = <1>;
 477			#size-cells = <0>;
 478			dmas = <&dmamux1 33 0x400 0x1>,
 479			       <&dmamux1 34 0x400 0x1>;
 480			dma-names = "rx", "tx";
 481			st,syscfg-fmp = <&syscfg 0x4 0x1>;
 482			i2c-analog-filter;
 483			status = "disabled";
 484		};
 485
 486		i2c2: i2c@40013000 {
 487			compatible = "st,stm32mp13-i2c";
 488			reg = <0x40013000 0x400>;
 489			interrupt-names = "event", "error";
 490			interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
 491				     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
 492			clocks = <&rcc I2C2_K>;
 493			resets = <&rcc I2C2_R>;
 494			#address-cells = <1>;
 495			#size-cells = <0>;
 496			dmas = <&dmamux1 35 0x400 0x1>,
 497			       <&dmamux1 36 0x400 0x1>;
 498			dma-names = "rx", "tx";
 499			st,syscfg-fmp = <&syscfg 0x4 0x2>;
 500			i2c-analog-filter;
 501			status = "disabled";
 502		};
 503
 504		uart7: serial@40018000 {
 505			compatible = "st,stm32h7-uart";
 506			reg = <0x40018000 0x400>;
 507			interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
 508			clocks = <&rcc UART7_K>;
 509			resets = <&rcc UART7_R>;
 510			wakeup-source;
 511			dmas = <&dmamux1 79 0x400 0x5>,
 512			       <&dmamux1 80 0x400 0x1>;
 513			dma-names = "rx", "tx";
 514			status = "disabled";
 515		};
 516
 517		uart8: serial@40019000 {
 518			compatible = "st,stm32h7-uart";
 519			reg = <0x40019000 0x400>;
 520			interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
 521			clocks = <&rcc UART8_K>;
 522			resets = <&rcc UART8_R>;
 523			wakeup-source;
 524			dmas = <&dmamux1 81 0x400 0x5>,
 525			       <&dmamux1 82 0x400 0x1>;
 526			dma-names = "rx", "tx";
 527			status = "disabled";
 528		};
 529
 530		timers1: timer@44000000 {
 531			#address-cells = <1>;
 532			#size-cells = <0>;
 533			compatible = "st,stm32-timers";
 534			reg = <0x44000000 0x400>;
 535			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
 536				     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
 537				     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
 538				     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 539			interrupt-names = "brk", "up", "trg-com", "cc";
 540			clocks = <&rcc TIM1_K>;
 541			clock-names = "int";
 542			dmas = <&dmamux1 11 0x400 0x1>,
 543			       <&dmamux1 12 0x400 0x1>,
 544			       <&dmamux1 13 0x400 0x1>,
 545			       <&dmamux1 14 0x400 0x1>,
 546			       <&dmamux1 15 0x400 0x1>,
 547			       <&dmamux1 16 0x400 0x1>,
 548			       <&dmamux1 17 0x400 0x1>;
 549			dma-names = "ch1", "ch2", "ch3", "ch4",
 550				    "up", "trig", "com";
 551			status = "disabled";
 552
 553			pwm {
 554				compatible = "st,stm32-pwm";
 555				#pwm-cells = <3>;
 556				status = "disabled";
 557			};
 558
 559			timer@0 {
 560				compatible = "st,stm32h7-timer-trigger";
 561				reg = <0>;
 562				status = "disabled";
 563			};
 564
 565			counter {
 566				compatible = "st,stm32-timer-counter";
 567				status = "disabled";
 568			};
 569		};
 570
 571		timers8: timer@44001000 {
 572			#address-cells = <1>;
 573			#size-cells = <0>;
 574			compatible = "st,stm32-timers";
 575			reg = <0x44001000 0x400>;
 576			interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
 577				     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
 578				     <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
 579				     <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
 580			interrupt-names = "brk", "up", "trg-com", "cc";
 581			clocks = <&rcc TIM8_K>;
 582			clock-names = "int";
 583			dmas = <&dmamux1 47 0x400 0x1>,
 584			       <&dmamux1 48 0x400 0x1>,
 585			       <&dmamux1 49 0x400 0x1>,
 586			       <&dmamux1 50 0x400 0x1>,
 587			       <&dmamux1 51 0x400 0x1>,
 588			       <&dmamux1 52 0x400 0x1>,
 589			       <&dmamux1 53 0x400 0x1>;
 590			dma-names = "ch1", "ch2", "ch3", "ch4",
 591				    "up", "trig", "com";
 592			status = "disabled";
 593
 594			pwm {
 595				compatible = "st,stm32-pwm";
 596				#pwm-cells = <3>;
 597				status = "disabled";
 598			};
 599
 600			timer@7 {
 601				compatible = "st,stm32h7-timer-trigger";
 602				reg = <7>;
 603				status = "disabled";
 604			};
 605
 606			counter {
 607				compatible = "st,stm32-timer-counter";
 608				status = "disabled";
 609			};
 610		};
 611
 612		usart6: serial@44003000 {
 613			compatible = "st,stm32h7-uart";
 614			reg = <0x44003000 0x400>;
 615			interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
 616			clocks = <&rcc USART6_K>;
 617			resets = <&rcc USART6_R>;
 618			wakeup-source;
 619			dmas = <&dmamux1 71 0x400 0x5>,
 620			       <&dmamux1 72 0x400 0x1>;
 621			dma-names = "rx", "tx";
 622			status = "disabled";
 623		};
 624
 625		i2s1: audio-controller@44004000 {
 626			compatible = "st,stm32h7-i2s";
 627			reg = <0x44004000 0x400>;
 628			#sound-dai-cells = <0>;
 629			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 630			dmas = <&dmamux1 37 0x400 0x01>,
 631			       <&dmamux1 38 0x400 0x01>;
 632			dma-names = "rx", "tx";
 633			status = "disabled";
 634		};
 635
 636		spi1: spi@44004000 {
 637			compatible = "st,stm32h7-spi";
 638			reg = <0x44004000 0x400>;
 639			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
 640			clocks = <&rcc SPI1_K>;
 641			resets = <&rcc SPI1_R>;
 642			#address-cells = <1>;
 643			#size-cells = <0>;
 644			dmas = <&dmamux1 37 0x400 0x01>,
 645			       <&dmamux1 38 0x400 0x01>;
 646			dma-names = "rx", "tx";
 647			status = "disabled";
 648		};
 649
 650		sai1: sai@4400a000 {
 651			compatible = "st,stm32h7-sai";
 652			reg = <0x4400a000 0x4>, <0x4400a3f0 0x10>;
 653			ranges = <0 0x4400a000 0x400>;
 654			#address-cells = <1>;
 655			#size-cells = <1>;
 656			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
 657			resets = <&rcc SAI1_R>;
 658			status = "disabled";
 659
 660			sai1a: audio-controller@4400a004 {
 661				compatible = "st,stm32-sai-sub-a";
 662				reg = <0x4 0x20>;
 663				#sound-dai-cells = <0>;
 664				clocks = <&rcc SAI1_K>;
 665				clock-names = "sai_ck";
 666				dmas = <&dmamux1 87 0x400 0x01>;
 667				status = "disabled";
 668			};
 669
 670			sai1b: audio-controller@4400a024 {
 671				compatible = "st,stm32-sai-sub-b";
 672				reg = <0x24 0x20>;
 673				#sound-dai-cells = <0>;
 674				clocks = <&rcc SAI1_K>;
 675				clock-names = "sai_ck";
 676				dmas = <&dmamux1 88 0x400 0x01>;
 677				status = "disabled";
 678			};
 679		};
 680
 681		sai2: sai@4400b000 {
 682			compatible = "st,stm32h7-sai";
 683			reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
 684			ranges = <0 0x4400b000 0x400>;
 685			#address-cells = <1>;
 686			#size-cells = <1>;
 687			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
 688			resets = <&rcc SAI2_R>;
 689			status = "disabled";
 690
 691			sai2a: audio-controller@4400b004 {
 692				compatible = "st,stm32-sai-sub-a";
 693				reg = <0x4 0x20>;
 694				#sound-dai-cells = <0>;
 695				clocks = <&rcc SAI2_K>;
 696				clock-names = "sai_ck";
 697				dmas = <&dmamux1 89 0x400 0x01>;
 698				status = "disabled";
 699			};
 700
 701			sai2b: audio-controller@4400b024 {
 702				compatible = "st,stm32-sai-sub-b";
 703				reg = <0x24 0x20>;
 704				#sound-dai-cells = <0>;
 705				clocks = <&rcc SAI2_K>;
 706				clock-names = "sai_ck";
 707				dmas = <&dmamux1 90 0x400 0x01>;
 708				status = "disabled";
 709			};
 710		};
 711
 712		dfsdm: dfsdm@4400d000 {
 713			compatible = "st,stm32mp1-dfsdm";
 714			reg = <0x4400d000 0x800>;
 715			clocks = <&rcc DFSDM_K>;
 716			clock-names = "dfsdm";
 717			#address-cells = <1>;
 718			#size-cells = <0>;
 719			status = "disabled";
 720
 721			dfsdm0: filter@0 {
 722				compatible = "st,stm32-dfsdm-adc";
 723				reg = <0>;
 724				#io-channel-cells = <1>;
 725				interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
 726				dmas = <&dmamux1 101 0x400 0x01>;
 727				dma-names = "rx";
 728				status = "disabled";
 729			};
 730
 731			dfsdm1: filter@1 {
 732				compatible = "st,stm32-dfsdm-adc";
 733				reg = <1>;
 734				#io-channel-cells = <1>;
 735				interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
 736				dmas = <&dmamux1 102 0x400 0x01>;
 737				dma-names = "rx";
 738				status = "disabled";
 739			};
 740		};
 741
 742		dma1: dma-controller@48000000 {
 743			compatible = "st,stm32-dma";
 744			reg = <0x48000000 0x400>;
 745			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
 746				     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
 747				     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
 748				     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
 749				     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
 750				     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
 751				     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
 752				     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
 753			clocks = <&rcc DMA1>;
 754			resets = <&rcc DMA1_R>;
 755			#dma-cells = <4>;
 756			st,mem2mem;
 757			dma-requests = <8>;
 758		};
 759
 760		dma2: dma-controller@48001000 {
 761			compatible = "st,stm32-dma";
 762			reg = <0x48001000 0x400>;
 763			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
 764				     <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
 765				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
 766				     <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
 767				     <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
 768				     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
 769				     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
 770				     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
 771			clocks = <&rcc DMA2>;
 772			resets = <&rcc DMA2_R>;
 773			#dma-cells = <4>;
 774			st,mem2mem;
 775			dma-requests = <8>;
 776		};
 777
 778		dmamux1: dma-router@48002000 {
 779			compatible = "st,stm32h7-dmamux";
 780			reg = <0x48002000 0x40>;
 781			clocks = <&rcc DMAMUX1>;
 782			resets = <&rcc DMAMUX1_R>;
 783			#dma-cells = <3>;
 784			dma-masters = <&dma1 &dma2>;
 785			dma-requests = <128>;
 786			dma-channels = <16>;
 787		};
 788
 789		rcc: rcc@50000000 {
 790			compatible = "st,stm32mp13-rcc", "syscon";
 791			reg = <0x50000000 0x1000>;
 792			#clock-cells = <1>;
 793			#reset-cells = <1>;
 794			clock-names = "hse", "hsi", "csi", "lse", "lsi";
 795			clocks = <&scmi_clk CK_SCMI_HSE>,
 796				 <&scmi_clk CK_SCMI_HSI>,
 797				 <&scmi_clk CK_SCMI_CSI>,
 798				 <&scmi_clk CK_SCMI_LSE>,
 799				 <&scmi_clk CK_SCMI_LSI>;
 800		};
 801
 802		pwr_regulators: pwr@50001000 {
 803			compatible = "st,stm32mp1,pwr-reg";
 804			reg = <0x50001000 0x10>;
 805			status = "disabled";
 806
 807			reg11: reg11 {
 808				regulator-name = "reg11";
 809				regulator-min-microvolt = <1100000>;
 810				regulator-max-microvolt = <1100000>;
 811			};
 812
 813			reg18: reg18 {
 814				regulator-name = "reg18";
 815				regulator-min-microvolt = <1800000>;
 816				regulator-max-microvolt = <1800000>;
 817			};
 818
 819			usb33: usb33 {
 820				regulator-name = "usb33";
 821				regulator-min-microvolt = <3300000>;
 822				regulator-max-microvolt = <3300000>;
 823			};
 824		};
 825
 826		exti: interrupt-controller@5000d000 {
 827			compatible = "st,stm32mp1-exti", "syscon";
 828			interrupt-controller;
 829			#interrupt-cells = <2>;
 830			reg = <0x5000d000 0x400>;
 831			interrupts-extended =
 832				<&intc GIC_SPI 6   IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_0 */
 833				<&intc GIC_SPI 7   IRQ_TYPE_LEVEL_HIGH>,
 834				<&intc GIC_SPI 8   IRQ_TYPE_LEVEL_HIGH>,
 835				<&intc GIC_SPI 9   IRQ_TYPE_LEVEL_HIGH>,
 836				<&intc GIC_SPI 10  IRQ_TYPE_LEVEL_HIGH>,
 837				<&intc GIC_SPI 24  IRQ_TYPE_LEVEL_HIGH>,
 838				<&intc GIC_SPI 65  IRQ_TYPE_LEVEL_HIGH>,
 839				<&intc GIC_SPI 66  IRQ_TYPE_LEVEL_HIGH>,
 840				<&intc GIC_SPI 67  IRQ_TYPE_LEVEL_HIGH>,
 841				<&intc GIC_SPI 68  IRQ_TYPE_LEVEL_HIGH>,
 842				<&intc GIC_SPI 41  IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_10 */
 843				<&intc GIC_SPI 43  IRQ_TYPE_LEVEL_HIGH>,
 844				<&intc GIC_SPI 77  IRQ_TYPE_LEVEL_HIGH>,
 845				<&intc GIC_SPI 78  IRQ_TYPE_LEVEL_HIGH>,
 846				<&intc GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
 847				<&intc GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
 848				<&intc GIC_SPI 1   IRQ_TYPE_LEVEL_HIGH>,
 849				<0>,
 850				<0>,
 851				<&intc GIC_SPI 3   IRQ_TYPE_LEVEL_HIGH>,
 852				<0>,						/* EXTI_20 */
 853				<&intc GIC_SPI 32  IRQ_TYPE_LEVEL_HIGH>,
 854				<&intc GIC_SPI 34  IRQ_TYPE_LEVEL_HIGH>,
 855				<&intc GIC_SPI 73  IRQ_TYPE_LEVEL_HIGH>,
 856				<&intc GIC_SPI 93  IRQ_TYPE_LEVEL_HIGH>,
 857				<&intc GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
 858				<&intc GIC_SPI 38  IRQ_TYPE_LEVEL_HIGH>,
 859				<&intc GIC_SPI 39  IRQ_TYPE_LEVEL_HIGH>,
 860				<&intc GIC_SPI 40  IRQ_TYPE_LEVEL_HIGH>,
 861				<&intc GIC_SPI 72  IRQ_TYPE_LEVEL_HIGH>,
 862				<&intc GIC_SPI 53  IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_30 */
 863				<&intc GIC_SPI 54  IRQ_TYPE_LEVEL_HIGH>,
 864				<&intc GIC_SPI 83  IRQ_TYPE_LEVEL_HIGH>,
 865				<&intc GIC_SPI 84  IRQ_TYPE_LEVEL_HIGH>,
 866				<0>,
 867				<0>,
 868				<0>,
 869				<0>,
 870				<0>,
 871				<0>,
 872				<0>,						/* EXTI_40 */
 873				<0>,
 874				<0>,
 875				<0>,
 876				<&intc GIC_SPI 96  IRQ_TYPE_LEVEL_HIGH>,
 877				<0>,
 878				<0>,
 879				<&intc GIC_SPI 92  IRQ_TYPE_LEVEL_HIGH>,
 880				<&intc GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
 881				<0>,
 882				<&intc GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,	/* EXTI_50 */
 883				<0>,
 884				<&intc GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
 885				<&intc GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
 886				<0>,
 887				<0>,
 888				<0>,
 889				<0>,
 890				<0>,
 891				<0>,
 892				<0>,						/* EXTI_60 */
 893				<0>,
 894				<0>,
 895				<0>,
 896				<0>,
 897				<0>,
 898				<0>,
 899				<0>,
 900				<&intc GIC_SPI 63  IRQ_TYPE_LEVEL_HIGH>,
 901				<0>,
 902				<&intc GIC_SPI 98  IRQ_TYPE_LEVEL_HIGH>;	/* EXTI_70 */
 903		};
 904
 905		syscfg: syscon@50020000 {
 906			compatible = "st,stm32mp157-syscfg", "syscon";
 907			reg = <0x50020000 0x400>;
 908			clocks = <&rcc SYSCFG>;
 909		};
 910
 911		lptimer4: timer@50023000 {
 912			compatible = "st,stm32-lptimer";
 913			reg = <0x50023000 0x400>;
 914			interrupts-extended = <&exti 52 IRQ_TYPE_LEVEL_HIGH>;
 915			clocks = <&rcc LPTIM4_K>;
 916			clock-names = "mux";
 917			wakeup-source;
 918			status = "disabled";
 919
 920			pwm {
 921				compatible = "st,stm32-pwm-lp";
 922				#pwm-cells = <3>;
 923				status = "disabled";
 924			};
 925
 926			timer {
 927				compatible = "st,stm32-lptimer-timer";
 928				status = "disabled";
 929			};
 930		};
 931
 932		lptimer5: timer@50024000 {
 933			compatible = "st,stm32-lptimer";
 934			reg = <0x50024000 0x400>;
 935			interrupts-extended = <&exti 53 IRQ_TYPE_LEVEL_HIGH>;
 936			clocks = <&rcc LPTIM5_K>;
 937			clock-names = "mux";
 938			wakeup-source;
 939			status = "disabled";
 940
 941			pwm {
 942				compatible = "st,stm32-pwm-lp";
 943				#pwm-cells = <3>;
 944				status = "disabled";
 945			};
 946
 947			timer {
 948				compatible = "st,stm32-lptimer-timer";
 949				status = "disabled";
 950			};
 951		};
 952
 953		dts: thermal@50028000 {
 954			compatible = "st,stm32-thermal";
 955			reg = <0x50028000 0x100>;
 956			interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
 957			clocks = <&rcc DTS>;
 958			clock-names = "pclk";
 959			#thermal-sensor-cells = <0>;
 960			status = "disabled";
 961		};
 962
 963		hdp: pinctrl@5002a000 {
 964			compatible = "st,stm32mp131-hdp";
 965			reg = <0x5002a000 0x400>;
 966			clocks = <&rcc HDP>;
 967			status = "disabled";
 968		};
 969
 970		mdma: dma-controller@58000000 {
 971			compatible = "st,stm32h7-mdma";
 972			reg = <0x58000000 0x1000>;
 973			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
 974			clocks = <&rcc MDMA>;
 975			#dma-cells = <5>;
 976			dma-channels = <32>;
 977			dma-requests = <48>;
 978		};
 979
 980		crc1: crc@58009000 {
 981			compatible = "st,stm32f7-crc";
 982			reg = <0x58009000 0x400>;
 983			clocks = <&rcc CRC1>;
 984			status = "disabled";
 985		};
 986
 987		usbh_ohci: usb@5800c000 {
 988			compatible = "generic-ohci";
 989			reg = <0x5800c000 0x1000>;
 990			clocks = <&usbphyc>, <&rcc USBH>;
 991			resets = <&rcc USBH_R>;
 992			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
 993			status = "disabled";
 994		};
 995
 996		usbh_ehci: usb@5800d000 {
 997			compatible = "generic-ehci";
 998			reg = <0x5800d000 0x1000>;
 999			clocks = <&usbphyc>, <&rcc USBH>;
1000			resets = <&rcc USBH_R>;
1001			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
1002			companion = <&usbh_ohci>;
1003			status = "disabled";
1004		};
1005
1006		iwdg2: watchdog@5a002000 {
1007			compatible = "st,stm32mp1-iwdg";
1008			reg = <0x5a002000 0x400>;
1009			interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1010			clocks = <&rcc IWDG2>, <&scmi_clk CK_SCMI_LSI>;
1011			clock-names = "pclk", "lsi";
1012			status = "disabled";
1013		};
1014
1015		rtc: rtc@5c004000 {
1016			compatible = "st,stm32mp1-rtc";
1017			reg = <0x5c004000 0x400>;
1018			interrupts-extended = <&exti 19 IRQ_TYPE_LEVEL_HIGH>;
1019			clocks = <&scmi_clk CK_SCMI_RTCAPB>,
1020				 <&scmi_clk CK_SCMI_RTC>;
1021			clock-names = "pclk", "rtc_ck";
1022			status = "disabled";
1023		};
1024
1025		bsec: efuse@5c005000 {
1026			compatible = "st,stm32mp13-bsec";
1027			reg = <0x5c005000 0x400>;
1028			#address-cells = <1>;
1029			#size-cells = <1>;
1030
1031			part_number_otp: part_number_otp@4 {
1032				reg = <0x4 0x2>;
1033				bits = <0 12>;
1034			};
1035			vrefint: vrefin-cal@52 {
1036				reg = <0x52 0x2>;
1037			};
1038			ts_cal1: calib@5c {
1039				reg = <0x5c 0x2>;
1040			};
1041			ts_cal2: calib@5e {
1042				reg = <0x5e 0x2>;
1043			};
1044			ethernet_mac1_address: mac1@e4 {
1045				reg = <0xe4 0x6>;
1046			};
1047			ethernet_mac2_address: mac2@ea {
1048				reg = <0xea 0x6>;
1049			};
1050		};
1051
1052		etzpc: bus@5c007000 {
1053			compatible = "st,stm32-etzpc", "simple-bus";
1054			reg = <0x5c007000 0x400>;
1055			#address-cells = <1>;
1056			#size-cells = <1>;
1057			#access-controller-cells = <1>;
1058			ranges;
1059
1060			adc_2: adc@48004000 {
1061				compatible = "st,stm32mp13-adc-core";
1062				reg = <0x48004000 0x400>;
1063				interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1064				clocks = <&rcc ADC2>, <&rcc ADC2_K>;
1065				clock-names = "bus", "adc";
1066				interrupt-controller;
1067				#interrupt-cells = <1>;
1068				#address-cells = <1>;
1069				#size-cells = <0>;
1070				access-controllers = <&etzpc 33>;
1071				status = "disabled";
1072
1073				adc2: adc@0 {
1074					compatible = "st,stm32mp13-adc";
1075					#io-channel-cells = <1>;
1076					#address-cells = <1>;
1077					#size-cells = <0>;
1078					reg = <0x0>;
1079					interrupt-parent = <&adc_2>;
1080					interrupts = <0>;
1081					dmas = <&dmamux1 10 0x400 0x80000001>;
1082					dma-names = "rx";
1083					nvmem-cells = <&vrefint>;
1084					nvmem-cell-names = "vrefint";
1085					status = "disabled";
1086
1087					channel@13 {
1088						reg = <13>;
1089						label = "vrefint";
1090					};
1091					channel@14 {
1092						reg = <14>;
1093						label = "vddcore";
1094					};
1095					channel@16 {
1096						reg = <16>;
1097						label = "vddcpu";
1098					};
1099					channel@17 {
1100						reg = <17>;
1101						label = "vddq_ddr";
1102					};
1103				};
1104			};
1105
1106			usbotg_hs: usb@49000000 {
1107				compatible = "st,stm32mp15-hsotg", "snps,dwc2";
1108				reg = <0x49000000 0x40000>;
1109				clocks = <&rcc USBO_K>;
1110				clock-names = "otg";
1111				resets = <&rcc USBO_R>;
1112				reset-names = "dwc2";
1113				interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1114				g-rx-fifo-size = <512>;
1115				g-np-tx-fifo-size = <32>;
1116				g-tx-fifo-size = <256 16 16 16 16 16 16 16>;
1117				dr_mode = "otg";
1118				otg-rev = <0x200>;
1119				usb33d-supply = <&scmi_usb33>;
1120				access-controllers = <&etzpc 34>;
1121				status = "disabled";
1122			};
1123
1124			usart1: serial@4c000000 {
1125				compatible = "st,stm32h7-uart";
1126				reg = <0x4c000000 0x400>;
1127				interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
1128				clocks = <&rcc USART1_K>;
1129				resets = <&rcc USART1_R>;
1130				wakeup-source;
1131				dmas = <&dmamux1 41 0x400 0x5>,
1132				<&dmamux1 42 0x400 0x1>;
1133				dma-names = "rx", "tx";
1134				access-controllers = <&etzpc 16>;
1135				status = "disabled";
1136			};
1137
1138			usart2: serial@4c001000 {
1139				compatible = "st,stm32h7-uart";
1140				reg = <0x4c001000 0x400>;
1141				interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
1142				clocks = <&rcc USART2_K>;
1143				resets = <&rcc USART2_R>;
1144				wakeup-source;
1145				dmas = <&dmamux1 43 0x400 0x5>,
1146				<&dmamux1 44 0x400 0x1>;
1147				dma-names = "rx", "tx";
1148				access-controllers = <&etzpc 17>;
1149				status = "disabled";
1150			};
1151
1152			i2s4: audio-controller@4c002000 {
1153				compatible = "st,stm32h7-i2s";
1154				reg = <0x4c002000 0x400>;
1155				#sound-dai-cells = <0>;
1156				interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1157				dmas = <&dmamux1 83 0x400 0x01>,
1158				<&dmamux1 84 0x400 0x01>;
1159				dma-names = "rx", "tx";
1160				access-controllers = <&etzpc 13>;
1161				status = "disabled";
1162			};
1163
1164			spi4: spi@4c002000 {
1165				compatible = "st,stm32h7-spi";
1166				reg = <0x4c002000 0x400>;
1167				interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
1168				clocks = <&rcc SPI4_K>;
1169				resets = <&rcc SPI4_R>;
1170				#address-cells = <1>;
1171				#size-cells = <0>;
1172				dmas = <&dmamux1 83 0x400 0x01>,
1173				       <&dmamux1 84 0x400 0x01>;
1174				dma-names = "rx", "tx";
1175				access-controllers = <&etzpc 18>;
1176				status = "disabled";
1177			};
1178
1179			spi5: spi@4c003000 {
1180				compatible = "st,stm32h7-spi";
1181				reg = <0x4c003000 0x400>;
1182				interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
1183				clocks = <&rcc SPI5_K>;
1184				resets = <&rcc SPI5_R>;
1185				#address-cells = <1>;
1186				#size-cells = <0>;
1187				dmas = <&dmamux1 85 0x400 0x01>,
1188				       <&dmamux1 86 0x400 0x01>;
1189				dma-names = "rx", "tx";
1190				access-controllers = <&etzpc 19>;
1191				status = "disabled";
1192			};
1193
1194			i2c3: i2c@4c004000 {
1195				compatible = "st,stm32mp13-i2c";
1196				reg = <0x4c004000 0x400>;
1197				interrupt-names = "event", "error";
1198				interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
1199					     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
1200				clocks = <&rcc I2C3_K>;
1201				resets = <&rcc I2C3_R>;
1202				#address-cells = <1>;
1203				#size-cells = <0>;
1204				dmas = <&dmamux1 73 0x400 0x1>,
1205				       <&dmamux1 74 0x400 0x1>;
1206				dma-names = "rx", "tx";
1207				st,syscfg-fmp = <&syscfg 0x4 0x4>;
1208				i2c-analog-filter;
1209				access-controllers = <&etzpc 20>;
1210				status = "disabled";
1211			};
1212
1213			i2c4: i2c@4c005000 {
1214				compatible = "st,stm32mp13-i2c";
1215				reg = <0x4c005000 0x400>;
1216				interrupt-names = "event", "error";
1217				interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
1218					     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
1219				clocks = <&rcc I2C4_K>;
1220				resets = <&rcc I2C4_R>;
1221				#address-cells = <1>;
1222				#size-cells = <0>;
1223				dmas = <&dmamux1 75 0x400 0x1>,
1224				       <&dmamux1 76 0x400 0x1>;
1225				dma-names = "rx", "tx";
1226				st,syscfg-fmp = <&syscfg 0x4 0x8>;
1227				i2c-analog-filter;
1228				access-controllers = <&etzpc 21>;
1229				status = "disabled";
1230			};
1231
1232			i2c5: i2c@4c006000 {
1233				compatible = "st,stm32mp13-i2c";
1234				reg = <0x4c006000 0x400>;
1235				interrupt-names = "event", "error";
1236				interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
1237					     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
1238				clocks = <&rcc I2C5_K>;
1239				resets = <&rcc I2C5_R>;
1240				#address-cells = <1>;
1241				#size-cells = <0>;
1242				dmas = <&dmamux1 115 0x400 0x1>,
1243				       <&dmamux1 116 0x400 0x1>;
1244				dma-names = "rx", "tx";
1245				st,syscfg-fmp = <&syscfg 0x4 0x10>;
1246				i2c-analog-filter;
1247				access-controllers = <&etzpc 22>;
1248				status = "disabled";
1249			};
1250
1251			timers12: timer@4c007000 {
1252				#address-cells = <1>;
1253				#size-cells = <0>;
1254				compatible = "st,stm32-timers";
1255				reg = <0x4c007000 0x400>;
1256				interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
1257				interrupt-names = "global";
1258				clocks = <&rcc TIM12_K>;
1259				clock-names = "int";
1260				access-controllers = <&etzpc 23>;
1261				status = "disabled";
1262
1263				counter {
1264					compatible = "st,stm32-timer-counter";
1265					status = "disabled";
1266				};
1267
1268				pwm {
1269					compatible = "st,stm32-pwm";
1270					#pwm-cells = <3>;
1271					status = "disabled";
1272				};
1273
1274				timer@11 {
1275					compatible = "st,stm32h7-timer-trigger";
1276					reg = <11>;
1277					status = "disabled";
1278				};
1279			};
1280
1281			timers13: timer@4c008000 {
1282				#address-cells = <1>;
1283				#size-cells = <0>;
1284				compatible = "st,stm32-timers";
1285				reg = <0x4c008000 0x400>;
1286				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
1287				interrupt-names = "global";
1288				clocks = <&rcc TIM13_K>;
1289				clock-names = "int";
1290				access-controllers = <&etzpc 24>;
1291				status = "disabled";
1292
1293				counter {
1294					compatible = "st,stm32-timer-counter";
1295					status = "disabled";
1296				};
1297
1298				pwm {
1299					compatible = "st,stm32-pwm";
1300					#pwm-cells = <3>;
1301					status = "disabled";
1302				};
1303
1304				timer@12 {
1305					compatible = "st,stm32h7-timer-trigger";
1306					reg = <12>;
1307					status = "disabled";
1308				};
1309			};
1310
1311			timers14: timer@4c009000 {
1312				#address-cells = <1>;
1313				#size-cells = <0>;
1314				compatible = "st,stm32-timers";
1315				reg = <0x4c009000 0x400>;
1316				interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1317				interrupt-names = "global";
1318				clocks = <&rcc TIM14_K>;
1319				clock-names = "int";
1320				access-controllers = <&etzpc 25>;
1321				status = "disabled";
1322
1323				counter {
1324					compatible = "st,stm32-timer-counter";
1325					status = "disabled";
1326				};
1327
1328				pwm {
1329					compatible = "st,stm32-pwm";
1330					#pwm-cells = <3>;
1331					status = "disabled";
1332				};
1333
1334				timer@13 {
1335					compatible = "st,stm32h7-timer-trigger";
1336					reg = <13>;
1337					status = "disabled";
1338				};
1339			};
1340
1341			timers15: timer@4c00a000 {
1342				#address-cells = <1>;
1343				#size-cells = <0>;
1344				compatible = "st,stm32-timers";
1345				reg = <0x4c00a000 0x400>;
1346				interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1347				interrupt-names = "global";
1348				clocks = <&rcc TIM15_K>;
1349				clock-names = "int";
1350				dmas = <&dmamux1 105 0x400 0x1>,
1351				<&dmamux1 106 0x400 0x1>,
1352				<&dmamux1 107 0x400 0x1>,
1353				<&dmamux1 108 0x400 0x1>;
1354				dma-names = "ch1", "up", "trig", "com";
1355				access-controllers = <&etzpc 26>;
1356				status = "disabled";
1357
1358				counter {
1359					compatible = "st,stm32-timer-counter";
1360					status = "disabled";
1361				};
1362
1363				pwm {
1364					compatible = "st,stm32-pwm";
1365					#pwm-cells = <3>;
1366					status = "disabled";
1367				};
1368
1369				timer@14 {
1370					compatible = "st,stm32h7-timer-trigger";
1371					reg = <14>;
1372					status = "disabled";
1373				};
1374			};
1375
1376			timers16: timer@4c00b000 {
1377				#address-cells = <1>;
1378				#size-cells = <0>;
1379				compatible = "st,stm32-timers";
1380				reg = <0x4c00b000 0x400>;
1381				interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
1382				interrupt-names = "global";
1383				clocks = <&rcc TIM16_K>;
1384				clock-names = "int";
1385				dmas = <&dmamux1 109 0x400 0x1>,
1386				<&dmamux1 110 0x400 0x1>;
1387				dma-names = "ch1", "up";
1388				access-controllers = <&etzpc 27>;
1389				status = "disabled";
1390
1391				counter {
1392					compatible = "st,stm32-timer-counter";
1393					status = "disabled";
1394				};
1395
1396				pwm {
1397					compatible = "st,stm32-pwm";
1398					#pwm-cells = <3>;
1399					status = "disabled";
1400				};
1401
1402				timer@15 {
1403					compatible = "st,stm32h7-timer-trigger";
1404					reg = <15>;
1405					status = "disabled";
1406				};
1407			};
1408
1409			timers17: timer@4c00c000 {
1410				#address-cells = <1>;
1411				#size-cells = <0>;
1412				compatible = "st,stm32-timers";
1413				reg = <0x4c00c000 0x400>;
1414				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
1415				interrupt-names = "global";
1416				clocks = <&rcc TIM17_K>;
1417				clock-names = "int";
1418				dmas = <&dmamux1 111 0x400 0x1>,
1419				       <&dmamux1 112 0x400 0x1>;
1420				dma-names = "ch1", "up";
1421				access-controllers = <&etzpc 28>;
1422				status = "disabled";
1423
1424				counter {
1425					compatible = "st,stm32-timer-counter";
1426					status = "disabled";
1427				};
1428
1429				pwm {
1430					compatible = "st,stm32-pwm";
1431					#pwm-cells = <3>;
1432					status = "disabled";
1433				};
1434
1435				timer@16 {
1436					compatible = "st,stm32h7-timer-trigger";
1437					reg = <16>;
1438					status = "disabled";
1439				};
1440			};
1441
1442			lptimer2: timer@50021000 {
1443				#address-cells = <1>;
1444				#size-cells = <0>;
1445				compatible = "st,stm32-lptimer";
1446				reg = <0x50021000 0x400>;
1447				interrupts-extended = <&exti 48 IRQ_TYPE_LEVEL_HIGH>;
1448				clocks = <&rcc LPTIM2_K>;
1449				clock-names = "mux";
1450				wakeup-source;
1451				access-controllers = <&etzpc 1>;
1452				status = "disabled";
1453
1454				pwm {
1455					compatible = "st,stm32-pwm-lp";
1456					#pwm-cells = <3>;
1457					status = "disabled";
1458				};
1459
1460				trigger@1 {
1461					compatible = "st,stm32-lptimer-trigger";
1462					reg = <1>;
1463					status = "disabled";
1464				};
1465
1466				counter {
1467					compatible = "st,stm32-lptimer-counter";
1468					status = "disabled";
1469				};
1470
1471				timer {
1472					compatible = "st,stm32-lptimer-timer";
1473					status = "disabled";
1474				};
1475			};
1476
1477			lptimer3: timer@50022000 {
1478				#address-cells = <1>;
1479				#size-cells = <0>;
1480				compatible = "st,stm32-lptimer";
1481				reg = <0x50022000 0x400>;
1482				interrupts-extended = <&exti 50 IRQ_TYPE_LEVEL_HIGH>;
1483				clocks = <&rcc LPTIM3_K>;
1484				clock-names = "mux";
1485				wakeup-source;
1486				access-controllers = <&etzpc 2>;
1487				status = "disabled";
1488
1489				pwm {
1490					compatible = "st,stm32-pwm-lp";
1491					#pwm-cells = <3>;
1492					status = "disabled";
1493				};
1494
1495				trigger@2 {
1496					compatible = "st,stm32-lptimer-trigger";
1497					reg = <2>;
1498					status = "disabled";
1499				};
1500
1501				timer {
1502					compatible = "st,stm32-lptimer-timer";
1503					status = "disabled";
1504				};
1505			};
1506
1507			hash: hash@54003000 {
1508				compatible = "st,stm32mp13-hash";
1509				reg = <0x54003000 0x400>;
1510				interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
1511				clocks = <&rcc HASH1>;
1512				resets = <&rcc HASH1_R>;
1513				dmas = <&mdma 30 0x2 0x1000a02 0x0 0x0>;
1514				dma-names = "in";
1515				access-controllers = <&etzpc 41>;
1516				status = "disabled";
1517			};
1518
1519			rng: rng@54004000 {
1520				compatible = "st,stm32mp13-rng";
1521				reg = <0x54004000 0x400>;
1522				clocks = <&rcc RNG1_K>;
1523				resets = <&rcc RNG1_R>;
1524				access-controllers = <&etzpc 40>;
1525				status = "disabled";
1526			};
1527
1528			fmc: memory-controller@58002000 {
1529				compatible = "st,stm32mp1-fmc2-ebi";
1530				reg = <0x58002000 0x1000>;
1531				ranges = <0 0 0x60000000 0x04000000>, /* EBI CS 1 */
1532					 <1 0 0x64000000 0x04000000>, /* EBI CS 2 */
1533					 <2 0 0x68000000 0x04000000>, /* EBI CS 3 */
1534					 <3 0 0x6c000000 0x04000000>, /* EBI CS 4 */
1535					 <4 0 0x80000000 0x10000000>; /* NAND */
1536				#address-cells = <2>;
1537				#size-cells = <1>;
1538				clocks = <&rcc FMC_K>;
1539				resets = <&rcc FMC_R>;
1540				access-controllers = <&etzpc 54>;
1541				status = "disabled";
1542
1543				nand-controller@4,0 {
1544					compatible = "st,stm32mp1-fmc2-nfc";
1545					reg = <4 0x00000000 0x1000>,
1546					      <4 0x08010000 0x1000>,
1547					      <4 0x08020000 0x1000>,
1548					      <4 0x01000000 0x1000>,
1549					      <4 0x09010000 0x1000>,
1550					      <4 0x09020000 0x1000>;
1551					#address-cells = <1>;
1552					#size-cells = <0>;
1553					interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
1554					dmas = <&mdma 24 0x2 0x12000a02 0x0 0x0>,
1555					       <&mdma 24 0x2 0x12000a08 0x0 0x0>,
1556					       <&mdma 25 0x2 0x12000a0a 0x0 0x0>;
1557					dma-names = "tx", "rx", "ecc";
1558					status = "disabled";
1559				};
1560			};
1561
1562			qspi: spi@58003000 {
1563				compatible = "st,stm32f469-qspi";
1564				reg = <0x58003000 0x1000>, <0x70000000 0x10000000>;
1565				reg-names = "qspi", "qspi_mm";
1566				#address-cells = <1>;
1567				#size-cells = <0>;
1568				interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
1569				dmas = <&mdma 26 0x2 0x10100002 0x0 0x0>,
1570				       <&mdma 26 0x2 0x10100008 0x0 0x0>;
1571				dma-names = "tx", "rx";
1572				clocks = <&rcc QSPI_K>;
1573				resets = <&rcc QSPI_R>;
1574				access-controllers = <&etzpc 55>;
1575				status = "disabled";
1576			};
1577
1578			sdmmc1: mmc@58005000 {
1579				compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
1580				arm,primecell-periphid = <0x20253180>;
1581				reg = <0x58005000 0x1000>, <0x58006000 0x1000>;
1582				interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
1583				clocks = <&rcc SDMMC1_K>;
1584				clock-names = "apb_pclk";
1585				resets = <&rcc SDMMC1_R>;
1586				cap-sd-highspeed;
1587				cap-mmc-highspeed;
1588				max-frequency = <130000000>;
1589				access-controllers = <&etzpc 50>;
1590				status = "disabled";
1591			};
1592
1593			sdmmc2: mmc@58007000 {
1594				compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
1595				arm,primecell-periphid = <0x20253180>;
1596				reg = <0x58007000 0x1000>, <0x58008000 0x1000>;
1597				interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1598				clocks = <&rcc SDMMC2_K>;
1599				clock-names = "apb_pclk";
1600				resets = <&rcc SDMMC2_R>;
1601				cap-sd-highspeed;
1602				cap-mmc-highspeed;
1603				max-frequency = <130000000>;
1604				access-controllers = <&etzpc 51>;
1605				status = "disabled";
1606			};
1607
1608			ethernet1: ethernet@5800a000 {
1609				compatible = "st,stm32mp13-dwmac", "snps,dwmac-4.20a";
1610				reg = <0x5800a000 0x2000>;
1611				reg-names = "stmmaceth";
1612				interrupts-extended = <&intc GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
1613						      <&exti 68 1>;
1614				interrupt-names = "macirq", "eth_wake_irq";
1615				clock-names = "stmmaceth",
1616					      "mac-clk-tx",
1617					      "mac-clk-rx",
1618					      "ethstp",
1619					      "ptp_ref",
1620					      "eth-ck";
1621				clocks = <&rcc ETH1MAC>,
1622					 <&rcc ETH1TX>,
1623					 <&rcc ETH1RX>,
1624					 <&rcc ETH1STP>,
1625					 <&rcc ETH1PTP_K>,
1626					 <&rcc ETH1CK_K>;
1627				st,syscon = <&syscfg 0x4 0xff0000>;
1628				snps,mixed-burst;
1629				snps,pbl = <2>;
1630				snps,axi-config = <&stmmac_axi_config_1>;
1631				snps,tso;
1632				access-controllers = <&etzpc 48>;
1633				nvmem-cells = <&ethernet_mac1_address>;
1634				nvmem-cell-names = "mac-address";
1635				status = "disabled";
1636
1637				stmmac_axi_config_1: stmmac-axi-config {
1638					snps,blen = <0 0 0 0 16 8 4>;
1639					snps,rd_osr_lmt = <0x7>;
1640					snps,wr_osr_lmt = <0x7>;
1641				};
1642			};
1643
1644			usbphyc: usbphyc@5a006000 {
1645				#address-cells = <1>;
1646				#size-cells = <0>;
1647				#clock-cells = <0>;
1648				compatible = "st,stm32mp1-usbphyc";
1649				reg = <0x5a006000 0x1000>;
1650				clocks = <&rcc USBPHY_K>;
1651				resets = <&rcc USBPHY_R>;
1652				vdda1v1-supply = <&scmi_reg11>;
1653				vdda1v8-supply = <&scmi_reg18>;
1654				access-controllers = <&etzpc 5>;
1655				status = "disabled";
1656
1657				usbphyc_port0: usb-phy@0 {
1658					#phy-cells = <0>;
1659					reg = <0>;
1660				};
1661
1662				usbphyc_port1: usb-phy@1 {
1663					#phy-cells = <1>;
1664					reg = <1>;
1665				};
1666			};
1667
1668			iwdg1: watchdog@5c003000 {
1669				compatible = "st,stm32mp1-iwdg";
1670				reg = <0x5c003000 0x400>;
1671				interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
1672				clocks = <&rcc IWDG1>, <&scmi_clk CK_SCMI_LSI>;
1673				clock-names = "pclk", "lsi";
1674				access-controllers = <&etzpc 12>;
1675				status = "disabled";
1676			};
1677		};
1678
1679		/*
1680		 * Break node order to solve dependency probe issue between
1681		 * pinctrl and exti.
1682		 */
1683		pinctrl: pinctrl@50002000 {
1684			#address-cells = <1>;
1685			#size-cells = <1>;
1686			compatible = "st,stm32mp135-pinctrl";
1687			ranges = <0 0x50002000 0x8400>;
1688			interrupt-parent = <&exti>;
1689			st,syscfg = <&exti 0x60 0xff>;
1690
1691			gpioa: gpio@50002000 {
1692				gpio-controller;
1693				#gpio-cells = <2>;
1694				interrupt-controller;
1695				#interrupt-cells = <2>;
1696				reg = <0x0 0x400>;
1697				clocks = <&rcc GPIOA>;
1698				st,bank-name = "GPIOA";
1699				ngpios = <16>;
1700				gpio-ranges = <&pinctrl 0 0 16>;
1701			};
1702
1703			gpiob: gpio@50003000 {
1704				gpio-controller;
1705				#gpio-cells = <2>;
1706				interrupt-controller;
1707				#interrupt-cells = <2>;
1708				reg = <0x1000 0x400>;
1709				clocks = <&rcc GPIOB>;
1710				st,bank-name = "GPIOB";
1711				ngpios = <16>;
1712				gpio-ranges = <&pinctrl 0 16 16>;
1713			};
1714
1715			gpioc: gpio@50004000 {
1716				gpio-controller;
1717				#gpio-cells = <2>;
1718				interrupt-controller;
1719				#interrupt-cells = <2>;
1720				reg = <0x2000 0x400>;
1721				clocks = <&rcc GPIOC>;
1722				st,bank-name = "GPIOC";
1723				ngpios = <16>;
1724				gpio-ranges = <&pinctrl 0 32 16>;
1725			};
1726
1727			gpiod: gpio@50005000 {
1728				gpio-controller;
1729				#gpio-cells = <2>;
1730				interrupt-controller;
1731				#interrupt-cells = <2>;
1732				reg = <0x3000 0x400>;
1733				clocks = <&rcc GPIOD>;
1734				st,bank-name = "GPIOD";
1735				ngpios = <16>;
1736				gpio-ranges = <&pinctrl 0 48 16>;
1737			};
1738
1739			gpioe: gpio@50006000 {
1740				gpio-controller;
1741				#gpio-cells = <2>;
1742				interrupt-controller;
1743				#interrupt-cells = <2>;
1744				reg = <0x4000 0x400>;
1745				clocks = <&rcc GPIOE>;
1746				st,bank-name = "GPIOE";
1747				ngpios = <16>;
1748				gpio-ranges = <&pinctrl 0 64 16>;
1749			};
1750
1751			gpiof: gpio@50007000 {
1752				gpio-controller;
1753				#gpio-cells = <2>;
1754				interrupt-controller;
1755				#interrupt-cells = <2>;
1756				reg = <0x5000 0x400>;
1757				clocks = <&rcc GPIOF>;
1758				st,bank-name = "GPIOF";
1759				ngpios = <16>;
1760				gpio-ranges = <&pinctrl 0 80 16>;
1761			};
1762
1763			gpiog: gpio@50008000 {
1764				gpio-controller;
1765				#gpio-cells = <2>;
1766				interrupt-controller;
1767				#interrupt-cells = <2>;
1768				reg = <0x6000 0x400>;
1769				clocks = <&rcc GPIOG>;
1770				st,bank-name = "GPIOG";
1771				ngpios = <16>;
1772				gpio-ranges = <&pinctrl 0 96 16>;
1773			};
1774
1775			gpioh: gpio@50009000 {
1776				gpio-controller;
1777				#gpio-cells = <2>;
1778				interrupt-controller;
1779				#interrupt-cells = <2>;
1780				reg = <0x7000 0x400>;
1781				clocks = <&rcc GPIOH>;
1782				st,bank-name = "GPIOH";
1783				ngpios = <15>;
1784				gpio-ranges = <&pinctrl 0 112 15>;
1785			};
1786
1787			gpioi: gpio@5000a000 {
1788				gpio-controller;
1789				#gpio-cells = <2>;
1790				interrupt-controller;
1791				#interrupt-cells = <2>;
1792				reg = <0x8000 0x400>;
1793				clocks = <&rcc GPIOI>;
1794				st,bank-name = "GPIOI";
1795				ngpios = <8>;
1796				gpio-ranges = <&pinctrl 0 128 8>;
1797			};
1798		};
1799	};
1800};
~/ Read-only file preview.