1// SPDX-License-Identifier: GPL-2.0 2/* 3 * dts file for Hisilicon Hi3670 SoC 4 * 5 * Copyright (C) 2016, Hisilicon Ltd. 6 * Copyright (C) 2018, Linaro Ltd. 7 */ 8 9#include <dt-bindings/interrupt-controller/arm-gic.h> 10#include <dt-bindings/clock/hi3670-clock.h> 11 12/ { 13 compatible = "hisilicon,hi3670"; 14 interrupt-parent = <&gic>; 15 #address-cells = <2>; 16 #size-cells = <2>; 17 18 psci { 19 compatible = "arm,psci-0.2"; 20 method = "smc"; 21 }; 22 23 cpus { 24 #address-cells = <2>; 25 #size-cells = <0>; 26 27 cpu-map { 28 cluster0 { 29 core0 { 30 cpu = <&cpu0>; 31 }; 32 core1 { 33 cpu = <&cpu1>; 34 }; 35 core2 { 36 cpu = <&cpu2>; 37 }; 38 core3 { 39 cpu = <&cpu3>; 40 }; 41 }; 42 cluster1 { 43 core0 { 44 cpu = <&cpu4>; 45 }; 46 core1 { 47 cpu = <&cpu5>; 48 }; 49 core2 { 50 cpu = <&cpu6>; 51 }; 52 core3 { 53 cpu = <&cpu7>; 54 }; 55 }; 56 }; 57 58 cpu0: cpu@0 { 59 compatible = "arm,cortex-a53"; 60 device_type = "cpu"; 61 reg = <0x0 0x0>; 62 enable-method = "psci"; 63 }; 64 65 cpu1: cpu@1 { 66 compatible = "arm,cortex-a53"; 67 device_type = "cpu"; 68 reg = <0x0 0x1>; 69 enable-method = "psci"; 70 }; 71 72 cpu2: cpu@2 { 73 compatible = "arm,cortex-a53"; 74 device_type = "cpu"; 75 reg = <0x0 0x2>; 76 enable-method = "psci"; 77 }; 78 79 cpu3: cpu@3 { 80 compatible = "arm,cortex-a53"; 81 device_type = "cpu"; 82 reg = <0x0 0x3>; 83 enable-method = "psci"; 84 }; 85 86 cpu4: cpu@100 { 87 compatible = "arm,cortex-a73"; 88 device_type = "cpu"; 89 reg = <0x0 0x100>; 90 enable-method = "psci"; 91 }; 92 93 cpu5: cpu@101 { 94 compatible = "arm,cortex-a73"; 95 device_type = "cpu"; 96 reg = <0x0 0x101>; 97 enable-method = "psci"; 98 }; 99 100 cpu6: cpu@102 { 101 compatible = "arm,cortex-a73"; 102 device_type = "cpu"; 103 reg = <0x0 0x102>; 104 enable-method = "psci"; 105 }; 106 107 cpu7: cpu@103 { 108 compatible = "arm,cortex-a73"; 109 device_type = "cpu"; 110 reg = <0x0 0x103>; 111 enable-method = "psci"; 112 }; 113 }; 114 115 gic: interrupt-controller@e82b0000 { 116 compatible = "arm,gic-400"; 117 reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */ 118 <0x0 0xe82b2000 0 0x2000>, /* GICC */ 119 <0x0 0xe82b4000 0 0x2000>, /* GICH */ 120 <0x0 0xe82b6000 0 0x2000>; /* GICV */ 121 #interrupt-cells = <3>; 122 #address-cells = <0>; 123 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | 124 IRQ_TYPE_LEVEL_HIGH)>; 125 interrupt-controller; 126 }; 127 128 timer { 129 compatible = "arm,armv8-timer"; 130 interrupt-parent = <&gic>; 131 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | 132 IRQ_TYPE_LEVEL_LOW)>, 133 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | 134 IRQ_TYPE_LEVEL_LOW)>, 135 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | 136 IRQ_TYPE_LEVEL_LOW)>, 137 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | 138 IRQ_TYPE_LEVEL_LOW)>; 139 clock-frequency = <1920000>; 140 }; 141 142 soc { 143 compatible = "simple-bus"; 144 #address-cells = <2>; 145 #size-cells = <2>; 146 ranges; 147 148 crg_ctrl: crg_ctrl@fff35000 { 149 compatible = "hisilicon,hi3670-crgctrl", "syscon"; 150 reg = <0x0 0xfff35000 0x0 0x1000>; 151 #clock-cells = <1>; 152 }; 153 154 crg_rst: crg_rst_controller { 155 compatible = "hisilicon,hi3670-reset", 156 "hisilicon,hi3660-reset"; 157 #reset-cells = <2>; 158 hisi,rst-syscon = <&crg_ctrl>; 159 }; 160 161 pctrl: pctrl@e8a09000 { 162 compatible = "hisilicon,hi3670-pctrl", "syscon"; 163 reg = <0x0 0xe8a09000 0x0 0x1000>; 164 #clock-cells = <1>; 165 }; 166 167 pmuctrl: crg_ctrl@fff34000 { 168 compatible = "hisilicon,hi3670-pmuctrl", "syscon"; 169 reg = <0x0 0xfff34000 0x0 0x1000>; 170 #clock-cells = <1>; 171 }; 172 173 sctrl: sctrl@fff0a000 { 174 compatible = "hisilicon,hi3670-sctrl", "syscon"; 175 reg = <0x0 0xfff0a000 0x0 0x1000>; 176 #clock-cells = <1>; 177 }; 178 179 iomcu: iomcu@ffd7e000 { 180 compatible = "hisilicon,hi3670-iomcu", "syscon"; 181 reg = <0x0 0xffd7e000 0x0 0x1000>; 182 #clock-cells = <1>; 183 }; 184 185 media1_crg: media1_crgctrl@e87ff000 { 186 compatible = "hisilicon,hi3670-media1-crg", "syscon"; 187 reg = <0x0 0xe87ff000 0x0 0x1000>; 188 #clock-cells = <1>; 189 }; 190 191 media2_crg: media2_crgctrl@e8900000 { 192 compatible = "hisilicon,hi3670-media2-crg","syscon"; 193 reg = <0x0 0xe8900000 0x0 0x1000>; 194 #clock-cells = <1>; 195 }; 196 197 uart0: serial@fdf02000 { 198 compatible = "arm,pl011", "arm,primecell"; 199 reg = <0x0 0xfdf02000 0x0 0x1000>; 200 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 201 clocks = <&crg_ctrl HI3670_CLK_GATE_UART0>, 202 <&crg_ctrl HI3670_PCLK>; 203 clock-names = "uartclk", "apb_pclk"; 204 pinctrl-names = "default"; 205 pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>; 206 status = "disabled"; 207 }; 208 209 uart1: serial@fdf00000 { 210 compatible = "arm,pl011", "arm,primecell"; 211 reg = <0x0 0xfdf00000 0x0 0x1000>; 212 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 213 clocks = <&crg_ctrl HI3670_CLK_GATE_UART1>, 214 <&crg_ctrl HI3670_PCLK>; 215 clock-names = "uartclk", "apb_pclk"; 216 pinctrl-names = "default"; 217 status = "disabled"; 218 }; 219 220 uart2: serial@fdf03000 { 221 compatible = "arm,pl011", "arm,primecell"; 222 reg = <0x0 0xfdf03000 0x0 0x1000>; 223 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 224 clocks = <&crg_ctrl HI3670_CLK_GATE_UART2>, 225 <&crg_ctrl HI3670_PCLK>; 226 clock-names = "uartclk", "apb_pclk"; 227 pinctrl-names = "default"; 228 pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>; 229 status = "disabled"; 230 }; 231 232 uart3: serial@ffd74000 { 233 compatible = "arm,pl011", "arm,primecell"; 234 reg = <0x0 0xffd74000 0x0 0x1000>; 235 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 236 clocks = <&crg_ctrl HI3670_CLK_GATE_UART3>, 237 <&crg_ctrl HI3670_PCLK>; 238 clock-names = "uartclk", "apb_pclk"; 239 pinctrl-names = "default"; 240 pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>; 241 status = "disabled"; 242 }; 243 244 uart4: serial@fdf01000 { 245 compatible = "arm,pl011", "arm,primecell"; 246 reg = <0x0 0xfdf01000 0x0 0x1000>; 247 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 248 clocks = <&crg_ctrl HI3670_CLK_GATE_UART4>, 249 <&crg_ctrl HI3670_PCLK>; 250 clock-names = "uartclk", "apb_pclk"; 251 pinctrl-names = "default"; 252 pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>; 253 status = "disabled"; 254 }; 255 256 uart5: serial@fdf05000 { 257 compatible = "arm,pl011", "arm,primecell"; 258 reg = <0x0 0xfdf05000 0x0 0x1000>; 259 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 260 clocks = <&crg_ctrl HI3670_CLK_GATE_UART5>, 261 <&crg_ctrl HI3670_PCLK>; 262 clock-names = "uartclk", "apb_pclk"; 263 pinctrl-names = "default"; 264 status = "disabled"; 265 }; 266 267 uart6: serial@fff32000 { 268 compatible = "arm,pl011", "arm,primecell"; 269 reg = <0x0 0xfff32000 0x0 0x1000>; 270 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 271 clocks = <&crg_ctrl HI3670_CLK_UART6>, 272 <&crg_ctrl HI3670_PCLK>; 273 clock-names = "uartclk", "apb_pclk"; 274 pinctrl-names = "default"; 275 pinctrl-0 = <&uart6_pmx_func &uart6_cfg_func>; 276 status = "disabled"; 277 }; 278 279 gpio0: gpio@e8a0b000 { 280 compatible = "arm,pl061", "arm,primecell"; 281 reg = <0x0 0xe8a0b000 0x0 0x1000>; 282 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 283 gpio-controller; 284 #gpio-cells = <2>; 285 gpio-ranges = <&pmx0 1 0 1 &pmx0 3 1 5>; 286 interrupt-controller; 287 #interrupt-cells = <2>; 288 clocks = <&crg_ctrl HI3670_PCLK_GPIO0>; 289 clock-names = "apb_pclk"; 290 }; 291 292 gpio1: gpio@e8a0c000 { 293 compatible = "arm,pl061", "arm,primecell"; 294 reg = <0x0 0xe8a0c000 0x0 0x1000>; 295 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 296 gpio-controller; 297 #gpio-cells = <2>; 298 interrupt-controller; 299 #interrupt-cells = <2>; 300 clocks = <&crg_ctrl HI3670_PCLK_GPIO1>; 301 clock-names = "apb_pclk"; 302 }; 303 304 gpio2: gpio@e8a0d000 { 305 compatible = "arm,pl061", "arm,primecell"; 306 reg = <0x0 0xe8a0d000 0x0 0x1000>; 307 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 308 gpio-controller; 309 #gpio-cells = <2>; 310 gpio-ranges = <&pmx0 1 6 7>; 311 interrupt-controller; 312 #interrupt-cells = <2>; 313 clocks = <&crg_ctrl HI3670_PCLK_GPIO2>; 314 clock-names = "apb_pclk"; 315 }; 316 317 gpio3: gpio@e8a0e000 { 318 compatible = "arm,pl061", "arm,primecell"; 319 reg = <0x0 0xe8a0e000 0x0 0x1000>; 320 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 321 gpio-controller; 322 #gpio-cells = <2>; 323 gpio-ranges = <&pmx0 0 13 4 &pmx0 7 17 1>; 324 interrupt-controller; 325 #interrupt-cells = <2>; 326 clocks = <&crg_ctrl HI3670_PCLK_GPIO3>; 327 clock-names = "apb_pclk"; 328 }; 329 330 gpio4: gpio@e8a0f000 { 331 compatible = "arm,pl061", "arm,primecell"; 332 reg = <0x0 0xe8a0f000 0x0 0x1000>; 333 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 334 gpio-controller; 335 #gpio-cells = <2>; 336 gpio-ranges = <&pmx0 0 18 8>; 337 interrupt-controller; 338 #interrupt-cells = <2>; 339 clocks = <&crg_ctrl HI3670_PCLK_GPIO4>; 340 clock-names = "apb_pclk"; 341 }; 342 343 gpio5: gpio@e8a10000 { 344 compatible = "arm,pl061", "arm,primecell"; 345 reg = <0x0 0xe8a10000 0x0 0x1000>; 346 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 347 gpio-controller; 348 #gpio-cells = <2>; 349 gpio-ranges = <&pmx0 0 26 8>; 350 interrupt-controller; 351 #interrupt-cells = <2>; 352 clocks = <&crg_ctrl HI3670_PCLK_GPIO5>; 353 clock-names = "apb_pclk"; 354 }; 355 356 gpio6: gpio@e8a11000 { 357 compatible = "arm,pl061", "arm,primecell"; 358 reg = <0x0 0xe8a11000 0x0 0x1000>; 359 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 360 gpio-controller; 361 #gpio-cells = <2>; 362 gpio-ranges = <&pmx0 1 34 7>; 363 interrupt-controller; 364 #interrupt-cells = <2>; 365 clocks = <&crg_ctrl HI3670_PCLK_GPIO6>; 366 clock-names = "apb_pclk"; 367 }; 368 369 gpio7: gpio@e8a12000 { 370 compatible = "arm,pl061", "arm,primecell"; 371 reg = <0x0 0xe8a12000 0x0 0x1000>; 372 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 373 gpio-controller; 374 #gpio-cells = <2>; 375 gpio-ranges = <&pmx0 0 41 8>; 376 interrupt-controller; 377 #interrupt-cells = <2>; 378 clocks = <&crg_ctrl HI3670_PCLK_GPIO7>; 379 clock-names = "apb_pclk"; 380 }; 381 382 gpio8: gpio@e8a13000 { 383 compatible = "arm,pl061", "arm,primecell"; 384 reg = <0x0 0xe8a13000 0x0 0x1000>; 385 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 386 gpio-controller; 387 #gpio-cells = <2>; 388 gpio-ranges = <&pmx0 0 49 8>; 389 interrupt-controller; 390 #interrupt-cells = <2>; 391 clocks = <&crg_ctrl HI3670_PCLK_GPIO8>; 392 clock-names = "apb_pclk"; 393 }; 394 395 gpio9: gpio@e8a14000 { 396 compatible = "arm,pl061", "arm,primecell"; 397 reg = <0x0 0xe8a14000 0x0 0x1000>; 398 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 399 gpio-controller; 400 #gpio-cells = <2>; 401 gpio-ranges = <&pmx0 0 57 8>; 402 interrupt-controller; 403 #interrupt-cells = <2>; 404 clocks = <&crg_ctrl HI3670_PCLK_GPIO9>; 405 clock-names = "apb_pclk"; 406 }; 407 408 gpio10: gpio@e8a15000 { 409 compatible = "arm,pl061", "arm,primecell"; 410 reg = <0x0 0xe8a15000 0x0 0x1000>; 411 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 412 gpio-controller; 413 #gpio-cells = <2>; 414 gpio-ranges = <&pmx0 0 65 8>; 415 interrupt-controller; 416 #interrupt-cells = <2>; 417 clocks = <&crg_ctrl HI3670_PCLK_GPIO10>; 418 clock-names = "apb_pclk"; 419 }; 420 421 gpio11: gpio@e8a16000 { 422 compatible = "arm,pl061", "arm,primecell"; 423 reg = <0x0 0xe8a16000 0x0 0x1000>; 424 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 425 gpio-controller; 426 #gpio-cells = <2>; 427 gpio-ranges = <&pmx0 0 73 8>; 428 interrupt-controller; 429 #interrupt-cells = <2>; 430 clocks = <&crg_ctrl HI3670_PCLK_GPIO11>; 431 clock-names = "apb_pclk"; 432 }; 433 434 gpio12: gpio@e8a17000 { 435 compatible = "arm,pl061", "arm,primecell"; 436 reg = <0x0 0xe8a17000 0x0 0x1000>; 437 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 438 gpio-controller; 439 #gpio-cells = <2>; 440 gpio-ranges = <&pmx0 0 81 1>; 441 interrupt-controller; 442 #interrupt-cells = <2>; 443 clocks = <&crg_ctrl HI3670_PCLK_GPIO12>; 444 clock-names = "apb_pclk"; 445 }; 446 447 gpio13: gpio@e8a18000 { 448 compatible = "arm,pl061", "arm,primecell"; 449 reg = <0x0 0xe8a18000 0x0 0x1000>; 450 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 451 gpio-controller; 452 #gpio-cells = <2>; 453 interrupt-controller; 454 #interrupt-cells = <2>; 455 clocks = <&crg_ctrl HI3670_PCLK_GPIO13>; 456 clock-names = "apb_pclk"; 457 }; 458 459 gpio14: gpio@e8a19000 { 460 compatible = "arm,pl061", "arm,primecell"; 461 reg = <0x0 0xe8a19000 0x0 0x1000>; 462 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 463 gpio-controller; 464 #gpio-cells = <2>; 465 interrupt-controller; 466 #interrupt-cells = <2>; 467 clocks = <&crg_ctrl HI3670_PCLK_GPIO14>; 468 clock-names = "apb_pclk"; 469 }; 470 471 gpio15: gpio@e8a1a000 { 472 compatible = "arm,pl061", "arm,primecell"; 473 reg = <0x0 0xe8a1a000 0x0 0x1000>; 474 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 475 gpio-controller; 476 #gpio-cells = <2>; 477 interrupt-controller; 478 #interrupt-cells = <2>; 479 clocks = <&crg_ctrl HI3670_PCLK_GPIO15>; 480 clock-names = "apb_pclk"; 481 }; 482 483 gpio16: gpio@e8a1b000 { 484 compatible = "arm,pl061", "arm,primecell"; 485 reg = <0x0 0xe8a1b000 0x0 0x1000>; 486 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 487 gpio-controller; 488 #gpio-cells = <2>; 489 gpio-ranges = <&pmx5 0 0 8>; 490 interrupt-controller; 491 #interrupt-cells = <2>; 492 clocks = <&crg_ctrl HI3670_PCLK_GPIO16>; 493 clock-names = "apb_pclk"; 494 }; 495 496 gpio17: gpio@e8a1c000 { 497 compatible = "arm,pl061", "arm,primecell"; 498 reg = <0x0 0xe8a1c000 0x0 0x1000>; 499 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 500 gpio-controller; 501 #gpio-cells = <2>; 502 gpio-ranges = <&pmx5 0 8 2>; 503 interrupt-controller; 504 #interrupt-cells = <2>; 505 clocks = <&crg_ctrl HI3670_PCLK_GPIO17>; 506 clock-names = "apb_pclk"; 507 }; 508 509 gpio18: gpio@fff28000 { 510 compatible = "arm,pl061", "arm,primecell"; 511 reg = <0x0 0xfff28000 0x0 0x1000>; 512 interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 513 gpio-controller; 514 #gpio-cells = <2>; 515 gpio-ranges = <&pmx1 4 42 4>; 516 interrupt-controller; 517 #interrupt-cells = <2>; 518 clocks = <&sctrl HI3670_PCLK_GPIO18>; 519 clock-names = "apb_pclk"; 520 }; 521 522 gpio19: gpio@fff29000 { 523 compatible = "arm,pl061", "arm,primecell"; 524 reg = <0x0 0xfff29000 0x0 0x1000>; 525 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 526 gpio-controller; 527 #gpio-cells = <2>; 528 gpio-ranges = <&pmx1 0 61 2>; 529 interrupt-controller; 530 #interrupt-cells = <2>; 531 clocks = <&sctrl HI3670_PCLK_GPIO19>; 532 clock-names = "apb_pclk"; 533 }; 534 535 gpio20: gpio@e8a1f000 { 536 compatible = "arm,pl061", "arm,primecell"; 537 reg = <0x0 0xe8a1f000 0x0 0x1000>; 538 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 539 gpio-controller; 540 #gpio-cells = <2>; 541 gpio-ranges = <&pmx7 0 0 8>; 542 interrupt-controller; 543 #interrupt-cells = <2>; 544 clocks = <&crg_ctrl HI3670_PCLK_GPIO20>; 545 clock-names = "apb_pclk"; 546 }; 547 548 gpio21: gpio@e8a20000 { 549 compatible = "arm,pl061", "arm,primecell"; 550 reg = <0x0 0xe8a20000 0x0 0x1000>; 551 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 552 gpio-controller; 553 #gpio-cells = <2>; 554 gpio-ranges = <&pmx7 0 8 4>; 555 interrupt-controller; 556 #interrupt-cells = <2>; 557 clocks = <&crg_ctrl HI3670_PCLK_GPIO21>; 558 clock-names = "apb_pclk"; 559 }; 560 561 gpio22: gpio@fff0b000 { 562 compatible = "arm,pl061", "arm,primecell"; 563 reg = <0x0 0xfff0b000 0x0 0x1000>; 564 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 565 gpio-controller; 566 #gpio-cells = <2>; 567 /* GPIO176 */ 568 gpio-ranges = <&pmx1 2 0 6>; 569 interrupt-controller; 570 #interrupt-cells = <2>; 571 clocks = <&sctrl HI3670_PCLK_AO_GPIO0>; 572 clock-names = "apb_pclk"; 573 }; 574 575 gpio23: gpio@fff0c000 { 576 compatible = "arm,pl061", "arm,primecell"; 577 reg = <0x0 0xfff0c000 0x0 0x1000>; 578 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 579 gpio-controller; 580 #gpio-cells = <2>; 581 /* GPIO184 */ 582 gpio-ranges = <&pmx1 0 6 8>; 583 interrupt-controller; 584 #interrupt-cells = <2>; 585 clocks = <&sctrl HI3670_PCLK_AO_GPIO1>; 586 clock-names = "apb_pclk"; 587 }; 588 589 gpio24: gpio@fff0d000 { 590 compatible = "arm,pl061", "arm,primecell"; 591 reg = <0x0 0xfff0d000 0x0 0x1000>; 592 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 593 gpio-controller; 594 #gpio-cells = <2>; 595 /* GPIO192 */ 596 gpio-ranges = <&pmx1 0 14 8>; 597 interrupt-controller; 598 #interrupt-cells = <2>; 599 clocks = <&sctrl HI3670_PCLK_AO_GPIO2>; 600 clock-names = "apb_pclk"; 601 }; 602 603 gpio25: gpio@fff0e000 { 604 compatible = "arm,pl061", "arm,primecell"; 605 reg = <0x0 0xfff0e000 0x0 0x1000>; 606 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 607 gpio-controller; 608 #gpio-cells = <2>; 609 /* GPIO200 */ 610 gpio-ranges = <&pmx1 0 22 8>; 611 interrupt-controller; 612 #interrupt-cells = <2>; 613 clocks = <&sctrl HI3670_PCLK_AO_GPIO3>; 614 clock-names = "apb_pclk"; 615 }; 616 617 gpio26: gpio@fff0f000 { 618 compatible = "arm,pl061", "arm,primecell"; 619 reg = <0x0 0xfff0f000 0x0 0x1000>; 620 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 621 gpio-controller; 622 #gpio-cells = <2>; 623 /* GPIO208 */ 624 gpio-ranges = <&pmx1 0 30 1>; 625 interrupt-controller; 626 #interrupt-cells = <2>; 627 clocks = <&sctrl HI3670_PCLK_AO_GPIO4>; 628 clock-names = "apb_pclk"; 629 }; 630 631 gpio27: gpio@fff10000 { 632 compatible = "arm,pl061", "arm,primecell"; 633 reg = <0x0 0xfff10000 0x0 0x1000>; 634 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 635 gpio-controller; 636 #gpio-cells = <2>; 637 /* GPIO216 */ 638 gpio-ranges = <&pmx1 4 31 4>; 639 interrupt-controller; 640 #interrupt-cells = <2>; 641 clocks = <&sctrl HI3670_PCLK_AO_GPIO5>; 642 clock-names = "apb_pclk"; 643 }; 644 645 gpio28: gpio@fff1d000 { 646 compatible = "arm,pl061", "arm,primecell"; 647 reg = <0x0 0xfff1d000 0x0 0x1000>; 648 interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 649 gpio-controller; 650 #gpio-cells = <2>; 651 gpio-ranges = <&pmx1 1 35 7>; 652 interrupt-controller; 653 #interrupt-cells = <2>; 654 clocks = <&sctrl HI3670_PCLK_AO_GPIO6>; 655 clock-names = "apb_pclk"; 656 }; 657 658 /* SD */ 659 dwmmc1: dwmmc1@ff37f000 { 660 compatible = "hisilicon,hi3670-dw-mshc", 661 "hisilicon,hi3660-dw-mshc"; 662 reg = <0x0 0xff37f000 0x0 0x1000>; 663 #address-cells = <1>; 664 #size-cells = <0>; 665 interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>; 666 clocks = <&crg_ctrl HI3670_CLK_GATE_SD>, 667 <&crg_ctrl HI3670_HCLK_GATE_SD>; 668 clock-names = "ciu", "biu"; 669 clock-frequency = <3200000>; 670 resets = <&crg_rst 0x94 18>; 671 reset-names = "reset"; 672 hisilicon,peripheral-syscon = <&sctrl>; 673 card-detect-delay = <200>; 674 status = "disabled"; 675 }; 676 677 /* SDIO */ 678 dwmmc2: dwmmc2@fc183000 { 679 compatible = "hisilicon,hi3670-dw-mshc", 680 "hisilicon,hi3660-dw-mshc"; 681 reg = <0x0 0xfc183000 0x0 0x1000>; 682 #address-cells = <1>; 683 #size-cells = <0>; 684 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 685 clocks = <&crg_ctrl HI3670_CLK_GATE_SDIO>, 686 <&crg_ctrl HI3670_HCLK_GATE_SDIO>; 687 clock-names = "ciu", "biu"; 688 clock-frequency = <3200000>; 689 resets = <&crg_rst 0x94 20>; 690 reset-names = "reset"; 691 card-detect-delay = <200>; 692 status = "disabled"; 693 }; 694 }; 695}; 696