File Index
Files and directories
Sign in
FILE

versal-net.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/xilinx/versal-net.dtsi DEVICETREE
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * dts file for Xilinx Versal NET
   4 *
   5 * (C) Copyright 2022, Xilinx, Inc.
   6 * (C) Copyright 2022 - 2025, Advanced Micro Devices, Inc.
   7 *
   8 * Michal Simek <michal.simek@amd.com>
   9 */
  10
  11/dts-v1/;
  12
  13/ {
  14	compatible = "xlnx,versal-net";
  15	model = "Xilinx Versal NET";
  16	#address-cells = <2>;
  17	#size-cells = <2>;
  18	interrupt-parent = <&gic>;
  19
  20	options {
  21		u-boot {
  22			compatible = "u-boot,config";
  23			bootscr-address = /bits/ 64 <0x20000000>;
  24		};
  25	};
  26
  27	cpus {
  28		#address-cells = <1>;
  29		#size-cells = <0>;
  30		cpu-map {
  31			cluster0 {
  32				core0 {
  33					cpu = <&cpu0>;
  34				};
  35				core1 {
  36					cpu = <&cpu100>;
  37				};
  38				core2 {
  39					cpu = <&cpu200>;
  40				};
  41				core3 {
  42					cpu = <&cpu300>;
  43				};
  44			};
  45
  46			cluster1 {
  47				core0 {
  48					cpu = <&cpu10000>;
  49				};
  50
  51				core1 {
  52					cpu = <&cpu10100>;
  53				};
  54
  55				core2 {
  56					cpu = <&cpu10200>;
  57				};
  58
  59				core3 {
  60					cpu = <&cpu10300>;
  61				};
  62			};
  63			cluster2 {
  64				core0 {
  65					cpu = <&cpu20000>;
  66				};
  67
  68				core1 {
  69					cpu = <&cpu20100>;
  70				};
  71
  72				core2 {
  73					cpu = <&cpu20200>;
  74				};
  75
  76				core3 {
  77					cpu = <&cpu20300>;
  78				};
  79			};
  80			cluster3 {
  81				core0 {
  82					cpu = <&cpu30000>;
  83				};
  84
  85				core1 {
  86					cpu = <&cpu30100>;
  87				};
  88
  89				core2 {
  90					cpu = <&cpu30200>;
  91				};
  92
  93				core3 {
  94					cpu = <&cpu30300>;
  95				};
  96			};
  97
  98		};
  99
 100		cpu0: cpu@0 {
 101			compatible = "arm,cortex-a78";
 102			device_type = "cpu";
 103			enable-method = "psci";
 104			reg = <0>;
 105			operating-points-v2 = <&cpu_opp_table>;
 106			cpu-idle-states = <&CPU_SLEEP_0>;
 107			d-cache-size = <0x10000>; /* 64kB */
 108			d-cache-line-size = <64>;
 109			/* 4 ways set associativity */
 110			/* cache_size / (line_size / associativity) */
 111			d-cache-sets = <256>;
 112			i-cache-size = <0x10000>; /* 64kB */
 113			i-cache-line-size = <64>;
 114			/* 4 ways set associativity */
 115			/* cache_size / (line_size / associativity) */
 116			i-cache-sets = <256>;
 117			next-level-cache = <&l2_00>;
 118			l2_00: l2-cache {
 119				compatible = "cache";
 120				cache-level = <2>;
 121				cache-size = <0x80000>; /* 512kB */
 122				cache-line-size = <64>;
 123				/* 8 ways set associativity */
 124				/* cache_size / (line_size/associativity) */
 125				cache-sets = <1024>;
 126				cache-unified;
 127				next-level-cache = <&l3_0>;
 128			};
 129		};
 130		cpu100: cpu@100 {
 131			compatible = "arm,cortex-a78";
 132			device_type = "cpu";
 133			enable-method = "psci";
 134			reg = <0x100>;
 135			operating-points-v2 = <&cpu_opp_table>;
 136			cpu-idle-states = <&CPU_SLEEP_0>;
 137			d-cache-size = <0x10000>; /* 64kB */
 138			d-cache-line-size = <64>;
 139			/* 4 ways set associativity */
 140			/* cache_size / (line_size / associativity) */
 141			d-cache-sets = <256>;
 142			i-cache-size = <0x10000>; /* 64kB */
 143			i-cache-line-size = <64>;
 144			/* 4 ways set associativity */
 145			/* cache_size / (line_size / associativity) */
 146			i-cache-sets = <256>;
 147			next-level-cache = <&l2_01>;
 148			l2_01: l2-cache {
 149				compatible = "cache";
 150				cache-level = <2>;
 151				cache-size = <0x80000>; /* 512kB */
 152				cache-line-size = <64>;
 153				/* 8 ways set associativity */
 154				/* cache_size / (line_size/associativity) */
 155				cache-sets = <1024>;
 156				cache-unified;
 157				next-level-cache = <&l3_0>;
 158			};
 159		};
 160		cpu200: cpu@200 {
 161			compatible = "arm,cortex-a78";
 162			device_type = "cpu";
 163			enable-method = "psci";
 164			reg = <0x200>;
 165			operating-points-v2 = <&cpu_opp_table>;
 166			cpu-idle-states = <&CPU_SLEEP_0>;
 167			d-cache-size = <0x10000>; /* 64kB */
 168			d-cache-line-size = <64>;
 169			/* 4 ways set associativity */
 170			/* cache_size / (line_size / associativity) */
 171			d-cache-sets = <256>;
 172			i-cache-size = <0x10000>; /* 64kB */
 173			i-cache-line-size = <64>;
 174			/* 4 ways set associativity */
 175			/* cache_size / (line_size / associativity) */
 176			i-cache-sets = <256>;
 177			next-level-cache = <&l2_02>;
 178			l2_02: l2-cache {
 179				compatible = "cache";
 180				cache-level = <2>;
 181				cache-size = <0x80000>; /* 512kB */
 182				cache-line-size = <64>;
 183				/* 8 ways set associativity */
 184				/* cache_size / (line_size/associativity) */
 185				cache-sets = <1024>;
 186				cache-unified;
 187				next-level-cache = <&l3_0>;
 188			};
 189		};
 190		cpu300: cpu@300 {
 191			compatible = "arm,cortex-a78";
 192			device_type = "cpu";
 193			enable-method = "psci";
 194			reg = <0x300>;
 195			operating-points-v2 = <&cpu_opp_table>;
 196			cpu-idle-states = <&CPU_SLEEP_0>;
 197			d-cache-size = <0x10000>; /* 64kB */
 198			d-cache-line-size = <64>;
 199			/* 4 ways set associativity */
 200			/* cache_size / (line_size / associativity) */
 201			d-cache-sets = <256>;
 202			i-cache-size = <0x10000>; /* 64kB */
 203			i-cache-line-size = <64>;
 204			/* 4 ways set associativity */
 205			/* cache_size / (line_size / associativity) */
 206			i-cache-sets = <256>;
 207			next-level-cache = <&l2_03>;
 208			l2_03: l2-cache {
 209				compatible = "cache";
 210				cache-level = <2>;
 211				cache-size = <0x80000>; /* 512kB */
 212				cache-line-size = <64>;
 213				/* 8 ways set associativity */
 214				/* cache_size / (line_size/associativity) */
 215				cache-sets = <1024>;
 216				cache-unified;
 217				next-level-cache = <&l3_0>;
 218			};
 219		};
 220		cpu10000: cpu@10000 {
 221			compatible = "arm,cortex-a78";
 222			device_type = "cpu";
 223			enable-method = "psci";
 224			reg = <0x10000>;
 225			operating-points-v2 = <&cpu_opp_table>;
 226			cpu-idle-states = <&CPU_SLEEP_0>;
 227			d-cache-size = <0x10000>; /* 64kB */
 228			d-cache-line-size = <64>;
 229			/* 4 ways set associativity */
 230			/* cache_size / (line_size / associativity) */
 231			d-cache-sets = <256>;
 232			i-cache-size = <0x10000>; /* 64kB */
 233			i-cache-line-size = <64>;
 234			/* 4 ways set associativity */
 235			/* cache_size / (line_size / associativity) */
 236			i-cache-sets = <256>;
 237			next-level-cache = <&l2_10>;
 238			l2_10: l2-cache {
 239				compatible = "cache";
 240				cache-level = <2>;
 241				cache-size = <0x80000>; /* 512kB */
 242				cache-line-size = <64>;
 243				/* 8 ways set associativity */
 244				/* cache_size / (line_size/associativity) */
 245				cache-sets = <1024>;
 246				cache-unified;
 247				next-level-cache = <&l3_1>;
 248			};
 249		};
 250		cpu10100: cpu@10100 {
 251			compatible = "arm,cortex-a78";
 252			device_type = "cpu";
 253			enable-method = "psci";
 254			reg = <0x10100>;
 255			operating-points-v2 = <&cpu_opp_table>;
 256			cpu-idle-states = <&CPU_SLEEP_0>;
 257			d-cache-size = <0x10000>; /* 64kB */
 258			d-cache-line-size = <64>;
 259			/* 4 ways set associativity */
 260			/* cache_size / (line_size / associativity) */
 261			d-cache-sets = <256>;
 262			i-cache-size = <0x10000>; /* 64kB */
 263			i-cache-line-size = <64>;
 264			/* 4 ways set associativity */
 265			/* cache_size / (line_size / associativity) */
 266			i-cache-sets = <256>;
 267			next-level-cache = <&l2_11>;
 268			l2_11: l2-cache {
 269				compatible = "cache";
 270				cache-level = <2>;
 271				cache-size = <0x80000>; /* 512kB */
 272				cache-line-size = <64>;
 273				/* 8 ways set associativity */
 274				/* cache_size / (line_size/associativity) */
 275				cache-sets = <1024>;
 276				cache-unified;
 277				next-level-cache = <&l3_1>;
 278			};
 279		};
 280		cpu10200: cpu@10200 {
 281			compatible = "arm,cortex-a78";
 282			device_type = "cpu";
 283			enable-method = "psci";
 284			reg = <0x10200>;
 285			operating-points-v2 = <&cpu_opp_table>;
 286			cpu-idle-states = <&CPU_SLEEP_0>;
 287			d-cache-size = <0x10000>; /* 64kB */
 288			d-cache-line-size = <64>;
 289			/* 4 ways set associativity */
 290			/* cache_size / (line_size / associativity) */
 291			d-cache-sets = <256>;
 292			i-cache-size = <0x10000>; /* 64kB */
 293			i-cache-line-size = <64>;
 294			/* 4 ways set associativity */
 295			/* cache_size / (line_size / associativity) */
 296			i-cache-sets = <256>;
 297			next-level-cache = <&l2_12>;
 298			l2_12: l2-cache {
 299				compatible = "cache";
 300				cache-level = <2>;
 301				cache-size = <0x80000>; /* 512kB */
 302				cache-line-size = <64>;
 303				/* 8 ways set associativity */
 304				/* cache_size / (line_size/associativity) */
 305				cache-sets = <1024>;
 306				cache-unified;
 307				next-level-cache = <&l3_1>;
 308			};
 309		};
 310		cpu10300: cpu@10300 {
 311			compatible = "arm,cortex-a78";
 312			device_type = "cpu";
 313			enable-method = "psci";
 314			reg = <0x10300>;
 315			operating-points-v2 = <&cpu_opp_table>;
 316			cpu-idle-states = <&CPU_SLEEP_0>;
 317			d-cache-size = <0x10000>; /* 64kB */
 318			d-cache-line-size = <64>;
 319			/* 4 ways set associativity */
 320			/* cache_size / (line_size / associativity) */
 321			d-cache-sets = <256>;
 322			i-cache-size = <0x10000>; /* 64kB */
 323			i-cache-line-size = <64>;
 324			/* 4 ways set associativity */
 325			/* cache_size / (line_size / associativity) */
 326			i-cache-sets = <256>;
 327			next-level-cache = <&l2_13>;
 328			l2_13: l2-cache {
 329				compatible = "cache";
 330				cache-level = <2>;
 331				cache-size = <0x80000>; /* 512kB */
 332				cache-line-size = <64>;
 333				/* 8 ways set associativity */
 334				/* cache_size / (line_size/associativity) */
 335				cache-sets = <1024>;
 336				cache-unified;
 337				next-level-cache = <&l3_1>;
 338			};
 339		};
 340		cpu20000: cpu@20000 {
 341			compatible = "arm,cortex-a78";
 342			device_type = "cpu";
 343			enable-method = "psci";
 344			reg = <0x20000>;
 345			operating-points-v2 = <&cpu_opp_table>;
 346			cpu-idle-states = <&CPU_SLEEP_0>;
 347			d-cache-size = <0x10000>; /* 64kB */
 348			d-cache-line-size = <64>;
 349			/* 4 ways set associativity */
 350			/* cache_size / (line_size / associativity) */
 351			d-cache-sets = <256>;
 352			i-cache-size = <0x10000>; /* 64kB */
 353			i-cache-line-size = <64>;
 354			/* 4 ways set associativity */
 355			/* cache_size / (line_size / associativity) */
 356			i-cache-sets = <256>;
 357			next-level-cache = <&l2_20>;
 358			l2_20: l2-cache {
 359				compatible = "cache";
 360				cache-level = <2>;
 361				cache-size = <0x80000>; /* 512kB */
 362				cache-line-size = <64>;
 363				/* 8 ways set associativity */
 364				/* cache_size / (line_size/associativity) */
 365				cache-sets = <1024>;
 366				cache-unified;
 367				next-level-cache = <&l3_2>;
 368			};
 369		};
 370		cpu20100: cpu@20100 {
 371			compatible = "arm,cortex-a78";
 372			device_type = "cpu";
 373			enable-method = "psci";
 374			reg = <0x20100>;
 375			operating-points-v2 = <&cpu_opp_table>;
 376			cpu-idle-states = <&CPU_SLEEP_0>;
 377			d-cache-size = <0x10000>; /* 64kB */
 378			d-cache-line-size = <64>;
 379			/* 4 ways set associativity */
 380			/* cache_size / (line_size / associativity) */
 381			d-cache-sets = <256>;
 382			i-cache-size = <0x10000>; /* 64kB */
 383			i-cache-line-size = <64>;
 384			/* 4 ways set associativity */
 385			/* cache_size / (line_size / associativity) */
 386			i-cache-sets = <256>;
 387			next-level-cache = <&l2_21>;
 388			l2_21: l2-cache {
 389				compatible = "cache";
 390				cache-level = <2>;
 391				cache-size = <0x80000>; /* 512kB */
 392				cache-line-size = <64>;
 393				/* 8 ways set associativity */
 394				/* cache_size / (line_size/associativity) */
 395				cache-sets = <1024>;
 396				cache-unified;
 397				next-level-cache = <&l3_2>;
 398			};
 399		};
 400		cpu20200: cpu@20200 {
 401			compatible = "arm,cortex-a78";
 402			device_type = "cpu";
 403			enable-method = "psci";
 404			reg = <0x20200>;
 405			operating-points-v2 = <&cpu_opp_table>;
 406			cpu-idle-states = <&CPU_SLEEP_0>;
 407			d-cache-size = <0x10000>; /* 64kB */
 408			d-cache-line-size = <64>;
 409			/* 4 ways set associativity */
 410			/* cache_size / (line_size / associativity) */
 411			d-cache-sets = <256>;
 412			i-cache-size = <0x10000>; /* 64kB */
 413			i-cache-line-size = <64>;
 414			/* 4 ways set associativity */
 415			/* cache_size / (line_size / associativity) */
 416			i-cache-sets = <256>;
 417			next-level-cache = <&l2_22>;
 418			l2_22: l2-cache {
 419				compatible = "cache";
 420				cache-level = <2>;
 421				cache-size = <0x80000>; /* 512kB */
 422				cache-line-size = <64>;
 423				/* 8 ways set associativity */
 424				/* cache_size / (line_size/associativity) */
 425				cache-sets = <1024>;
 426				cache-unified;
 427				next-level-cache = <&l3_2>;
 428			};
 429		};
 430		cpu20300: cpu@20300 {
 431			compatible = "arm,cortex-a78";
 432			device_type = "cpu";
 433			enable-method = "psci";
 434			reg = <0x20300>;
 435			operating-points-v2 = <&cpu_opp_table>;
 436			cpu-idle-states = <&CPU_SLEEP_0>;
 437			d-cache-size = <0x10000>; /* 64kB */
 438			d-cache-line-size = <64>;
 439			/* 4 ways set associativity */
 440			/* cache_size / (line_size / associativity) */
 441			d-cache-sets = <256>;
 442			i-cache-size = <0x10000>; /* 64kB */
 443			i-cache-line-size = <64>;
 444			/* 4 ways set associativity */
 445			/* cache_size / (line_size / associativity) */
 446			i-cache-sets = <256>;
 447			next-level-cache = <&l2_23>;
 448			l2_23: l2-cache {
 449				compatible = "cache";
 450				cache-level = <2>;
 451				cache-size = <0x80000>; /* 512kB */
 452				cache-line-size = <64>;
 453				/* 8 ways set associativity */
 454				/* cache_size / (line_size/associativity) */
 455				cache-sets = <1024>;
 456				cache-unified;
 457				next-level-cache = <&l3_2>;
 458			};
 459		};
 460		cpu30000: cpu@30000 {
 461			compatible = "arm,cortex-a78";
 462			device_type = "cpu";
 463			enable-method = "psci";
 464			reg = <0x30000>;
 465			operating-points-v2 = <&cpu_opp_table>;
 466			cpu-idle-states = <&CPU_SLEEP_0>;
 467			d-cache-size = <0x10000>; /* 64kB */
 468			d-cache-line-size = <64>;
 469			/* 4 ways set associativity */
 470			/* cache_size / (line_size / associativity) */
 471			d-cache-sets = <256>;
 472			i-cache-size = <0x10000>; /* 64kB */
 473			i-cache-line-size = <64>;
 474			/* 4 ways set associativity */
 475			/* cache_size / (line_size / associativity) */
 476			i-cache-sets = <256>;
 477			next-level-cache = <&l2_30>;
 478			l2_30: l2-cache {
 479				compatible = "cache";
 480				cache-level = <2>;
 481				cache-size = <0x80000>; /* 512kB */
 482				cache-line-size = <64>;
 483				/* 8 ways set associativity */
 484				/* cache_size / (line_size/associativity) */
 485				cache-sets = <1024>;
 486				cache-unified;
 487				next-level-cache = <&l3_3>;
 488			};
 489		};
 490		cpu30100: cpu@30100 {
 491			compatible = "arm,cortex-a78";
 492			device_type = "cpu";
 493			enable-method = "psci";
 494			reg = <0x30100>;
 495			operating-points-v2 = <&cpu_opp_table>;
 496			cpu-idle-states = <&CPU_SLEEP_0>;
 497			d-cache-size = <0x10000>; /* 64kB */
 498			d-cache-line-size = <64>;
 499			/* 4 ways set associativity */
 500			/* cache_size / (line_size / associativity) */
 501			d-cache-sets = <256>;
 502			i-cache-size = <0x10000>; /* 64kB */
 503			i-cache-line-size = <64>;
 504			/* 4 ways set associativity */
 505			/* cache_size / (line_size / associativity) */
 506			i-cache-sets = <256>;
 507			next-level-cache = <&l2_31>;
 508			l2_31: l2-cache {
 509				compatible = "cache";
 510				cache-level = <2>;
 511				cache-size = <0x80000>; /* 512kB */
 512				cache-line-size = <64>;
 513				/* 8 ways set associativity */
 514				/* cache_size / (line_size/associativity) */
 515				cache-sets = <1024>;
 516				cache-unified;
 517				next-level-cache = <&l3_3>;
 518			};
 519		};
 520		cpu30200: cpu@30200 {
 521			compatible = "arm,cortex-a78";
 522			device_type = "cpu";
 523			enable-method = "psci";
 524			reg = <0x30200>;
 525			operating-points-v2 = <&cpu_opp_table>;
 526			cpu-idle-states = <&CPU_SLEEP_0>;
 527			d-cache-size = <0x10000>; /* 64kB */
 528			d-cache-line-size = <64>;
 529			/* 4 ways set associativity */
 530			/* cache_size / (line_size / associativity) */
 531			d-cache-sets = <256>;
 532			i-cache-size = <0x10000>; /* 64kB */
 533			i-cache-line-size = <64>;
 534			/* 4 ways set associativity */
 535			/* cache_size / (line_size / associativity) */
 536			i-cache-sets = <256>;
 537			next-level-cache = <&l2_32>;
 538			l2_32: l2-cache {
 539				compatible = "cache";
 540				cache-level = <2>;
 541				cache-size = <0x80000>; /* 512kB */
 542				cache-line-size = <64>;
 543				/* 8 ways set associativity */
 544				/* cache_size / (line_size/associativity) */
 545				cache-sets = <1024>;
 546				cache-unified;
 547				next-level-cache = <&l3_3>;
 548			};
 549		};
 550		cpu30300: cpu@30300 {
 551			compatible = "arm,cortex-a78";
 552			device_type = "cpu";
 553			enable-method = "psci";
 554			reg = <0x30300>;
 555			operating-points-v2 = <&cpu_opp_table>;
 556			cpu-idle-states = <&CPU_SLEEP_0>;
 557			d-cache-size = <0x10000>; /* 64kB */
 558			d-cache-line-size = <64>;
 559			/* 4 ways set associativity */
 560			/* cache_size / (line_size / associativity) */
 561			d-cache-sets = <256>;
 562			i-cache-size = <0x10000>; /* 64kB */
 563			i-cache-line-size = <64>;
 564			/* 4 ways set associativity */
 565			/* cache_size / (line_size / associativity) */
 566			i-cache-sets = <256>;
 567			next-level-cache = <&l2_33>;
 568			l2_33: l2-cache {
 569				compatible = "cache";
 570				cache-level = <2>;
 571				cache-size = <0x80000>; /* 512kB */
 572				cache-line-size = <64>;
 573				/* 8 ways set associativity */
 574				/* cache_size / (line_size/associativity) */
 575				cache-sets = <1024>;
 576				cache-unified;
 577				next-level-cache = <&l3_3>;
 578			};
 579		};
 580
 581		l3_0: l3-0-cache { /* cluster private */
 582			compatible = "cache";
 583			cache-level = <3>;
 584			cache-size = <0x200000>; /* 2MB */
 585			cache-line-size = <64>;
 586			/* 16 ways set associativity */
 587			/* cache_size / (line_size/associativity) */
 588			cache-sets = <2048>;
 589			cache-unified;
 590			next-level-cache = <&llc>;
 591		};
 592
 593		l3_1: l3-1-cache { /* cluster private */
 594			compatible = "cache";
 595			cache-level = <3>;
 596			cache-size = <0x200000>; /* 2MB */
 597			cache-line-size = <64>;
 598			/* 16 ways set associativity */
 599			/* cache_size / (line_size/associativity) */
 600			cache-sets = <2048>;
 601			cache-unified;
 602			next-level-cache = <&llc>;
 603		};
 604
 605		l3_2: l3-2-cache { /* cluster private */
 606			compatible = "cache";
 607			cache-level = <3>;
 608			cache-size = <0x200000>; /* 2MB */
 609			cache-line-size = <64>;
 610			/* 16 ways set associativity */
 611			/* cache_size / (line_size/associativity) */
 612			cache-sets = <2048>;
 613			cache-unified;
 614			next-level-cache = <&llc>;
 615		};
 616
 617		l3_3: l3-3-cache { /* cluster private */
 618			compatible = "cache";
 619			cache-level = <3>;
 620			cache-size = <0x200000>; /* 2MB */
 621			cache-line-size = <64>;
 622			/* 16 ways set associativity */
 623			/* cache_size / (line_size/associativity) */
 624			cache-sets = <2048>;
 625			cache-unified;
 626			next-level-cache = <&llc>;
 627		};
 628
 629		llc: l4-cache { /* LLC inside CMN */
 630			compatible = "cache";
 631			cache-level = <4>;
 632			cache-size = <0x1000000>; /* 16MB */
 633			cache-unified;
 634		};
 635
 636		idle-states {
 637			entry-method = "psci";
 638
 639			CPU_SLEEP_0: cpu-sleep-0 {
 640				compatible = "arm,idle-state";
 641				arm,psci-suspend-param = <0x40000000>;
 642				local-timer-stop;
 643				entry-latency-us = <300>;
 644				exit-latency-us = <600>;
 645				min-residency-us = <10000>;
 646			};
 647		};
 648	};
 649
 650	cpu_opp_table: opp-table {
 651		compatible = "operating-points-v2";
 652		opp-1066000000 {
 653			opp-hz = /bits/ 64 <1066000000>;
 654			opp-microvolt = <1000000>;
 655			clock-latency-ns = <500000>;
 656		};
 657		opp-1866000000 {
 658			opp-hz = /bits/ 64 <1866000000>;
 659			opp-microvolt = <1000000>;
 660			clock-latency-ns = <500000>;
 661		};
 662		opp-1900000000 {
 663			opp-hz = /bits/ 64 <1900000000>;
 664			opp-microvolt = <1000000>;
 665			clock-latency-ns = <500000>;
 666		};
 667		opp-1999000000 {
 668			opp-hz = /bits/ 64 <1999000000>;
 669			opp-microvolt = <1000000>;
 670			clock-latency-ns = <500000>;
 671		};
 672		opp-2050000000 {
 673			opp-hz = /bits/ 64 <2050000000>;
 674			opp-microvolt = <1000000>;
 675			clock-latency-ns = <500000>;
 676		};
 677		opp-2100000000 {
 678			opp-hz = /bits/ 64 <2100000000>;
 679			opp-microvolt = <1000000>;
 680			clock-latency-ns = <500000>;
 681		};
 682		opp-2200000000 {
 683			opp-hz = /bits/ 64 <2200000000>;
 684			opp-microvolt = <1000000>;
 685			clock-latency-ns = <500000>;
 686		};
 687		opp-2400000000 {
 688			opp-hz = /bits/ 64 <2400000000>;
 689			opp-microvolt = <1000000>;
 690			clock-latency-ns = <500000>;
 691		};
 692	};
 693
 694	aliases {
 695		serial0 = &serial0;
 696		serial1 = &serial1;
 697		serial2 = &dcc;
 698		mmc0 = &sdhci0;
 699		mmc1 = &sdhci1;
 700		i2c0 = &i2c0;
 701		i2c1 = &i2c1;
 702		rtc = &rtc;
 703		usb0 = &usb0;
 704		usb1 = &usb1;
 705		spi0 = &ospi;
 706		spi1 = &qspi;
 707	};
 708
 709	dcc: dcc {
 710		compatible = "arm,dcc";
 711		status = "disabled";
 712		bootph-all;
 713	};
 714
 715	firmware {
 716		psci {
 717			compatible = "arm,psci-1.0";
 718			method = "smc";
 719		};
 720	};
 721
 722	fpga: fpga-region {
 723		compatible = "fpga-region";
 724		fpga-mgr = <&versal_fpga>;
 725		#address-cells = <2>;
 726		#size-cells = <2>;
 727	};
 728
 729	timer: timer {
 730		compatible = "arm,armv8-timer";
 731		interrupts = <1 13 4>, <1 14 4>, <1 11 4>, <1 10 4>;
 732	};
 733
 734	versal_fpga: versal-fpga {
 735		compatible = "xlnx,versal-fpga";
 736	};
 737
 738	amba: axi {
 739		compatible = "simple-bus";
 740		bootph-all;
 741		#address-cells = <2>;
 742		#size-cells = <2>;
 743		ranges;
 744
 745		adma0: dma-controller@ebd00000 {
 746			compatible = "xlnx,zynqmp-dma-1.0";
 747			status = "disabled";
 748			reg = <0 0xebd00000 0 0x1000>;
 749			interrupts = <0 72 4>;
 750			clock-names = "clk_main", "clk_apb";
 751			#dma-cells = <1>;
 752			xlnx,bus-width = <64>;
 753		};
 754
 755		adma1: dma-controller@ebd10000 {
 756			compatible = "xlnx,zynqmp-dma-1.0";
 757			status = "disabled";
 758			reg = <0 0xebd10000 0 0x1000>;
 759			interrupts = <0 73 4>;
 760			clock-names = "clk_main", "clk_apb";
 761			#dma-cells = <1>;
 762			xlnx,bus-width = <64>;
 763		};
 764
 765		adma2: dma-controller@ebd20000 {
 766			compatible = "xlnx,zynqmp-dma-1.0";
 767			status = "disabled";
 768			reg = <0 0xebd20000 0 0x1000>;
 769			interrupts = <0 74 4>;
 770			clock-names = "clk_main", "clk_apb";
 771			#dma-cells = <1>;
 772			xlnx,bus-width = <64>;
 773		};
 774
 775		adma3: dma-controller@ebd30000 {
 776			compatible = "xlnx,zynqmp-dma-1.0";
 777			status = "disabled";
 778			reg = <0 0xebd30000 0 0x1000>;
 779			interrupts = <0 75 4>;
 780			clock-names = "clk_main", "clk_apb";
 781			#dma-cells = <1>;
 782			xlnx,bus-width = <64>;
 783		};
 784
 785		adma4: dma-controller@ebd40000 {
 786			compatible = "xlnx,zynqmp-dma-1.0";
 787			status = "disabled";
 788			reg = <0 0xebd40000 0 0x1000>;
 789			interrupts = <0 76 4>;
 790			clock-names = "clk_main", "clk_apb";
 791			#dma-cells = <1>;
 792			xlnx,bus-width = <64>;
 793		};
 794
 795		adma5: dma-controller@ebd50000 {
 796			compatible = "xlnx,zynqmp-dma-1.0";
 797			status = "disabled";
 798			reg = <0 0xebd50000 0 0x1000>;
 799			interrupts = <0 77 4>;
 800			clock-names = "clk_main", "clk_apb";
 801			#dma-cells = <1>;
 802			xlnx,bus-width = <64>;
 803		};
 804
 805		adma6: dma-controller@ebd60000 {
 806			compatible = "xlnx,zynqmp-dma-1.0";
 807			status = "disabled";
 808			reg = <0 0xebd60000 0 0x1000>;
 809			interrupts = <0 78 4>;
 810			clock-names = "clk_main", "clk_apb";
 811			#dma-cells = <1>;
 812			xlnx,bus-width = <64>;
 813		};
 814
 815		adma7: dma-controller@ebd70000 {
 816			compatible = "xlnx,zynqmp-dma-1.0";
 817			status = "disabled";
 818			reg = <0 0xebd70000 0 0x1000>;
 819			interrupts = <0 79 4>;
 820			clock-names = "clk_main", "clk_apb";
 821			#dma-cells = <1>;
 822			xlnx,bus-width = <64>;
 823		};
 824
 825		can0: can@f1980000 {
 826			compatible = "xlnx,canfd-2.0";
 827			status = "disabled";
 828			reg = <0 0xf1980000 0 0x6000>;
 829			interrupts = <0 27 4>;
 830			clock-names = "can_clk", "s_axi_aclk";
 831			rx-fifo-depth = <64>;
 832			tx-mailbox-count = <32>;
 833		};
 834
 835		can1: can@f1990000 {
 836			compatible = "xlnx,canfd-2.0";
 837			status = "disabled";
 838			reg = <0 0xf1990000 0 0x6000>;
 839			interrupts = <0 28 4>;
 840			clock-names = "can_clk", "s_axi_aclk";
 841			rx-fifo-depth = <64>;
 842			tx-mailbox-count = <32>;
 843		};
 844
 845		gem0: ethernet@f19e0000 {
 846			compatible = "xlnx,versal-gem", "cdns,gem";
 847			status = "disabled";
 848			reg = <0 0xf19e0000 0 0x1000>;
 849			interrupts = <0 39 4>, <0 39 4>;
 850			clock-names = "pclk", "hclk", "tx_clk", "rx_clk",
 851				      "tsu_clk";
 852		};
 853
 854		gem1: ethernet@f19f0000 {
 855			compatible = "xlnx,versal-gem", "cdns,gem";
 856			status = "disabled";
 857			reg = <0 0xf19f0000 0 0x1000>;
 858			interrupts = <0 41 4>, <0 41 4>;
 859			clock-names = "pclk", "hclk", "tx_clk", "rx_clk",
 860				      "tsu_clk";
 861		};
 862
 863		gic: interrupt-controller@e2000000 {
 864			compatible = "arm,gic-v3";
 865			#interrupt-cells = <3>;
 866			reg = <0 0xe2000000 0 0x10000>,
 867			      <0 0xe2060000 0 0x200000>;
 868			interrupt-controller;
 869			interrupts = <1 9 4>;
 870			#address-cells = <2>;
 871			#size-cells = <2>;
 872			ranges;
 873			its: msi-controller@e2040000 {
 874				compatible = "arm,gic-v3-its";
 875				msi-controller;
 876				#msi-cells = <1>;
 877				reg = <0 0xe2040000 0 0x20000>;
 878			};
 879		};
 880
 881		gpio0: gpio@f19d0000 {
 882			compatible = "xlnx,versal-gpio-1.0";
 883			status = "disabled";
 884			reg = <0 0xf19d0000 0 0x1000>;
 885			interrupts = <0 20 4>;
 886			#gpio-cells = <2>;
 887			gpio-controller;
 888			#interrupt-cells = <2>;
 889			interrupt-controller;
 890		};
 891
 892		gpio1: gpio@f1020000 {
 893			compatible = "xlnx,pmc-gpio-1.0";
 894			status = "disabled";
 895			reg = <0 0xf1020000 0 0x1000>;
 896			interrupts = <0 180 4>;
 897			#gpio-cells = <2>;
 898			gpio-controller;
 899			#interrupt-cells = <2>;
 900			interrupt-controller;
 901		};
 902
 903		i2c0: i2c@f1940000 {
 904			compatible = "cdns,i2c-r1p14";
 905			status = "disabled";
 906			reg = <0 0xf1940000 0 0x1000>;
 907			interrupts = <0 21 4>;
 908			clock-frequency = <400000>;
 909			#address-cells = <1>;
 910			#size-cells = <0>;
 911		};
 912
 913		i2c1: i2c@f1950000 {
 914			compatible = "cdns,i2c-r1p14";
 915			status = "disabled";
 916			reg = <0 0xf1950000 0 0x1000>;
 917			interrupts = <0 22 4>;
 918			clock-frequency = <400000>;
 919			#address-cells = <1>;
 920			#size-cells = <0>;
 921		};
 922
 923		i3c0: i3c@f1948000 {
 924			compatible = "snps,dw-i3c-master-1.00a";
 925			status = "disabled";
 926			reg = <0 0xf1948000 0 0x1000>;
 927			#address-cells = <3>;
 928			#size-cells = <0>;
 929			interrupts = <0 21 4>;
 930		};
 931
 932		i3c1: i3c@f1958000 {
 933			compatible = "snps,dw-i3c-master-1.00a";
 934			status = "disabled";
 935			reg = <0 0xf1958000 0 0x1000>;
 936			#address-cells = <3>;
 937			#size-cells = <0>;
 938			interrupts = <0 22 4>;
 939		};
 940
 941		ospi: spi@f1010000 {
 942			compatible = "xlnx,versal-ospi-1.0", "cdns,qspi-nor";
 943			status = "disabled";
 944			reg = <0 0xf1010000 0 0x10000>,
 945			      <0 0xc0000000 0 0x20000000>;
 946			interrupts = <0 182 4>;
 947			cdns,fifo-depth = <256>;
 948			cdns,fifo-width = <4>;
 949			cdns,is-dma = <1>; /* u-boot specific */
 950			cdns,trigger-address = <0xc0000000>;
 951		};
 952
 953		qspi: spi@f1030000 {
 954			compatible = "xlnx,versal-qspi-1.0";
 955			status = "disabled";
 956			reg = <0 0xf1030000 0 0x1000>;
 957			interrupts = <0 183 4>;
 958			clock-names = "ref_clk", "pclk";
 959		};
 960
 961		rtc: rtc@f12a0000 {
 962			compatible = "xlnx,zynqmp-rtc";
 963			status = "disabled";
 964			reg = <0 0xf12a0000 0 0x100>;
 965			interrupts = <0 200 4>, <0 201 4>;
 966			interrupt-names = "alarm", "sec";
 967			calibration = <0x7FFF>;
 968		};
 969
 970		sdhci0: mmc@f1040000 {
 971			compatible = "xlnx,versal-8.9a", "arasan,sdhci-8.9a";
 972			status = "disabled";
 973			reg = <0 0xf1040000 0 0x10000>;
 974			interrupts = <0 184 4>;
 975			clock-names = "clk_xin", "clk_ahb", "gate";
 976			#clock-cells = <1>;
 977			clock-output-names = "clk_out_sd0", "clk_in_sd0";
 978		};
 979
 980		sdhci1: mmc@f1050000 {
 981			compatible = "xlnx,versal-net-emmc";
 982			status = "disabled";
 983			reg = <0 0xf1050000 0 0x10000>;
 984			interrupts = <0 186 4>;
 985			clock-names = "clk_xin", "clk_ahb", "gate";
 986			#clock-cells = <1>;
 987			clock-output-names = "clk_out_sd1", "clk_in_sd1";
 988		};
 989
 990		serial0: serial@f1920000 {
 991			bootph-all;
 992			compatible = "arm,pl011", "arm,primecell";
 993			status = "disabled";
 994			reg = <0 0xf1920000 0 0x1000>;
 995			interrupts = <0 25 4>;
 996			reg-io-width = <4>;
 997			clock-names = "uartclk", "apb_pclk";
 998		};
 999
1000		serial1: serial@f1930000 {
1001			bootph-all;
1002			compatible = "arm,pl011", "arm,primecell";
1003			status = "disabled";
1004			reg = <0 0xf1930000 0 0x1000>;
1005			interrupts = <0 26 4>;
1006			reg-io-width = <4>;
1007			clock-names = "uartclk", "apb_pclk";
1008		};
1009
1010		smmu: iommu@ec000000 {
1011			compatible = "arm,smmu-v3";
1012			status = "disabled";
1013			reg = <0 0xec000000 0 0x40000>;
1014			#iommu-cells = <1>;
1015			interrupt-names = "combined";
1016			interrupts = <0 169 4>;
1017			dma-coherent;
1018		};
1019
1020		spi0: spi@f1960000 {
1021			compatible = "cdns,spi-r1p6";
1022			status = "disabled";
1023			interrupts = <0 23 4>;
1024			reg = <0 0xf1960000 0 0x1000>;
1025			clock-names = "ref_clk", "pclk";
1026		};
1027
1028		spi1: spi@f1970000 {
1029			compatible = "cdns,spi-r1p6";
1030			status = "disabled";
1031			interrupts = <0 24 4>;
1032			reg = <0 0xf1970000 0 0x1000>;
1033			clock-names = "ref_clk", "pclk";
1034		};
1035
1036		ttc0: timer@f1dc0000 {
1037			compatible = "cdns,ttc";
1038			status = "disabled";
1039			interrupts = <0 43 4>, <0 44 4>, <0 45 4>;
1040			timer-width = <32>;
1041			reg = <0x0 0xf1dc0000 0x0 0x1000>;
1042		};
1043
1044		ttc1: timer@f1dd0000 {
1045			compatible = "cdns,ttc";
1046			status = "disabled";
1047			interrupts = <0 46 4>, <0 47 4>, <0 48 4>;
1048			timer-width = <32>;
1049			reg = <0x0 0xf1dd0000 0x0 0x1000>;
1050		};
1051
1052		ttc2: timer@f1de0000 {
1053			compatible = "cdns,ttc";
1054			status = "disabled";
1055			interrupts = <0 49 4>, <0 50 4>, <0 51 4>;
1056			timer-width = <32>;
1057			reg = <0x0 0xf1de0000 0x0 0x1000>;
1058		};
1059
1060		ttc3: timer@f1df0000 {
1061			compatible = "cdns,ttc";
1062			status = "disabled";
1063			interrupts = <0 52 4>, <0 53 4>, <0 54 4>;
1064			timer-width = <32>;
1065			reg = <0x0 0xf1df0000 0x0 0x1000>;
1066		};
1067
1068		usb0: usb@f1e00000 {
1069			compatible = "xlnx,versal-dwc3";
1070			status = "disabled";
1071			reg = <0 0xf1e00000 0 0x100>;
1072			clock-names = "bus_clk", "ref_clk";
1073			ranges;
1074			#address-cells = <2>;
1075			#size-cells = <2>;
1076
1077			dwc3_0: usb@f1b00000  {
1078				compatible = "snps,dwc3";
1079				status = "disabled";
1080				reg = <0 0xf1b00000 0 0x10000>;
1081				interrupt-names = "host", "peripheral", "otg", "wakeup";
1082				interrupts = <0 29 4>, <0 29 4>, <0 33 4>, <0 98 4>;
1083				snps,dis_u2_susphy_quirk;
1084				snps,dis_u3_susphy_quirk;
1085				snps,quirk-frame-length-adjustment = <0x20>;
1086				dr_mode = "peripheral";
1087				maximum-speed = "high-speed";
1088				snps,usb3_lpm_capable;
1089				clock-names = "ref";
1090			};
1091		};
1092
1093		usb1: usb@f1e10000 {
1094			compatible = "xlnx,versal-dwc3";
1095			status = "disabled";
1096			reg = <0x0 0xf1e10000 0x0 0x100>;
1097			clock-names = "bus_clk", "ref_clk";
1098			ranges;
1099			#address-cells = <2>;
1100			#size-cells = <2>;
1101
1102			dwc3_1: usb@f1c00000  {
1103				compatible = "snps,dwc3";
1104				status = "disabled";
1105				reg = <0x0 0xf1c00000 0x0 0x10000>;
1106				interrupt-names = "host", "peripheral", "otg", "wakeup";
1107				interrupts = <0 34 4>, <0 34 4>, <0 38 4>, <0 99 4>;
1108				snps,dis_u2_susphy_quirk;
1109				snps,dis_u3_susphy_quirk;
1110				snps,quirk-frame-length-adjustment = <0x20>;
1111				dr_mode = "host";
1112				maximum-speed = "high-speed";
1113				snps,usb3_lpm_capable;
1114				clock-names = "ref";
1115			};
1116		};
1117
1118		wwdt0: watchdog@ecc10000 {
1119			compatible = "xlnx,versal-wwdt";
1120			status = "disabled";
1121			reg = <0 0xecc10000 0 0x10000>;
1122			timeout-sec = <30>;
1123		};
1124
1125		wwdt1: watchdog@ecd10000 {
1126			compatible = "xlnx,versal-wwdt";
1127			status = "disabled";
1128			reg = <0 0xecd10000 0 0x10000>;
1129			timeout-sec = <30>;
1130		};
1131
1132		wwdt2: watchdog@ece10000 {
1133			compatible = "xlnx,versal-wwdt";
1134			status = "disabled";
1135			reg = <0 0xece10000 0 0x10000>;
1136			timeout-sec = <30>;
1137		};
1138
1139		wwdt3: watchdog@ecf10000 {
1140			compatible = "xlnx,versal-wwdt";
1141			status = "disabled";
1142			reg = <0 0xecf10000 0 0x10000>;
1143			timeout-sec = <30>;
1144		};
1145
1146		lpd_wwdt0: watchdog@ea420000 {
1147			compatible = "xlnx,versal-wwdt";
1148			status = "disabled";
1149			reg = <0 0xea420000 0 0x10000>;
1150			timeout-sec = <30>;
1151		};
1152
1153		lpd_wwdt1: watchdog@ea430000 {
1154			compatible = "xlnx,versal-wwdt";
1155			status = "disabled";
1156			reg = <0 0xea430000 0 0x10000>;
1157			timeout-sec = <30>;
1158		};
1159	};
1160};
~/ Read-only file preview.