1/* 2 * Device Tree Source for UniPhier PXs2 SoC 3 * 4 * Copyright (C) 2015-2016 Socionext Inc. 5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 6 * 7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 8 */ 9 10/ { 11 compatible = "socionext,uniphier-pxs2"; 12 #address-cells = <1>; 13 #size-cells = <1>; 14 15 cpus { 16 #address-cells = <1>; 17 #size-cells = <0>; 18 19 cpu@0 { 20 device_type = "cpu"; 21 compatible = "arm,cortex-a9"; 22 reg = <0>; 23 clocks = <&sys_clk 32>; 24 enable-method = "psci"; 25 next-level-cache = <&l2>; 26 operating-points-v2 = <&cpu_opp>; 27 }; 28 29 cpu@1 { 30 device_type = "cpu"; 31 compatible = "arm,cortex-a9"; 32 reg = <1>; 33 clocks = <&sys_clk 32>; 34 enable-method = "psci"; 35 next-level-cache = <&l2>; 36 operating-points-v2 = <&cpu_opp>; 37 }; 38 39 cpu@2 { 40 device_type = "cpu"; 41 compatible = "arm,cortex-a9"; 42 reg = <2>; 43 clocks = <&sys_clk 32>; 44 enable-method = "psci"; 45 next-level-cache = <&l2>; 46 operating-points-v2 = <&cpu_opp>; 47 }; 48 49 cpu@3 { 50 device_type = "cpu"; 51 compatible = "arm,cortex-a9"; 52 reg = <3>; 53 clocks = <&sys_clk 32>; 54 enable-method = "psci"; 55 next-level-cache = <&l2>; 56 operating-points-v2 = <&cpu_opp>; 57 }; 58 }; 59 60 cpu_opp: opp_table { 61 compatible = "operating-points-v2"; 62 opp-shared; 63 64 opp-100000000 { 65 opp-hz = /bits/ 64 <100000000>; 66 clock-latency-ns = <300>; 67 }; 68 opp-150000000 { 69 opp-hz = /bits/ 64 <150000000>; 70 clock-latency-ns = <300>; 71 }; 72 opp-200000000 { 73 opp-hz = /bits/ 64 <200000000>; 74 clock-latency-ns = <300>; 75 }; 76 opp-300000000 { 77 opp-hz = /bits/ 64 <300000000>; 78 clock-latency-ns = <300>; 79 }; 80 opp-400000000 { 81 opp-hz = /bits/ 64 <400000000>; 82 clock-latency-ns = <300>; 83 }; 84 opp-600000000 { 85 opp-hz = /bits/ 64 <600000000>; 86 clock-latency-ns = <300>; 87 }; 88 opp-800000000 { 89 opp-hz = /bits/ 64 <800000000>; 90 clock-latency-ns = <300>; 91 }; 92 opp-1200000000 { 93 opp-hz = /bits/ 64 <1200000000>; 94 clock-latency-ns = <300>; 95 }; 96 }; 97 98 psci { 99 compatible = "arm,psci-0.2"; 100 method = "smc"; 101 }; 102 103 clocks { 104 refclk: ref { 105 compatible = "fixed-clock"; 106 #clock-cells = <0>; 107 clock-frequency = <25000000>; 108 }; 109 110 arm_timer_clk: arm_timer_clk { 111 #clock-cells = <0>; 112 compatible = "fixed-clock"; 113 clock-frequency = <50000000>; 114 }; 115 }; 116 117 soc { 118 compatible = "simple-bus"; 119 #address-cells = <1>; 120 #size-cells = <1>; 121 ranges; 122 interrupt-parent = <&intc>; 123 u-boot,dm-pre-reloc; 124 125 l2: l2-cache@500c0000 { 126 compatible = "socionext,uniphier-system-cache"; 127 reg = <0x500c0000 0x2000>, <0x503c0100 0x8>, 128 <0x506c0000 0x400>; 129 interrupts = <0 174 4>, <0 175 4>, <0 190 4>, <0 191 4>; 130 cache-unified; 131 cache-size = <(1280 * 1024)>; 132 cache-sets = <512>; 133 cache-line-size = <128>; 134 cache-level = <2>; 135 }; 136 137 serial0: serial@54006800 { 138 compatible = "socionext,uniphier-uart"; 139 status = "disabled"; 140 reg = <0x54006800 0x40>; 141 interrupts = <0 33 4>; 142 pinctrl-names = "default"; 143 pinctrl-0 = <&pinctrl_uart0>; 144 clocks = <&peri_clk 0>; 145 clock-frequency = <88900000>; 146 }; 147 148 serial1: serial@54006900 { 149 compatible = "socionext,uniphier-uart"; 150 status = "disabled"; 151 reg = <0x54006900 0x40>; 152 interrupts = <0 35 4>; 153 pinctrl-names = "default"; 154 pinctrl-0 = <&pinctrl_uart1>; 155 clocks = <&peri_clk 1>; 156 clock-frequency = <88900000>; 157 }; 158 159 serial2: serial@54006a00 { 160 compatible = "socionext,uniphier-uart"; 161 status = "disabled"; 162 reg = <0x54006a00 0x40>; 163 interrupts = <0 37 4>; 164 pinctrl-names = "default"; 165 pinctrl-0 = <&pinctrl_uart2>; 166 clocks = <&peri_clk 2>; 167 clock-frequency = <88900000>; 168 }; 169 170 serial3: serial@54006b00 { 171 compatible = "socionext,uniphier-uart"; 172 status = "disabled"; 173 reg = <0x54006b00 0x40>; 174 interrupts = <0 177 4>; 175 pinctrl-names = "default"; 176 pinctrl-0 = <&pinctrl_uart3>; 177 clocks = <&peri_clk 3>; 178 clock-frequency = <88900000>; 179 }; 180 181 port0x: gpio@55000008 { 182 compatible = "socionext,uniphier-gpio"; 183 reg = <0x55000008 0x8>; 184 gpio-controller; 185 #gpio-cells = <2>; 186 }; 187 188 port1x: gpio@55000010 { 189 compatible = "socionext,uniphier-gpio"; 190 reg = <0x55000010 0x8>; 191 gpio-controller; 192 #gpio-cells = <2>; 193 }; 194 195 port2x: gpio@55000018 { 196 compatible = "socionext,uniphier-gpio"; 197 reg = <0x55000018 0x8>; 198 gpio-controller; 199 #gpio-cells = <2>; 200 }; 201 202 port3x: gpio@55000020 { 203 compatible = "socionext,uniphier-gpio"; 204 reg = <0x55000020 0x8>; 205 gpio-controller; 206 #gpio-cells = <2>; 207 }; 208 209 port4: gpio@55000028 { 210 compatible = "socionext,uniphier-gpio"; 211 reg = <0x55000028 0x8>; 212 gpio-controller; 213 #gpio-cells = <2>; 214 }; 215 216 port5x: gpio@55000030 { 217 compatible = "socionext,uniphier-gpio"; 218 reg = <0x55000030 0x8>; 219 gpio-controller; 220 #gpio-cells = <2>; 221 }; 222 223 port6x: gpio@55000038 { 224 compatible = "socionext,uniphier-gpio"; 225 reg = <0x55000038 0x8>; 226 gpio-controller; 227 #gpio-cells = <2>; 228 }; 229 230 port7x: gpio@55000040 { 231 compatible = "socionext,uniphier-gpio"; 232 reg = <0x55000040 0x8>; 233 gpio-controller; 234 #gpio-cells = <2>; 235 }; 236 237 port8x: gpio@55000048 { 238 compatible = "socionext,uniphier-gpio"; 239 reg = <0x55000048 0x8>; 240 gpio-controller; 241 #gpio-cells = <2>; 242 }; 243 244 port9x: gpio@55000050 { 245 compatible = "socionext,uniphier-gpio"; 246 reg = <0x55000050 0x8>; 247 gpio-controller; 248 #gpio-cells = <2>; 249 }; 250 251 port10x: gpio@55000058 { 252 compatible = "socionext,uniphier-gpio"; 253 reg = <0x55000058 0x8>; 254 gpio-controller; 255 #gpio-cells = <2>; 256 }; 257 258 port12x: gpio@55000068 { 259 compatible = "socionext,uniphier-gpio"; 260 reg = <0x55000068 0x8>; 261 gpio-controller; 262 #gpio-cells = <2>; 263 }; 264 265 port13x: gpio@55000070 { 266 compatible = "socionext,uniphier-gpio"; 267 reg = <0x55000070 0x8>; 268 gpio-controller; 269 #gpio-cells = <2>; 270 }; 271 272 port14x: gpio@55000078 { 273 compatible = "socionext,uniphier-gpio"; 274 reg = <0x55000078 0x8>; 275 gpio-controller; 276 #gpio-cells = <2>; 277 }; 278 279 port15x: gpio@55000080 { 280 compatible = "socionext,uniphier-gpio"; 281 reg = <0x55000080 0x8>; 282 gpio-controller; 283 #gpio-cells = <2>; 284 }; 285 286 port16x: gpio@55000088 { 287 compatible = "socionext,uniphier-gpio"; 288 reg = <0x55000088 0x8>; 289 gpio-controller; 290 #gpio-cells = <2>; 291 }; 292 293 port17x: gpio@550000a0 { 294 compatible = "socionext,uniphier-gpio"; 295 reg = <0x550000a0 0x8>; 296 gpio-controller; 297 #gpio-cells = <2>; 298 }; 299 300 port18x: gpio@550000a8 { 301 compatible = "socionext,uniphier-gpio"; 302 reg = <0x550000a8 0x8>; 303 gpio-controller; 304 #gpio-cells = <2>; 305 }; 306 307 port19x: gpio@550000b0 { 308 compatible = "socionext,uniphier-gpio"; 309 reg = <0x550000b0 0x8>; 310 gpio-controller; 311 #gpio-cells = <2>; 312 }; 313 314 port20x: gpio@550000b8 { 315 compatible = "socionext,uniphier-gpio"; 316 reg = <0x550000b8 0x8>; 317 gpio-controller; 318 #gpio-cells = <2>; 319 }; 320 321 port21x: gpio@550000c0 { 322 compatible = "socionext,uniphier-gpio"; 323 reg = <0x550000c0 0x8>; 324 gpio-controller; 325 #gpio-cells = <2>; 326 }; 327 328 port22x: gpio@550000c8 { 329 compatible = "socionext,uniphier-gpio"; 330 reg = <0x550000c8 0x8>; 331 gpio-controller; 332 #gpio-cells = <2>; 333 }; 334 335 port23x: gpio@550000d0 { 336 compatible = "socionext,uniphier-gpio"; 337 reg = <0x550000d0 0x8>; 338 gpio-controller; 339 #gpio-cells = <2>; 340 }; 341 342 port24x: gpio@550000d8 { 343 compatible = "socionext,uniphier-gpio"; 344 reg = <0x550000d8 0x8>; 345 gpio-controller; 346 #gpio-cells = <2>; 347 }; 348 349 port25x: gpio@550000e0 { 350 compatible = "socionext,uniphier-gpio"; 351 reg = <0x550000e0 0x8>; 352 gpio-controller; 353 #gpio-cells = <2>; 354 }; 355 356 port26x: gpio@550000e8 { 357 compatible = "socionext,uniphier-gpio"; 358 reg = <0x550000e8 0x8>; 359 gpio-controller; 360 #gpio-cells = <2>; 361 }; 362 363 port27x: gpio@550000f0 { 364 compatible = "socionext,uniphier-gpio"; 365 reg = <0x550000f0 0x8>; 366 gpio-controller; 367 #gpio-cells = <2>; 368 }; 369 370 port28x: gpio@550000f8 { 371 compatible = "socionext,uniphier-gpio"; 372 reg = <0x550000f8 0x8>; 373 gpio-controller; 374 #gpio-cells = <2>; 375 }; 376 377 i2c0: i2c@58780000 { 378 compatible = "socionext,uniphier-fi2c"; 379 status = "disabled"; 380 reg = <0x58780000 0x80>; 381 #address-cells = <1>; 382 #size-cells = <0>; 383 interrupts = <0 41 4>; 384 pinctrl-names = "default"; 385 pinctrl-0 = <&pinctrl_i2c0>; 386 clocks = <&peri_clk 4>; 387 clock-frequency = <100000>; 388 }; 389 390 i2c1: i2c@58781000 { 391 compatible = "socionext,uniphier-fi2c"; 392 status = "disabled"; 393 reg = <0x58781000 0x80>; 394 #address-cells = <1>; 395 #size-cells = <0>; 396 interrupts = <0 42 4>; 397 pinctrl-names = "default"; 398 pinctrl-0 = <&pinctrl_i2c1>; 399 clocks = <&peri_clk 5>; 400 clock-frequency = <100000>; 401 }; 402 403 i2c2: i2c@58782000 { 404 compatible = "socionext,uniphier-fi2c"; 405 status = "disabled"; 406 reg = <0x58782000 0x80>; 407 #address-cells = <1>; 408 #size-cells = <0>; 409 interrupts = <0 43 4>; 410 pinctrl-names = "default"; 411 pinctrl-0 = <&pinctrl_i2c2>; 412 clocks = <&peri_clk 6>; 413 clock-frequency = <100000>; 414 }; 415 416 i2c3: i2c@58783000 { 417 compatible = "socionext,uniphier-fi2c"; 418 status = "disabled"; 419 reg = <0x58783000 0x80>; 420 #address-cells = <1>; 421 #size-cells = <0>; 422 interrupts = <0 44 4>; 423 pinctrl-names = "default"; 424 pinctrl-0 = <&pinctrl_i2c3>; 425 clocks = <&peri_clk 7>; 426 clock-frequency = <100000>; 427 }; 428 429 /* chip-internal connection for DMD */ 430 i2c4: i2c@58784000 { 431 compatible = "socionext,uniphier-fi2c"; 432 reg = <0x58784000 0x80>; 433 #address-cells = <1>; 434 #size-cells = <0>; 435 interrupts = <0 45 4>; 436 clocks = <&peri_clk 8>; 437 clock-frequency = <400000>; 438 }; 439 440 /* chip-internal connection for STM */ 441 i2c5: i2c@58785000 { 442 compatible = "socionext,uniphier-fi2c"; 443 reg = <0x58785000 0x80>; 444 #address-cells = <1>; 445 #size-cells = <0>; 446 interrupts = <0 25 4>; 447 clocks = <&peri_clk 9>; 448 clock-frequency = <400000>; 449 }; 450 451 /* chip-internal connection for HDMI */ 452 i2c6: i2c@58786000 { 453 compatible = "socionext,uniphier-fi2c"; 454 reg = <0x58786000 0x80>; 455 #address-cells = <1>; 456 #size-cells = <0>; 457 interrupts = <0 26 4>; 458 clocks = <&peri_clk 10>; 459 clock-frequency = <400000>; 460 }; 461 462 system_bus: system-bus@58c00000 { 463 compatible = "socionext,uniphier-system-bus"; 464 status = "disabled"; 465 reg = <0x58c00000 0x400>; 466 #address-cells = <2>; 467 #size-cells = <1>; 468 pinctrl-names = "default"; 469 pinctrl-0 = <&pinctrl_system_bus>; 470 }; 471 472 smpctrl@59801000 { 473 compatible = "socionext,uniphier-smpctrl"; 474 reg = <0x59801000 0x400>; 475 }; 476 477 sdctrl@59810000 { 478 compatible = "socionext,uniphier-pxs2-sdctrl", 479 "simple-mfd", "syscon"; 480 reg = <0x59810000 0x400>; 481 u-boot,dm-pre-reloc; 482 483 sd_clk: clock { 484 compatible = "socionext,uniphier-pxs2-sd-clock"; 485 #clock-cells = <1>; 486 }; 487 488 sd_rst: reset { 489 compatible = "socionext,uniphier-pxs2-sd-reset"; 490 #reset-cells = <1>; 491 }; 492 }; 493 494 perictrl@59820000 { 495 compatible = "socionext,uniphier-pxs2-perictrl", 496 "simple-mfd", "syscon"; 497 reg = <0x59820000 0x200>; 498 499 peri_clk: clock { 500 compatible = "socionext,uniphier-pxs2-peri-clock"; 501 #clock-cells = <1>; 502 }; 503 504 peri_rst: reset { 505 compatible = "socionext,uniphier-pxs2-peri-reset"; 506 #reset-cells = <1>; 507 }; 508 }; 509 510 emmc: sdhc@5a000000 { 511 compatible = "socionext,uniphier-sdhc"; 512 status = "disabled"; 513 reg = <0x5a000000 0x800>; 514 interrupts = <0 78 4>; 515 pinctrl-names = "default"; 516 pinctrl-0 = <&pinctrl_emmc>; 517 clocks = <&sd_clk 1>; 518 reset-names = "host"; 519 resets = <&sd_rst 1>; 520 bus-width = <8>; 521 non-removable; 522 cap-mmc-highspeed; 523 cap-mmc-hw-reset; 524 no-3-3-v; 525 }; 526 527 sd: sdhc@5a400000 { 528 compatible = "socionext,uniphier-sdhc"; 529 status = "disabled"; 530 reg = <0x5a400000 0x800>; 531 interrupts = <0 76 4>; 532 pinctrl-names = "default", "1.8v"; 533 pinctrl-0 = <&pinctrl_sd>; 534 pinctrl-1 = <&pinctrl_sd_1v8>; 535 clocks = <&sd_clk 0>; 536 reset-names = "host"; 537 resets = <&sd_rst 0>; 538 bus-width = <4>; 539 cap-sd-highspeed; 540 sd-uhs-sdr12; 541 sd-uhs-sdr25; 542 sd-uhs-sdr50; 543 }; 544 545 soc-glue@5f800000 { 546 compatible = "socionext,uniphier-pxs2-soc-glue", 547 "simple-mfd", "syscon"; 548 reg = <0x5f800000 0x2000>; 549 u-boot,dm-pre-reloc; 550 551 pinctrl: pinctrl { 552 compatible = "socionext,uniphier-pxs2-pinctrl"; 553 u-boot,dm-pre-reloc; 554 }; 555 }; 556 557 aidet: aidet@5fc20000 { 558 compatible = "socionext,uniphier-pxs2-aidet"; 559 reg = <0x5fc20000 0x200>; 560 interrupt-controller; 561 #interrupt-cells = <2>; 562 }; 563 564 timer@60000200 { 565 compatible = "arm,cortex-a9-global-timer"; 566 reg = <0x60000200 0x20>; 567 interrupts = <1 11 0xf04>; 568 clocks = <&arm_timer_clk>; 569 }; 570 571 timer@60000600 { 572 compatible = "arm,cortex-a9-twd-timer"; 573 reg = <0x60000600 0x20>; 574 interrupts = <1 13 0xf04>; 575 clocks = <&arm_timer_clk>; 576 }; 577 578 intc: interrupt-controller@60001000 { 579 compatible = "arm,cortex-a9-gic"; 580 reg = <0x60001000 0x1000>, 581 <0x60000100 0x100>; 582 #interrupt-cells = <3>; 583 interrupt-controller; 584 }; 585 586 sysctrl@61840000 { 587 compatible = "socionext,uniphier-pxs2-sysctrl", 588 "simple-mfd", "syscon"; 589 reg = <0x61840000 0x10000>; 590 591 sys_clk: clock { 592 compatible = "socionext,uniphier-pxs2-clock"; 593 #clock-cells = <1>; 594 }; 595 596 sys_rst: reset { 597 compatible = "socionext,uniphier-pxs2-reset"; 598 #reset-cells = <1>; 599 }; 600 }; 601 602 usb0: usb@65b00000 { 603 compatible = "socionext,uniphier-pxs2-dwc3"; 604 status = "disabled"; 605 reg = <0x65b00000 0x1000>; 606 #address-cells = <1>; 607 #size-cells = <1>; 608 ranges; 609 pinctrl-names = "default"; 610 pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>; 611 dwc3@65a00000 { 612 compatible = "snps,dwc3"; 613 reg = <0x65a00000 0x10000>; 614 interrupts = <0 134 4>; 615 dr_mode = "host"; 616 tx-fifo-resize; 617 }; 618 }; 619 620 usb1: usb@65d00000 { 621 compatible = "socionext,uniphier-pxs2-dwc3"; 622 status = "disabled"; 623 reg = <0x65d00000 0x1000>; 624 #address-cells = <1>; 625 #size-cells = <1>; 626 ranges; 627 pinctrl-names = "default"; 628 pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>; 629 dwc3@65c00000 { 630 compatible = "snps,dwc3"; 631 reg = <0x65c00000 0x10000>; 632 interrupts = <0 137 4>; 633 dr_mode = "host"; 634 tx-fifo-resize; 635 }; 636 }; 637 638 nand: nand@68000000 { 639 compatible = "socionext,uniphier-denali-nand-v5b"; 640 status = "disabled"; 641 reg-names = "nand_data", "denali_reg"; 642 reg = <0x68000000 0x20>, <0x68100000 0x1000>; 643 interrupts = <0 65 4>; 644 pinctrl-names = "default"; 645 pinctrl-0 = <&pinctrl_nand2cs>; 646 clocks = <&sys_clk 2>; 647 }; 648 }; 649}; 650 651#include "uniphier-pinctrl.dtsi" 652