1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (c) 2013-2014 Linaro Ltd. 4*4882a593Smuzhiyun * Copyright (c) 2013-2014 Hisilicon Limited. 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun#include <dt-bindings/clock/hix5hd2-clock.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/ { 10*4882a593Smuzhiyun #address-cells = <1>; 11*4882a593Smuzhiyun #size-cells = <1>; 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun aliases { 14*4882a593Smuzhiyun serial0 = &uart0; 15*4882a593Smuzhiyun }; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun gic: interrupt-controller@f8a01000 { 18*4882a593Smuzhiyun compatible = "arm,cortex-a9-gic"; 19*4882a593Smuzhiyun #interrupt-cells = <3>; 20*4882a593Smuzhiyun #address-cells = <0>; 21*4882a593Smuzhiyun interrupt-controller; 22*4882a593Smuzhiyun /* gic dist base, gic cpu base */ 23*4882a593Smuzhiyun reg = <0xf8a01000 0x1000>, <0xf8a00100 0x100>; 24*4882a593Smuzhiyun }; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun soc { 27*4882a593Smuzhiyun #address-cells = <1>; 28*4882a593Smuzhiyun #size-cells = <1>; 29*4882a593Smuzhiyun compatible = "simple-bus"; 30*4882a593Smuzhiyun interrupt-parent = <&gic>; 31*4882a593Smuzhiyun ranges = <0 0xf8000000 0x8000000>; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun amba { 34*4882a593Smuzhiyun #address-cells = <1>; 35*4882a593Smuzhiyun #size-cells = <1>; 36*4882a593Smuzhiyun compatible = "simple-bus"; 37*4882a593Smuzhiyun ranges; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun timer0: timer@2000 { 40*4882a593Smuzhiyun compatible = "arm,sp804", "arm,primecell"; 41*4882a593Smuzhiyun reg = <0x00002000 0x1000>; 42*4882a593Smuzhiyun /* timer00 & timer01 */ 43*4882a593Smuzhiyun interrupts = <0 24 4>; 44*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_24M>; 45*4882a593Smuzhiyun status = "disabled"; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun timer1: timer@a29000 { 49*4882a593Smuzhiyun /* 50*4882a593Smuzhiyun * Only used in NORMAL state, not available ins 51*4882a593Smuzhiyun * SLOW or DOZE state. 52*4882a593Smuzhiyun * The rate is fixed in 24MHz. 53*4882a593Smuzhiyun */ 54*4882a593Smuzhiyun compatible = "arm,sp804", "arm,primecell"; 55*4882a593Smuzhiyun reg = <0x00a29000 0x1000>; 56*4882a593Smuzhiyun /* timer10 & timer11 */ 57*4882a593Smuzhiyun interrupts = <0 25 4>; 58*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_24M>; 59*4882a593Smuzhiyun status = "disabled"; 60*4882a593Smuzhiyun }; 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun timer2: timer@a2a000 { 63*4882a593Smuzhiyun compatible = "arm,sp804", "arm,primecell"; 64*4882a593Smuzhiyun reg = <0x00a2a000 0x1000>; 65*4882a593Smuzhiyun /* timer20 & timer21 */ 66*4882a593Smuzhiyun interrupts = <0 26 4>; 67*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_24M>; 68*4882a593Smuzhiyun status = "disabled"; 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun timer3: timer@a2b000 { 72*4882a593Smuzhiyun compatible = "arm,sp804", "arm,primecell"; 73*4882a593Smuzhiyun reg = <0x00a2b000 0x1000>; 74*4882a593Smuzhiyun /* timer30 & timer31 */ 75*4882a593Smuzhiyun interrupts = <0 27 4>; 76*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_24M>; 77*4882a593Smuzhiyun status = "disabled"; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun timer4: timer@a81000 { 81*4882a593Smuzhiyun compatible = "arm,sp804", "arm,primecell"; 82*4882a593Smuzhiyun reg = <0x00a81000 0x1000>; 83*4882a593Smuzhiyun /* timer30 & timer31 */ 84*4882a593Smuzhiyun interrupts = <0 28 4>; 85*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_24M>; 86*4882a593Smuzhiyun status = "disabled"; 87*4882a593Smuzhiyun }; 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun uart0: uart@b00000 { 90*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 91*4882a593Smuzhiyun reg = <0x00b00000 0x1000>; 92*4882a593Smuzhiyun interrupts = <0 49 4>; 93*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_83M>; 94*4882a593Smuzhiyun clock-names = "apb_pclk"; 95*4882a593Smuzhiyun status = "disabled"; 96*4882a593Smuzhiyun }; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun uart1: uart@6000 { 99*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 100*4882a593Smuzhiyun reg = <0x00006000 0x1000>; 101*4882a593Smuzhiyun interrupts = <0 50 4>; 102*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_83M>; 103*4882a593Smuzhiyun clock-names = "apb_pclk"; 104*4882a593Smuzhiyun status = "disabled"; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun uart2: uart@b02000 { 108*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 109*4882a593Smuzhiyun reg = <0x00b02000 0x1000>; 110*4882a593Smuzhiyun interrupts = <0 51 4>; 111*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_83M>; 112*4882a593Smuzhiyun clock-names = "apb_pclk"; 113*4882a593Smuzhiyun status = "disabled"; 114*4882a593Smuzhiyun }; 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun uart3: uart@b03000 { 117*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 118*4882a593Smuzhiyun reg = <0x00b03000 0x1000>; 119*4882a593Smuzhiyun interrupts = <0 52 4>; 120*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_83M>; 121*4882a593Smuzhiyun clock-names = "apb_pclk"; 122*4882a593Smuzhiyun status = "disabled"; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun uart4: uart@b04000 { 126*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 127*4882a593Smuzhiyun reg = <0xb04000 0x1000>; 128*4882a593Smuzhiyun interrupts = <0 53 4>; 129*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_83M>; 130*4882a593Smuzhiyun clock-names = "apb_pclk"; 131*4882a593Smuzhiyun status = "disabled"; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun gpio0: gpio@b20000 { 135*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 136*4882a593Smuzhiyun reg = <0xb20000 0x1000>; 137*4882a593Smuzhiyun interrupts = <0 108 0x4>; 138*4882a593Smuzhiyun gpio-controller; 139*4882a593Smuzhiyun #gpio-cells = <2>; 140*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 141*4882a593Smuzhiyun clock-names = "apb_pclk"; 142*4882a593Smuzhiyun interrupt-controller; 143*4882a593Smuzhiyun #interrupt-cells = <2>; 144*4882a593Smuzhiyun status = "disabled"; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun gpio1: gpio@b21000 { 148*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 149*4882a593Smuzhiyun reg = <0xb21000 0x1000>; 150*4882a593Smuzhiyun interrupts = <0 109 0x4>; 151*4882a593Smuzhiyun gpio-controller; 152*4882a593Smuzhiyun #gpio-cells = <2>; 153*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 154*4882a593Smuzhiyun clock-names = "apb_pclk"; 155*4882a593Smuzhiyun interrupt-controller; 156*4882a593Smuzhiyun #interrupt-cells = <2>; 157*4882a593Smuzhiyun status = "disabled"; 158*4882a593Smuzhiyun }; 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun gpio2: gpio@b22000 { 161*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 162*4882a593Smuzhiyun reg = <0xb22000 0x1000>; 163*4882a593Smuzhiyun interrupts = <0 110 0x4>; 164*4882a593Smuzhiyun gpio-controller; 165*4882a593Smuzhiyun #gpio-cells = <2>; 166*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 167*4882a593Smuzhiyun clock-names = "apb_pclk"; 168*4882a593Smuzhiyun interrupt-controller; 169*4882a593Smuzhiyun #interrupt-cells = <2>; 170*4882a593Smuzhiyun status = "disabled"; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun 173*4882a593Smuzhiyun gpio3: gpio@b23000 { 174*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 175*4882a593Smuzhiyun reg = <0xb23000 0x1000>; 176*4882a593Smuzhiyun interrupts = <0 111 0x4>; 177*4882a593Smuzhiyun gpio-controller; 178*4882a593Smuzhiyun #gpio-cells = <2>; 179*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 180*4882a593Smuzhiyun clock-names = "apb_pclk"; 181*4882a593Smuzhiyun interrupt-controller; 182*4882a593Smuzhiyun #interrupt-cells = <2>; 183*4882a593Smuzhiyun status = "disabled"; 184*4882a593Smuzhiyun }; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyun gpio4: gpio@b24000 { 187*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 188*4882a593Smuzhiyun reg = <0xb24000 0x1000>; 189*4882a593Smuzhiyun interrupts = <0 112 0x4>; 190*4882a593Smuzhiyun gpio-controller; 191*4882a593Smuzhiyun #gpio-cells = <2>; 192*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 193*4882a593Smuzhiyun clock-names = "apb_pclk"; 194*4882a593Smuzhiyun interrupt-controller; 195*4882a593Smuzhiyun #interrupt-cells = <2>; 196*4882a593Smuzhiyun status = "disabled"; 197*4882a593Smuzhiyun }; 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun gpio5: gpio@4000 { 200*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 201*4882a593Smuzhiyun reg = <0x004000 0x1000>; 202*4882a593Smuzhiyun interrupts = <0 113 0x4>; 203*4882a593Smuzhiyun gpio-controller; 204*4882a593Smuzhiyun #gpio-cells = <2>; 205*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 206*4882a593Smuzhiyun clock-names = "apb_pclk"; 207*4882a593Smuzhiyun interrupt-controller; 208*4882a593Smuzhiyun #interrupt-cells = <2>; 209*4882a593Smuzhiyun status = "disabled"; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun gpio6: gpio@b26000 { 213*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 214*4882a593Smuzhiyun reg = <0xb26000 0x1000>; 215*4882a593Smuzhiyun interrupts = <0 114 0x4>; 216*4882a593Smuzhiyun gpio-controller; 217*4882a593Smuzhiyun #gpio-cells = <2>; 218*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 219*4882a593Smuzhiyun clock-names = "apb_pclk"; 220*4882a593Smuzhiyun interrupt-controller; 221*4882a593Smuzhiyun #interrupt-cells = <2>; 222*4882a593Smuzhiyun status = "disabled"; 223*4882a593Smuzhiyun }; 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun gpio7: gpio@b27000 { 226*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 227*4882a593Smuzhiyun reg = <0xb27000 0x1000>; 228*4882a593Smuzhiyun interrupts = <0 115 0x4>; 229*4882a593Smuzhiyun gpio-controller; 230*4882a593Smuzhiyun #gpio-cells = <2>; 231*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 232*4882a593Smuzhiyun clock-names = "apb_pclk"; 233*4882a593Smuzhiyun interrupt-controller; 234*4882a593Smuzhiyun #interrupt-cells = <2>; 235*4882a593Smuzhiyun status = "disabled"; 236*4882a593Smuzhiyun }; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun gpio8: gpio@b28000 { 239*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 240*4882a593Smuzhiyun reg = <0xb28000 0x1000>; 241*4882a593Smuzhiyun interrupts = <0 116 0x4>; 242*4882a593Smuzhiyun gpio-controller; 243*4882a593Smuzhiyun #gpio-cells = <2>; 244*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 245*4882a593Smuzhiyun clock-names = "apb_pclk"; 246*4882a593Smuzhiyun interrupt-controller; 247*4882a593Smuzhiyun #interrupt-cells = <2>; 248*4882a593Smuzhiyun status = "disabled"; 249*4882a593Smuzhiyun }; 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun gpio9: gpio@b29000 { 252*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 253*4882a593Smuzhiyun reg = <0xb29000 0x1000>; 254*4882a593Smuzhiyun interrupts = <0 117 0x4>; 255*4882a593Smuzhiyun gpio-controller; 256*4882a593Smuzhiyun #gpio-cells = <2>; 257*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 258*4882a593Smuzhiyun clock-names = "apb_pclk"; 259*4882a593Smuzhiyun interrupt-controller; 260*4882a593Smuzhiyun #interrupt-cells = <2>; 261*4882a593Smuzhiyun status = "disabled"; 262*4882a593Smuzhiyun }; 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun gpio10: gpio@b2a000 { 265*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 266*4882a593Smuzhiyun reg = <0xb2a000 0x1000>; 267*4882a593Smuzhiyun interrupts = <0 118 0x4>; 268*4882a593Smuzhiyun gpio-controller; 269*4882a593Smuzhiyun #gpio-cells = <2>; 270*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 271*4882a593Smuzhiyun clock-names = "apb_pclk"; 272*4882a593Smuzhiyun interrupt-controller; 273*4882a593Smuzhiyun #interrupt-cells = <2>; 274*4882a593Smuzhiyun status = "disabled"; 275*4882a593Smuzhiyun }; 276*4882a593Smuzhiyun 277*4882a593Smuzhiyun gpio11: gpio@b2b000 { 278*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 279*4882a593Smuzhiyun reg = <0xb2b000 0x1000>; 280*4882a593Smuzhiyun interrupts = <0 119 0x4>; 281*4882a593Smuzhiyun gpio-controller; 282*4882a593Smuzhiyun #gpio-cells = <2>; 283*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 284*4882a593Smuzhiyun clock-names = "apb_pclk"; 285*4882a593Smuzhiyun interrupt-controller; 286*4882a593Smuzhiyun #interrupt-cells = <2>; 287*4882a593Smuzhiyun status = "disabled"; 288*4882a593Smuzhiyun }; 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun gpio12: gpio@b2c000 { 291*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 292*4882a593Smuzhiyun reg = <0xb2c000 0x1000>; 293*4882a593Smuzhiyun interrupts = <0 120 0x4>; 294*4882a593Smuzhiyun gpio-controller; 295*4882a593Smuzhiyun #gpio-cells = <2>; 296*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 297*4882a593Smuzhiyun clock-names = "apb_pclk"; 298*4882a593Smuzhiyun interrupt-controller; 299*4882a593Smuzhiyun #interrupt-cells = <2>; 300*4882a593Smuzhiyun status = "disabled"; 301*4882a593Smuzhiyun }; 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun gpio13: gpio@b2d000 { 304*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 305*4882a593Smuzhiyun reg = <0xb2d000 0x1000>; 306*4882a593Smuzhiyun interrupts = <0 121 0x4>; 307*4882a593Smuzhiyun gpio-controller; 308*4882a593Smuzhiyun #gpio-cells = <2>; 309*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 310*4882a593Smuzhiyun clock-names = "apb_pclk"; 311*4882a593Smuzhiyun interrupt-controller; 312*4882a593Smuzhiyun #interrupt-cells = <2>; 313*4882a593Smuzhiyun status = "disabled"; 314*4882a593Smuzhiyun }; 315*4882a593Smuzhiyun 316*4882a593Smuzhiyun gpio14: gpio@b2e000 { 317*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 318*4882a593Smuzhiyun reg = <0xb2e000 0x1000>; 319*4882a593Smuzhiyun interrupts = <0 122 0x4>; 320*4882a593Smuzhiyun gpio-controller; 321*4882a593Smuzhiyun #gpio-cells = <2>; 322*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 323*4882a593Smuzhiyun clock-names = "apb_pclk"; 324*4882a593Smuzhiyun interrupt-controller; 325*4882a593Smuzhiyun #interrupt-cells = <2>; 326*4882a593Smuzhiyun status = "disabled"; 327*4882a593Smuzhiyun }; 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun gpio15: gpio@b2f000 { 330*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 331*4882a593Smuzhiyun reg = <0xb2f000 0x1000>; 332*4882a593Smuzhiyun interrupts = <0 123 0x4>; 333*4882a593Smuzhiyun gpio-controller; 334*4882a593Smuzhiyun #gpio-cells = <2>; 335*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 336*4882a593Smuzhiyun clock-names = "apb_pclk"; 337*4882a593Smuzhiyun interrupt-controller; 338*4882a593Smuzhiyun #interrupt-cells = <2>; 339*4882a593Smuzhiyun status = "disabled"; 340*4882a593Smuzhiyun }; 341*4882a593Smuzhiyun 342*4882a593Smuzhiyun gpio16: gpio@b30000 { 343*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 344*4882a593Smuzhiyun reg = <0xb30000 0x1000>; 345*4882a593Smuzhiyun interrupts = <0 124 0x4>; 346*4882a593Smuzhiyun gpio-controller; 347*4882a593Smuzhiyun #gpio-cells = <2>; 348*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 349*4882a593Smuzhiyun clock-names = "apb_pclk"; 350*4882a593Smuzhiyun interrupt-controller; 351*4882a593Smuzhiyun #interrupt-cells = <2>; 352*4882a593Smuzhiyun status = "disabled"; 353*4882a593Smuzhiyun }; 354*4882a593Smuzhiyun 355*4882a593Smuzhiyun gpio17: gpio@b31000 { 356*4882a593Smuzhiyun compatible = "arm,pl061", "arm,primecell"; 357*4882a593Smuzhiyun reg = <0xb31000 0x1000>; 358*4882a593Smuzhiyun interrupts = <0 125 0x4>; 359*4882a593Smuzhiyun gpio-controller; 360*4882a593Smuzhiyun #gpio-cells = <2>; 361*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_100M>; 362*4882a593Smuzhiyun clock-names = "apb_pclk"; 363*4882a593Smuzhiyun interrupt-controller; 364*4882a593Smuzhiyun #interrupt-cells = <2>; 365*4882a593Smuzhiyun status = "disabled"; 366*4882a593Smuzhiyun }; 367*4882a593Smuzhiyun 368*4882a593Smuzhiyun wdt0: watchdog@a2c000 { 369*4882a593Smuzhiyun compatible = "arm,sp805", "arm,primecell"; 370*4882a593Smuzhiyun arm,primecell-periphid = <0x00141805>; 371*4882a593Smuzhiyun reg = <0xa2c000 0x1000>; 372*4882a593Smuzhiyun interrupts = <0 29 4>; 373*4882a593Smuzhiyun clocks = <&clock HIX5HD2_WDG0_RST>, 374*4882a593Smuzhiyun <&clock HIX5HD2_WDG0_RST>; 375*4882a593Smuzhiyun clock-names = "wdog_clk", "apb_pclk"; 376*4882a593Smuzhiyun }; 377*4882a593Smuzhiyun }; 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun local_timer@a00600 { 380*4882a593Smuzhiyun compatible = "arm,cortex-a9-twd-timer"; 381*4882a593Smuzhiyun reg = <0x00a00600 0x20>; 382*4882a593Smuzhiyun interrupts = <1 13 0xf01>; 383*4882a593Smuzhiyun }; 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun l2: cache-controller { 386*4882a593Smuzhiyun compatible = "arm,pl310-cache"; 387*4882a593Smuzhiyun reg = <0x00a10000 0x100000>; 388*4882a593Smuzhiyun interrupts = <0 15 4>; 389*4882a593Smuzhiyun cache-unified; 390*4882a593Smuzhiyun cache-level = <2>; 391*4882a593Smuzhiyun }; 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun sysctrl: system-controller@0 { 394*4882a593Smuzhiyun compatible = "hisilicon,sysctrl", "syscon"; 395*4882a593Smuzhiyun reg = <0x00000000 0x1000>; 396*4882a593Smuzhiyun }; 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun reboot { 399*4882a593Smuzhiyun compatible = "syscon-reboot"; 400*4882a593Smuzhiyun regmap = <&sysctrl>; 401*4882a593Smuzhiyun offset = <0x4>; 402*4882a593Smuzhiyun mask = <0xdeadbeef>; 403*4882a593Smuzhiyun }; 404*4882a593Smuzhiyun 405*4882a593Smuzhiyun cpuctrl@a22000 { 406*4882a593Smuzhiyun compatible = "hisilicon,cpuctrl"; 407*4882a593Smuzhiyun #address-cells = <1>; 408*4882a593Smuzhiyun #size-cells = <1>; 409*4882a593Smuzhiyun reg = <0x00a22000 0x2000>; 410*4882a593Smuzhiyun ranges = <0 0x00a22000 0x2000>; 411*4882a593Smuzhiyun 412*4882a593Smuzhiyun clock: clock@0 { 413*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-clock"; 414*4882a593Smuzhiyun reg = <0 0x2000>; 415*4882a593Smuzhiyun #clock-cells = <1>; 416*4882a593Smuzhiyun }; 417*4882a593Smuzhiyun }; 418*4882a593Smuzhiyun 419*4882a593Smuzhiyun /* unremovable emmc as mmcblk0 */ 420*4882a593Smuzhiyun mmc: mmc@1830000 { 421*4882a593Smuzhiyun compatible = "snps,dw-mshc"; 422*4882a593Smuzhiyun reg = <0x1830000 0x1000>; 423*4882a593Smuzhiyun interrupts = <0 35 4>; 424*4882a593Smuzhiyun clocks = <&clock HIX5HD2_MMC_CIU_RST>, 425*4882a593Smuzhiyun <&clock HIX5HD2_MMC_BIU_CLK>; 426*4882a593Smuzhiyun clock-names = "ciu", "biu"; 427*4882a593Smuzhiyun }; 428*4882a593Smuzhiyun 429*4882a593Smuzhiyun sd: mmc@1820000 { 430*4882a593Smuzhiyun compatible = "snps,dw-mshc"; 431*4882a593Smuzhiyun reg = <0x1820000 0x1000>; 432*4882a593Smuzhiyun interrupts = <0 34 4>; 433*4882a593Smuzhiyun clocks = <&clock HIX5HD2_SD_CIU_RST>, 434*4882a593Smuzhiyun <&clock HIX5HD2_SD_BIU_CLK>; 435*4882a593Smuzhiyun clock-names = "ciu","biu"; 436*4882a593Smuzhiyun }; 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun gmac0: ethernet@1840000 { 439*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1"; 440*4882a593Smuzhiyun reg = <0x1840000 0x1000>,<0x184300c 0x4>; 441*4882a593Smuzhiyun interrupts = <0 71 4>; 442*4882a593Smuzhiyun clocks = <&clock HIX5HD2_MAC0_CLK>; 443*4882a593Smuzhiyun clock-names = "mac_core"; 444*4882a593Smuzhiyun status = "disabled"; 445*4882a593Smuzhiyun }; 446*4882a593Smuzhiyun 447*4882a593Smuzhiyun gmac1: ethernet@1841000 { 448*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1"; 449*4882a593Smuzhiyun reg = <0x1841000 0x1000>,<0x1843010 0x4>; 450*4882a593Smuzhiyun interrupts = <0 72 4>; 451*4882a593Smuzhiyun clocks = <&clock HIX5HD2_MAC1_CLK>; 452*4882a593Smuzhiyun clock-names = "mac_core"; 453*4882a593Smuzhiyun status = "disabled"; 454*4882a593Smuzhiyun }; 455*4882a593Smuzhiyun 456*4882a593Smuzhiyun usb0: ehci@1890000 { 457*4882a593Smuzhiyun compatible = "generic-ehci"; 458*4882a593Smuzhiyun reg = <0x1890000 0x1000>; 459*4882a593Smuzhiyun interrupts = <0 66 4>; 460*4882a593Smuzhiyun clocks = <&clock HIX5HD2_USB_CLK>; 461*4882a593Smuzhiyun }; 462*4882a593Smuzhiyun 463*4882a593Smuzhiyun usb1: ohci@1880000 { 464*4882a593Smuzhiyun compatible = "generic-ohci"; 465*4882a593Smuzhiyun reg = <0x1880000 0x1000>; 466*4882a593Smuzhiyun interrupts = <0 67 4>; 467*4882a593Smuzhiyun clocks = <&clock HIX5HD2_USB_CLK>; 468*4882a593Smuzhiyun }; 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun peripheral_ctrl: syscon@a20000 { 471*4882a593Smuzhiyun compatible = "syscon"; 472*4882a593Smuzhiyun reg = <0xa20000 0x1000>; 473*4882a593Smuzhiyun }; 474*4882a593Smuzhiyun 475*4882a593Smuzhiyun sata_phy: phy@1900000 { 476*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-sata-phy"; 477*4882a593Smuzhiyun reg = <0x1900000 0x10000>; 478*4882a593Smuzhiyun #phy-cells = <0>; 479*4882a593Smuzhiyun hisilicon,peripheral-syscon = <&peripheral_ctrl>; 480*4882a593Smuzhiyun hisilicon,power-reg = <0x8 10>; 481*4882a593Smuzhiyun }; 482*4882a593Smuzhiyun 483*4882a593Smuzhiyun ahci: sata@1900000 { 484*4882a593Smuzhiyun compatible = "hisilicon,hisi-ahci"; 485*4882a593Smuzhiyun reg = <0x1900000 0x10000>; 486*4882a593Smuzhiyun interrupts = <0 70 4>; 487*4882a593Smuzhiyun clocks = <&clock HIX5HD2_SATA_CLK>; 488*4882a593Smuzhiyun }; 489*4882a593Smuzhiyun 490*4882a593Smuzhiyun ir: ir@1000 { 491*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-ir"; 492*4882a593Smuzhiyun reg = <0x001000 0x1000>; 493*4882a593Smuzhiyun interrupts = <0 47 4>; 494*4882a593Smuzhiyun clocks = <&clock HIX5HD2_FIXED_24M>; 495*4882a593Smuzhiyun hisilicon,power-syscon = <&sysctrl>; 496*4882a593Smuzhiyun }; 497*4882a593Smuzhiyun 498*4882a593Smuzhiyun i2c0: i2c@b10000 { 499*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-i2c"; 500*4882a593Smuzhiyun reg = <0xb10000 0x1000>; 501*4882a593Smuzhiyun interrupts = <0 38 4>; 502*4882a593Smuzhiyun clocks = <&clock HIX5HD2_I2C0_RST>; 503*4882a593Smuzhiyun #address-cells = <1>; 504*4882a593Smuzhiyun #size-cells = <0>; 505*4882a593Smuzhiyun status = "disabled"; 506*4882a593Smuzhiyun }; 507*4882a593Smuzhiyun 508*4882a593Smuzhiyun i2c1: i2c@b11000 { 509*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-i2c"; 510*4882a593Smuzhiyun reg = <0xb11000 0x1000>; 511*4882a593Smuzhiyun interrupts = <0 39 4>; 512*4882a593Smuzhiyun clocks = <&clock HIX5HD2_I2C1_RST>; 513*4882a593Smuzhiyun #address-cells = <1>; 514*4882a593Smuzhiyun #size-cells = <0>; 515*4882a593Smuzhiyun status = "disabled"; 516*4882a593Smuzhiyun }; 517*4882a593Smuzhiyun 518*4882a593Smuzhiyun i2c2: i2c@b12000 { 519*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-i2c"; 520*4882a593Smuzhiyun reg = <0xb12000 0x1000>; 521*4882a593Smuzhiyun interrupts = <0 40 4>; 522*4882a593Smuzhiyun clocks = <&clock HIX5HD2_I2C2_RST>; 523*4882a593Smuzhiyun #address-cells = <1>; 524*4882a593Smuzhiyun #size-cells = <0>; 525*4882a593Smuzhiyun status = "disabled"; 526*4882a593Smuzhiyun }; 527*4882a593Smuzhiyun 528*4882a593Smuzhiyun i2c3: i2c@b13000 { 529*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-i2c"; 530*4882a593Smuzhiyun reg = <0xb13000 0x1000>; 531*4882a593Smuzhiyun interrupts = <0 41 4>; 532*4882a593Smuzhiyun clocks = <&clock HIX5HD2_I2C3_RST>; 533*4882a593Smuzhiyun #address-cells = <1>; 534*4882a593Smuzhiyun #size-cells = <0>; 535*4882a593Smuzhiyun status = "disabled"; 536*4882a593Smuzhiyun }; 537*4882a593Smuzhiyun 538*4882a593Smuzhiyun i2c4: i2c@b16000 { 539*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-i2c"; 540*4882a593Smuzhiyun reg = <0xb16000 0x1000>; 541*4882a593Smuzhiyun interrupts = <0 43 4>; 542*4882a593Smuzhiyun clocks = <&clock HIX5HD2_I2C4_RST>; 543*4882a593Smuzhiyun #address-cells = <1>; 544*4882a593Smuzhiyun #size-cells = <0>; 545*4882a593Smuzhiyun status = "disabled"; 546*4882a593Smuzhiyun }; 547*4882a593Smuzhiyun 548*4882a593Smuzhiyun i2c5: i2c@b17000 { 549*4882a593Smuzhiyun compatible = "hisilicon,hix5hd2-i2c"; 550*4882a593Smuzhiyun reg = <0xb17000 0x1000>; 551*4882a593Smuzhiyun interrupts = <0 44 4>; 552*4882a593Smuzhiyun clocks = <&clock HIX5HD2_I2C5_RST>; 553*4882a593Smuzhiyun #address-cells = <1>; 554*4882a593Smuzhiyun #size-cells = <0>; 555*4882a593Smuzhiyun status = "disabled"; 556*4882a593Smuzhiyun }; 557*4882a593Smuzhiyun }; 558*4882a593Smuzhiyun}; 559