1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright (c) 2021 Amlogic, Inc. All rights 3 * Copyright (c) 2021 Amlogic, Inc. All rights reserved. 4 */ 4 */ 5 5 6 #include <dt-bindings/interrupt-controller/irq 6 #include <dt-bindings/interrupt-controller/irq.h> 7 #include <dt-bindings/interrupt-controller/arm 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 #include <dt-bindings/gpio/gpio.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/reset/amlogic,c3-reset.h << 10 #include <dt-bindings/clock/amlogic,c3-pll-clk << 11 #include <dt-bindings/clock/amlogic,c3-scmi-cl << 12 #include <dt-bindings/clock/amlogic,c3-periphe << 13 #include <dt-bindings/power/amlogic,c3-pwrc.h> << 14 #include <dt-bindings/gpio/amlogic-c3-gpio.h> << 15 9 16 / { 10 / { 17 cpus { 11 cpus { 18 #address-cells = <2>; 12 #address-cells = <2>; 19 #size-cells = <0>; 13 #size-cells = <0>; 20 14 21 cpu0: cpu@0 { 15 cpu0: cpu@0 { 22 device_type = "cpu"; 16 device_type = "cpu"; 23 compatible = "arm,cort 17 compatible = "arm,cortex-a35"; 24 reg = <0x0 0x0>; 18 reg = <0x0 0x0>; 25 enable-method = "psci" 19 enable-method = "psci"; 26 }; 20 }; 27 21 28 cpu1: cpu@1 { 22 cpu1: cpu@1 { 29 device_type = "cpu"; 23 device_type = "cpu"; 30 compatible = "arm,cort 24 compatible = "arm,cortex-a35"; 31 reg = <0x0 0x1>; 25 reg = <0x0 0x1>; 32 enable-method = "psci" 26 enable-method = "psci"; 33 }; 27 }; 34 }; 28 }; 35 29 36 timer { 30 timer { 37 compatible = "arm,armv8-timer" 31 compatible = "arm,armv8-timer"; 38 interrupts = <GIC_PPI 13 (GIC_ 32 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 39 <GIC_PPI 14 (GIC_ 33 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 40 <GIC_PPI 11 (GIC_ 34 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 41 <GIC_PPI 10 (GIC_ 35 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 42 }; 36 }; 43 37 44 psci { 38 psci { 45 compatible = "arm,psci-1.0"; 39 compatible = "arm,psci-1.0"; 46 method = "smc"; 40 method = "smc"; 47 }; 41 }; 48 42 49 xtal: xtal-clk { 43 xtal: xtal-clk { 50 compatible = "fixed-clock"; 44 compatible = "fixed-clock"; 51 clock-frequency = <24000000>; 45 clock-frequency = <24000000>; 52 clock-output-names = "xtal"; 46 clock-output-names = "xtal"; 53 #clock-cells = <0>; 47 #clock-cells = <0>; 54 }; 48 }; 55 49 56 sm: secure-monitor { << 57 compatible = "amlogic,meson-gx << 58 << 59 pwrc: power-controller { << 60 compatible = "amlogic, << 61 #power-domain-cells = << 62 }; << 63 }; << 64 << 65 sram@7f50e00 { << 66 compatible = "mmio-sram"; << 67 reg = <0x0 0x07f50e00 0x0 0x10 << 68 #address-cells = <1>; << 69 #size-cells = <1>; << 70 ranges = <0 0x0 0x07f50e00 0x1 << 71 << 72 scmi_shmem: sram@0 { << 73 compatible = "arm,scmi << 74 reg = <0x0 0x100>; << 75 }; << 76 }; << 77 << 78 firmware { << 79 scmi: scmi { << 80 compatible = "arm,scmi << 81 arm,smc-id = <0x820000 << 82 shmem = <&scmi_shmem>; << 83 #address-cells = <1>; << 84 #size-cells = <0>; << 85 << 86 scmi_clk: protocol@14 << 87 reg = <0x14>; << 88 #clock-cells = << 89 }; << 90 }; << 91 }; << 92 << 93 soc { 50 soc { 94 compatible = "simple-bus"; 51 compatible = "simple-bus"; 95 #address-cells = <2>; 52 #address-cells = <2>; 96 #size-cells = <2>; 53 #size-cells = <2>; 97 ranges; 54 ranges; 98 55 99 gic: interrupt-controller@fff0 56 gic: interrupt-controller@fff01000 { 100 compatible = "arm,gic- 57 compatible = "arm,gic-400"; 101 #interrupt-cells = <3> 58 #interrupt-cells = <3>; 102 #address-cells = <0>; 59 #address-cells = <0>; 103 interrupt-controller; 60 interrupt-controller; 104 reg = <0x0 0xfff01000 61 reg = <0x0 0xfff01000 0 0x1000>, 105 <0x0 0xfff02000 62 <0x0 0xfff02000 0 0x2000>, 106 <0x0 0xfff04000 63 <0x0 0xfff04000 0 0x2000>, 107 <0x0 0xfff06000 64 <0x0 0xfff06000 0 0x2000>; 108 interrupts = <GIC_PPI 65 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 109 }; 66 }; 110 67 111 apb4: bus@fe000000 { 68 apb4: bus@fe000000 { 112 compatible = "simple-b 69 compatible = "simple-bus"; 113 reg = <0x0 0xfe000000 70 reg = <0x0 0xfe000000 0x0 0x480000>; 114 #address-cells = <2>; 71 #address-cells = <2>; 115 #size-cells = <2>; 72 #size-cells = <2>; 116 ranges = <0x0 0x0 0x0 73 ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>; 117 74 118 clkc_periphs: clock-co << 119 compatible = " << 120 reg = <0x0 0x0 << 121 #clock-cells = << 122 clocks = <&xta << 123 <&scm << 124 <&scm << 125 <&clk << 126 <&clk << 127 <&clk << 128 <&clk << 129 <&clk << 130 <&clk << 131 <&clk << 132 <&scm << 133 <&clk << 134 <&scm << 135 <&scm << 136 <&scm << 137 <&scm << 138 clock-names = << 139 << 140 << 141 << 142 << 143 << 144 << 145 << 146 << 147 << 148 << 149 << 150 << 151 << 152 << 153 << 154 }; << 155 << 156 reset: reset-controlle << 157 compatible = " << 158 reg = <0x0 0x2 << 159 #reset-cells = << 160 }; << 161 << 162 watchdog@2100 { << 163 compatible = " << 164 reg = <0x0 0x2 << 165 clocks = <&xta << 166 }; << 167 << 168 periphs_pinctrl: pinct << 169 compatible = " << 170 #address-cells << 171 #size-cells = << 172 ranges = <0x0 << 173 << 174 gpio: bank@0 { << 175 reg = << 176 << 177 reg-na << 178 gpio-c << 179 #gpio- << 180 gpio-r << 181 }; << 182 << 183 i2c0_pins1: i2 << 184 mux { << 185 << 186 << 187 << 188 << 189 << 190 }; << 191 }; << 192 << 193 i2c0_pins2: i2 << 194 mux { << 195 << 196 << 197 << 198 << 199 << 200 }; << 201 }; << 202 << 203 i2c1_pins1: i2 << 204 mux { << 205 << 206 << 207 << 208 << 209 << 210 }; << 211 }; << 212 << 213 i2c1_pins2: i2 << 214 mux { << 215 << 216 << 217 << 218 << 219 << 220 }; << 221 }; << 222 << 223 i2c1_pins3: i2 << 224 mux { << 225 << 226 << 227 << 228 << 229 << 230 }; << 231 }; << 232 << 233 i2c1_pins4: i2 << 234 mux { << 235 << 236 << 237 << 238 << 239 << 240 }; << 241 }; << 242 << 243 i2c2_pins1: i2 << 244 mux { << 245 << 246 << 247 << 248 << 249 << 250 }; << 251 }; << 252 << 253 i2c3_pins1: i2 << 254 mux { << 255 << 256 << 257 << 258 << 259 << 260 }; << 261 }; << 262 << 263 i2c3_pins2: i2 << 264 mux { << 265 << 266 << 267 << 268 << 269 << 270 }; << 271 }; << 272 << 273 i2c3_pins3: i2 << 274 mux { << 275 << 276 << 277 << 278 << 279 << 280 }; << 281 }; << 282 << 283 nand_pins: nan << 284 mux { << 285 << 286 << 287 << 288 << 289 << 290 << 291 << 292 << 293 << 294 << 295 << 296 << 297 << 298 << 299 << 300 }; << 301 }; << 302 << 303 sdcard_pins: s << 304 mux { << 305 << 306 << 307 << 308 << 309 << 310 << 311 << 312 << 313 << 314 }; << 315 }; << 316 << 317 sdcard_clk_gat << 318 mux { << 319 << 320 << 321 << 322 << 323 }; << 324 }; << 325 << 326 sdio_m_clk_gat << 327 mux { << 328 << 329 << 330 << 331 << 332 }; << 333 }; << 334 << 335 sdio_m_pins: s << 336 mux { << 337 << 338 << 339 << 340 << 341 << 342 << 343 << 344 << 345 << 346 << 347 }; << 348 }; << 349 << 350 spicc0_pins1: << 351 mux { << 352 << 353 << 354 << 355 << 356 << 357 }; << 358 }; << 359 << 360 spicc0_pins2: << 361 mux { << 362 << 363 << 364 << 365 << 366 << 367 }; << 368 }; << 369 << 370 spicc0_pins3: << 371 mux { << 372 << 373 << 374 << 375 << 376 << 377 }; << 378 }; << 379 << 380 spicc1_pins1: << 381 mux { << 382 << 383 << 384 << 385 << 386 << 387 }; << 388 }; << 389 << 390 spicc1_pins2: << 391 mux { << 392 << 393 << 394 << 395 << 396 << 397 }; << 398 }; << 399 << 400 spifc_pins: sp << 401 mux { << 402 << 403 << 404 << 405 << 406 << 407 << 408 << 409 << 410 << 411 }; << 412 }; << 413 }; << 414 << 415 gpio_intc: interrupt-c << 416 compatible = " << 417 reg = <0x0 0x4 << 418 interrupt-cont << 419 #interrupt-cel << 420 amlogic,channe << 421 <10 11 << 422 }; << 423 << 424 clkc_pll: clock-contro << 425 compatible = " << 426 reg = <0x0 0x8 << 427 #clock-cells = << 428 clocks = <&scm << 429 <&scm << 430 <&scm << 431 clock-names = << 432 << 433 << 434 }; << 435 << 436 eth_phy: mdio-multiple << 437 compatible = " << 438 reg = <0x0 0x2 << 439 << 440 clocks = <&clk << 441 <&xta << 442 <&clk << 443 clock-names = << 444 mdio-parent-bu << 445 #address-cells << 446 #size-cells = << 447 << 448 ext_mdio: mdio << 449 reg = << 450 #addre << 451 #size- << 452 }; << 453 << 454 int_mdio: mdio << 455 reg = << 456 #addre << 457 #size- << 458 << 459 intern << 460 << 461 << 462 << 463 << 464 << 465 }; << 466 }; << 467 }; << 468 << 469 spicc0: spi@50000 { << 470 compatible = " << 471 reg = <0x0 0x5 << 472 interrupts = < << 473 clocks = <&clk << 474 <&clk << 475 clock-names = << 476 #address-cells << 477 #size-cells = << 478 status = "disa << 479 }; << 480 << 481 spicc1: spi@52000 { << 482 compatible = " << 483 reg = <0x0 0x5 << 484 interrupts = < << 485 clocks = <&clk << 486 <&clk << 487 clock-names = << 488 #address-cells << 489 #size-cells = << 490 status = "disa << 491 }; << 492 << 493 spifc: spi@56000 { << 494 compatible = " << 495 reg = <0x0 0x5 << 496 interrupts = < << 497 clocks = <&clk << 498 clock-names = << 499 status = "disa << 500 }; << 501 << 502 i2c0: i2c@66000 { << 503 compatible = " << 504 reg = <0x0 0x6 << 505 interrupts = < << 506 #address-cells << 507 #size-cells = << 508 clocks = <&clk << 509 status = "disa << 510 }; << 511 << 512 i2c1: i2c@68000 { << 513 compatible = " << 514 reg = <0x0 0x6 << 515 interrupts = < << 516 #address-cells << 517 #size-cells = << 518 clocks = <&clk << 519 status = "disa << 520 }; << 521 << 522 i2c2: i2c@6a000 { << 523 compatible = " << 524 reg = <0x0 0x6 << 525 interrupts = < << 526 #address-cells << 527 #size-cells = << 528 clocks = <&clk << 529 status = "disa << 530 }; << 531 << 532 i2c3: i2c@6c000 { << 533 compatible = " << 534 reg = <0x0 0x6 << 535 interrupts = < << 536 #address-cells << 537 #size-cells = << 538 clocks = <&clk << 539 status = "disa << 540 }; << 541 << 542 uart_b: serial@7a000 { 75 uart_b: serial@7a000 { 543 compatible = " 76 compatible = "amlogic,meson-s4-uart", 544 "am 77 "amlogic,meson-ao-uart"; 545 reg = <0x0 0x7 78 reg = <0x0 0x7a000 0x0 0x18>; 546 interrupts = < 79 interrupts = <GIC_SPI 169 IRQ_TYPE_EDGE_RISING>; 547 status = "disa 80 status = "disabled"; 548 clocks = <&xta !! 81 clocks = <&xtal>, <&xtal>, <&xtal>; 549 clock-names = 82 clock-names = "xtal", "pclk", "baud"; 550 }; 83 }; 551 84 552 sec_ao: ao-secure@1022 << 553 compatible = " << 554 " << 555 " << 556 reg = <0x0 0x1 << 557 amlogic,has-ch << 558 }; << 559 << 560 sdio: mmc@88000 { << 561 compatible = " << 562 reg = <0x0 0x8 << 563 interrupts = < << 564 power-domains << 565 clocks = <&clk << 566 <&cl << 567 <&cl << 568 clock-names = << 569 no-mmc; << 570 no-sd; << 571 resets = <&res << 572 status = "disa << 573 }; << 574 << 575 sd: mmc@8a000 { << 576 compatible = " << 577 reg = <0x0 0x8 << 578 interrupts = < << 579 power-domains << 580 clocks = <&clk << 581 <&clkc << 582 <&clkc << 583 clock-names = << 584 no-mmc; << 585 no-sdio; << 586 resets = <&res << 587 status = "disa << 588 }; << 589 << 590 nand: nand-controller@ << 591 compatible = " << 592 reg = <0x0 0x8 << 593 <0x0 0 << 594 reg-names = "n << 595 interrupts = < << 596 clocks = <&clk << 597 <&clkc << 598 clock-names = << 599 status = "disa << 600 }; << 601 }; << 602 << 603 ethmac: ethernet@fdc00000 { << 604 compatible = "amlogic, << 605 "snps,dwm << 606 "snps,dwm << 607 reg = <0x0 0xfdc00000 << 608 <0x0 0xfe024000 << 609 interrupts = <GIC_SPI << 610 interrupt-names = "mac << 611 power-domains = <&pwrc << 612 clocks = <&clkc_periph << 613 <&clkc_pll CL << 614 <&clkc_pll CL << 615 clock-names = "stmmace << 616 rx-fifo-depth = <4096> << 617 tx-fifo-depth = <2048> << 618 status = "disabled"; << 619 << 620 mdio0: mdio { << 621 compatible = " << 622 #address-cells << 623 #size-cells = << 624 }; << 625 }; 85 }; 626 }; 86 }; 627 }; 87 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.