1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/dts-v1/; 3*4882a593Smuzhiyun/* 4*4882a593Smuzhiyun * OCTEON 68XX device tree skeleton. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * This device tree is pruned and patched by early boot code before 7*4882a593Smuzhiyun * use. Because of this, it contains a super-set of the available 8*4882a593Smuzhiyun * devices and properties. 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun/ { 11*4882a593Smuzhiyun compatible = "cavium,octeon-6880"; 12*4882a593Smuzhiyun #address-cells = <2>; 13*4882a593Smuzhiyun #size-cells = <2>; 14*4882a593Smuzhiyun interrupt-parent = <&ciu2>; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun soc@0 { 17*4882a593Smuzhiyun compatible = "simple-bus"; 18*4882a593Smuzhiyun #address-cells = <2>; 19*4882a593Smuzhiyun #size-cells = <2>; 20*4882a593Smuzhiyun ranges; /* Direct mapping */ 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun ciu2: interrupt-controller@1070100000000 { 23*4882a593Smuzhiyun compatible = "cavium,octeon-6880-ciu2"; 24*4882a593Smuzhiyun interrupt-controller; 25*4882a593Smuzhiyun /* Interrupts are specified by two parts: 26*4882a593Smuzhiyun * 1) Controller register (0 or 7) 27*4882a593Smuzhiyun * 2) Bit within the register (0..63) 28*4882a593Smuzhiyun */ 29*4882a593Smuzhiyun #address-cells = <0>; 30*4882a593Smuzhiyun #interrupt-cells = <2>; 31*4882a593Smuzhiyun reg = <0x10701 0x00000000 0x0 0x4000000>; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun gpio: gpio-controller@1070000000800 { 35*4882a593Smuzhiyun #gpio-cells = <2>; 36*4882a593Smuzhiyun compatible = "cavium,octeon-3860-gpio"; 37*4882a593Smuzhiyun reg = <0x10700 0x00000800 0x0 0x100>; 38*4882a593Smuzhiyun gpio-controller; 39*4882a593Smuzhiyun /* Interrupts are specified by two parts: 40*4882a593Smuzhiyun * 1) GPIO pin number (0..15) 41*4882a593Smuzhiyun * 2) Triggering (1 - edge rising 42*4882a593Smuzhiyun * 2 - edge falling 43*4882a593Smuzhiyun * 4 - level active high 44*4882a593Smuzhiyun * 8 - level active low) 45*4882a593Smuzhiyun */ 46*4882a593Smuzhiyun interrupt-controller; 47*4882a593Smuzhiyun #interrupt-cells = <2>; 48*4882a593Smuzhiyun /* The GPIO pins connect to 16 consecutive CUI bits */ 49*4882a593Smuzhiyun interrupts = <7 0>, <7 1>, <7 2>, <7 3>, 50*4882a593Smuzhiyun <7 4>, <7 5>, <7 6>, <7 7>, 51*4882a593Smuzhiyun <7 8>, <7 9>, <7 10>, <7 11>, 52*4882a593Smuzhiyun <7 12>, <7 13>, <7 14>, <7 15>; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun smi0: mdio@1180000003800 { 56*4882a593Smuzhiyun compatible = "cavium,octeon-3860-mdio"; 57*4882a593Smuzhiyun #address-cells = <1>; 58*4882a593Smuzhiyun #size-cells = <0>; 59*4882a593Smuzhiyun reg = <0x11800 0x00003800 0x0 0x40>; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun phy0: ethernet-phy@6 { 62*4882a593Smuzhiyun compatible = "marvell,88e1118"; 63*4882a593Smuzhiyun marvell,reg-init = 64*4882a593Smuzhiyun /* Fix rx and tx clock transition timing */ 65*4882a593Smuzhiyun <2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */ 66*4882a593Smuzhiyun /* Adjust LED drive. */ 67*4882a593Smuzhiyun <3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */ 68*4882a593Smuzhiyun /* irq, blink-activity, blink-link */ 69*4882a593Smuzhiyun <3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */ 70*4882a593Smuzhiyun reg = <6>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun phy1: ethernet-phy@1 { 74*4882a593Smuzhiyun cavium,qlm-trim = "4,sgmii"; 75*4882a593Smuzhiyun reg = <1>; 76*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 77*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 78*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 79*4882a593Smuzhiyun <3 0x12 0 0x4105>, 80*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun phy2: ethernet-phy@2 { 83*4882a593Smuzhiyun cavium,qlm-trim = "4,sgmii"; 84*4882a593Smuzhiyun reg = <2>; 85*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 86*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 87*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 88*4882a593Smuzhiyun <3 0x12 0 0x4105>, 89*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 90*4882a593Smuzhiyun }; 91*4882a593Smuzhiyun phy3: ethernet-phy@3 { 92*4882a593Smuzhiyun cavium,qlm-trim = "4,sgmii"; 93*4882a593Smuzhiyun reg = <3>; 94*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 95*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 96*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 97*4882a593Smuzhiyun <3 0x12 0 0x4105>, 98*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 99*4882a593Smuzhiyun }; 100*4882a593Smuzhiyun phy4: ethernet-phy@4 { 101*4882a593Smuzhiyun cavium,qlm-trim = "4,sgmii"; 102*4882a593Smuzhiyun reg = <4>; 103*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 104*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 105*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 106*4882a593Smuzhiyun <3 0x12 0 0x4105>, 107*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 108*4882a593Smuzhiyun }; 109*4882a593Smuzhiyun }; 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun smi1: mdio@1180000003880 { 112*4882a593Smuzhiyun compatible = "cavium,octeon-3860-mdio"; 113*4882a593Smuzhiyun #address-cells = <1>; 114*4882a593Smuzhiyun #size-cells = <0>; 115*4882a593Smuzhiyun reg = <0x11800 0x00003880 0x0 0x40>; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun phy41: ethernet-phy@1 { 118*4882a593Smuzhiyun cavium,qlm-trim = "0,sgmii"; 119*4882a593Smuzhiyun reg = <1>; 120*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 121*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 122*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 123*4882a593Smuzhiyun <3 0x12 0 0x4105>, 124*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun phy42: ethernet-phy@2 { 127*4882a593Smuzhiyun cavium,qlm-trim = "0,sgmii"; 128*4882a593Smuzhiyun reg = <2>; 129*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 130*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 131*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 132*4882a593Smuzhiyun <3 0x12 0 0x4105>, 133*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun phy43: ethernet-phy@3 { 136*4882a593Smuzhiyun cavium,qlm-trim = "0,sgmii"; 137*4882a593Smuzhiyun reg = <3>; 138*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 139*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 140*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 141*4882a593Smuzhiyun <3 0x12 0 0x4105>, 142*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun phy44: ethernet-phy@4 { 145*4882a593Smuzhiyun cavium,qlm-trim = "0,sgmii"; 146*4882a593Smuzhiyun reg = <4>; 147*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 148*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 149*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 150*4882a593Smuzhiyun <3 0x12 0 0x4105>, 151*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun }; 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun smi2: mdio@1180000003900 { 156*4882a593Smuzhiyun compatible = "cavium,octeon-3860-mdio"; 157*4882a593Smuzhiyun #address-cells = <1>; 158*4882a593Smuzhiyun #size-cells = <0>; 159*4882a593Smuzhiyun reg = <0x11800 0x00003900 0x0 0x40>; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun phy21: ethernet-phy@1 { 162*4882a593Smuzhiyun cavium,qlm-trim = "2,sgmii"; 163*4882a593Smuzhiyun reg = <1>; 164*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 165*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 166*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 167*4882a593Smuzhiyun <3 0x12 0 0x4105>, 168*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 169*4882a593Smuzhiyun }; 170*4882a593Smuzhiyun phy22: ethernet-phy@2 { 171*4882a593Smuzhiyun cavium,qlm-trim = "2,sgmii"; 172*4882a593Smuzhiyun reg = <2>; 173*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 174*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 175*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 176*4882a593Smuzhiyun <3 0x12 0 0x4105>, 177*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 178*4882a593Smuzhiyun }; 179*4882a593Smuzhiyun phy23: ethernet-phy@3 { 180*4882a593Smuzhiyun cavium,qlm-trim = "2,sgmii"; 181*4882a593Smuzhiyun reg = <3>; 182*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 183*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 184*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 185*4882a593Smuzhiyun <3 0x12 0 0x4105>, 186*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun phy24: ethernet-phy@4 { 189*4882a593Smuzhiyun cavium,qlm-trim = "2,sgmii"; 190*4882a593Smuzhiyun reg = <4>; 191*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 192*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 193*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 194*4882a593Smuzhiyun <3 0x12 0 0x4105>, 195*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 196*4882a593Smuzhiyun }; 197*4882a593Smuzhiyun }; 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun smi3: mdio@1180000003980 { 200*4882a593Smuzhiyun compatible = "cavium,octeon-3860-mdio"; 201*4882a593Smuzhiyun #address-cells = <1>; 202*4882a593Smuzhiyun #size-cells = <0>; 203*4882a593Smuzhiyun reg = <0x11800 0x00003980 0x0 0x40>; 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun phy11: ethernet-phy@1 { 206*4882a593Smuzhiyun cavium,qlm-trim = "3,sgmii"; 207*4882a593Smuzhiyun reg = <1>; 208*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 209*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 210*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 211*4882a593Smuzhiyun <3 0x12 0 0x4105>, 212*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 213*4882a593Smuzhiyun }; 214*4882a593Smuzhiyun phy12: ethernet-phy@2 { 215*4882a593Smuzhiyun cavium,qlm-trim = "3,sgmii"; 216*4882a593Smuzhiyun reg = <2>; 217*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 218*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 219*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 220*4882a593Smuzhiyun <3 0x12 0 0x4105>, 221*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 222*4882a593Smuzhiyun }; 223*4882a593Smuzhiyun phy13: ethernet-phy@3 { 224*4882a593Smuzhiyun cavium,qlm-trim = "3,sgmii"; 225*4882a593Smuzhiyun reg = <3>; 226*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 227*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 228*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 229*4882a593Smuzhiyun <3 0x12 0 0x4105>, 230*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 231*4882a593Smuzhiyun }; 232*4882a593Smuzhiyun phy14: ethernet-phy@4 { 233*4882a593Smuzhiyun cavium,qlm-trim = "3,sgmii"; 234*4882a593Smuzhiyun reg = <4>; 235*4882a593Smuzhiyun compatible = "marvell,88e1149r"; 236*4882a593Smuzhiyun marvell,reg-init = <3 0x10 0 0x5777>, 237*4882a593Smuzhiyun <3 0x11 0 0x00aa>, 238*4882a593Smuzhiyun <3 0x12 0 0x4105>, 239*4882a593Smuzhiyun <3 0x13 0 0x0a60>; 240*4882a593Smuzhiyun }; 241*4882a593Smuzhiyun }; 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun mix0: ethernet@1070000100000 { 244*4882a593Smuzhiyun compatible = "cavium,octeon-5750-mix"; 245*4882a593Smuzhiyun reg = <0x10700 0x00100000 0x0 0x100>, /* MIX */ 246*4882a593Smuzhiyun <0x11800 0xE0000000 0x0 0x300>, /* AGL */ 247*4882a593Smuzhiyun <0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED */ 248*4882a593Smuzhiyun <0x11800 0xE0002000 0x0 0x8>; /* AGL_PRT_CTL */ 249*4882a593Smuzhiyun cell-index = <0>; 250*4882a593Smuzhiyun interrupts = <6 40>, <6 32>; 251*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 252*4882a593Smuzhiyun phy-handle = <&phy0>; 253*4882a593Smuzhiyun }; 254*4882a593Smuzhiyun 255*4882a593Smuzhiyun pip: pip@11800a0000000 { 256*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip"; 257*4882a593Smuzhiyun #address-cells = <1>; 258*4882a593Smuzhiyun #size-cells = <0>; 259*4882a593Smuzhiyun reg = <0x11800 0xa0000000 0x0 0x2000>; 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun interface@4 { 262*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-interface"; 263*4882a593Smuzhiyun #address-cells = <1>; 264*4882a593Smuzhiyun #size-cells = <0>; 265*4882a593Smuzhiyun reg = <0x4>; /* interface */ 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun ethernet@0 { 268*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 269*4882a593Smuzhiyun reg = <0x0>; /* Port */ 270*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 271*4882a593Smuzhiyun phy-handle = <&phy1>; 272*4882a593Smuzhiyun }; 273*4882a593Smuzhiyun ethernet@1 { 274*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 275*4882a593Smuzhiyun reg = <0x1>; /* Port */ 276*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 277*4882a593Smuzhiyun phy-handle = <&phy2>; 278*4882a593Smuzhiyun }; 279*4882a593Smuzhiyun ethernet@2 { 280*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 281*4882a593Smuzhiyun reg = <0x2>; /* Port */ 282*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 283*4882a593Smuzhiyun phy-handle = <&phy3>; 284*4882a593Smuzhiyun }; 285*4882a593Smuzhiyun ethernet@3 { 286*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 287*4882a593Smuzhiyun reg = <0x3>; /* Port */ 288*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 289*4882a593Smuzhiyun phy-handle = <&phy4>; 290*4882a593Smuzhiyun }; 291*4882a593Smuzhiyun }; 292*4882a593Smuzhiyun 293*4882a593Smuzhiyun interface@3 { 294*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-interface"; 295*4882a593Smuzhiyun #address-cells = <1>; 296*4882a593Smuzhiyun #size-cells = <0>; 297*4882a593Smuzhiyun reg = <0x3>; /* interface */ 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun ethernet@0 { 300*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 301*4882a593Smuzhiyun reg = <0x0>; /* Port */ 302*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 303*4882a593Smuzhiyun phy-handle = <&phy11>; 304*4882a593Smuzhiyun }; 305*4882a593Smuzhiyun ethernet@1 { 306*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 307*4882a593Smuzhiyun reg = <0x1>; /* Port */ 308*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 309*4882a593Smuzhiyun phy-handle = <&phy12>; 310*4882a593Smuzhiyun }; 311*4882a593Smuzhiyun ethernet@2 { 312*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 313*4882a593Smuzhiyun reg = <0x2>; /* Port */ 314*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 315*4882a593Smuzhiyun phy-handle = <&phy13>; 316*4882a593Smuzhiyun }; 317*4882a593Smuzhiyun ethernet@3 { 318*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 319*4882a593Smuzhiyun reg = <0x3>; /* Port */ 320*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 321*4882a593Smuzhiyun phy-handle = <&phy14>; 322*4882a593Smuzhiyun }; 323*4882a593Smuzhiyun }; 324*4882a593Smuzhiyun 325*4882a593Smuzhiyun interface@2 { 326*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-interface"; 327*4882a593Smuzhiyun #address-cells = <1>; 328*4882a593Smuzhiyun #size-cells = <0>; 329*4882a593Smuzhiyun reg = <0x2>; /* interface */ 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun ethernet@0 { 332*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 333*4882a593Smuzhiyun reg = <0x0>; /* Port */ 334*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 335*4882a593Smuzhiyun phy-handle = <&phy21>; 336*4882a593Smuzhiyun }; 337*4882a593Smuzhiyun ethernet@1 { 338*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 339*4882a593Smuzhiyun reg = <0x1>; /* Port */ 340*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 341*4882a593Smuzhiyun phy-handle = <&phy22>; 342*4882a593Smuzhiyun }; 343*4882a593Smuzhiyun ethernet@2 { 344*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 345*4882a593Smuzhiyun reg = <0x2>; /* Port */ 346*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 347*4882a593Smuzhiyun phy-handle = <&phy23>; 348*4882a593Smuzhiyun }; 349*4882a593Smuzhiyun ethernet@3 { 350*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 351*4882a593Smuzhiyun reg = <0x3>; /* Port */ 352*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 353*4882a593Smuzhiyun phy-handle = <&phy24>; 354*4882a593Smuzhiyun }; 355*4882a593Smuzhiyun }; 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun interface@1 { 358*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-interface"; 359*4882a593Smuzhiyun #address-cells = <1>; 360*4882a593Smuzhiyun #size-cells = <0>; 361*4882a593Smuzhiyun reg = <0x1>; /* interface */ 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun ethernet@0 { 364*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 365*4882a593Smuzhiyun reg = <0x0>; /* Port */ 366*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 367*4882a593Smuzhiyun }; 368*4882a593Smuzhiyun }; 369*4882a593Smuzhiyun 370*4882a593Smuzhiyun interface@0 { 371*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-interface"; 372*4882a593Smuzhiyun #address-cells = <1>; 373*4882a593Smuzhiyun #size-cells = <0>; 374*4882a593Smuzhiyun reg = <0x0>; /* interface */ 375*4882a593Smuzhiyun 376*4882a593Smuzhiyun ethernet@0 { 377*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 378*4882a593Smuzhiyun reg = <0x0>; /* Port */ 379*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 380*4882a593Smuzhiyun phy-handle = <&phy41>; 381*4882a593Smuzhiyun }; 382*4882a593Smuzhiyun ethernet@1 { 383*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 384*4882a593Smuzhiyun reg = <0x1>; /* Port */ 385*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 386*4882a593Smuzhiyun phy-handle = <&phy42>; 387*4882a593Smuzhiyun }; 388*4882a593Smuzhiyun ethernet@2 { 389*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 390*4882a593Smuzhiyun reg = <0x2>; /* Port */ 391*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 392*4882a593Smuzhiyun phy-handle = <&phy43>; 393*4882a593Smuzhiyun }; 394*4882a593Smuzhiyun ethernet@3 { 395*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 396*4882a593Smuzhiyun reg = <0x3>; /* Port */ 397*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 398*4882a593Smuzhiyun phy-handle = <&phy44>; 399*4882a593Smuzhiyun }; 400*4882a593Smuzhiyun }; 401*4882a593Smuzhiyun }; 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun twsi0: i2c@1180000001000 { 404*4882a593Smuzhiyun #address-cells = <1>; 405*4882a593Smuzhiyun #size-cells = <0>; 406*4882a593Smuzhiyun compatible = "cavium,octeon-3860-twsi"; 407*4882a593Smuzhiyun reg = <0x11800 0x00001000 0x0 0x200>; 408*4882a593Smuzhiyun interrupts = <3 32>; 409*4882a593Smuzhiyun clock-frequency = <100000>; 410*4882a593Smuzhiyun 411*4882a593Smuzhiyun rtc@68 { 412*4882a593Smuzhiyun compatible = "dallas,ds1337"; 413*4882a593Smuzhiyun reg = <0x68>; 414*4882a593Smuzhiyun }; 415*4882a593Smuzhiyun tmp@4c { 416*4882a593Smuzhiyun compatible = "ti,tmp421"; 417*4882a593Smuzhiyun reg = <0x4c>; 418*4882a593Smuzhiyun }; 419*4882a593Smuzhiyun }; 420*4882a593Smuzhiyun 421*4882a593Smuzhiyun twsi1: i2c@1180000001200 { 422*4882a593Smuzhiyun #address-cells = <1>; 423*4882a593Smuzhiyun #size-cells = <0>; 424*4882a593Smuzhiyun compatible = "cavium,octeon-3860-twsi"; 425*4882a593Smuzhiyun reg = <0x11800 0x00001200 0x0 0x200>; 426*4882a593Smuzhiyun interrupts = <3 33>; 427*4882a593Smuzhiyun clock-frequency = <100000>; 428*4882a593Smuzhiyun }; 429*4882a593Smuzhiyun 430*4882a593Smuzhiyun uart0: serial@1180000000800 { 431*4882a593Smuzhiyun compatible = "cavium,octeon-3860-uart","ns16550"; 432*4882a593Smuzhiyun reg = <0x11800 0x00000800 0x0 0x400>; 433*4882a593Smuzhiyun clock-frequency = <0>; 434*4882a593Smuzhiyun current-speed = <115200>; 435*4882a593Smuzhiyun reg-shift = <3>; 436*4882a593Smuzhiyun interrupts = <3 36>; 437*4882a593Smuzhiyun }; 438*4882a593Smuzhiyun 439*4882a593Smuzhiyun uart1: serial@1180000000c00 { 440*4882a593Smuzhiyun compatible = "cavium,octeon-3860-uart","ns16550"; 441*4882a593Smuzhiyun reg = <0x11800 0x00000c00 0x0 0x400>; 442*4882a593Smuzhiyun clock-frequency = <0>; 443*4882a593Smuzhiyun current-speed = <115200>; 444*4882a593Smuzhiyun reg-shift = <3>; 445*4882a593Smuzhiyun interrupts = <3 37>; 446*4882a593Smuzhiyun }; 447*4882a593Smuzhiyun 448*4882a593Smuzhiyun bootbus: bootbus@1180000000000 { 449*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus"; 450*4882a593Smuzhiyun reg = <0x11800 0x00000000 0x0 0x200>; 451*4882a593Smuzhiyun /* The chip select number and offset */ 452*4882a593Smuzhiyun #address-cells = <2>; 453*4882a593Smuzhiyun /* The size of the chip select region */ 454*4882a593Smuzhiyun #size-cells = <1>; 455*4882a593Smuzhiyun ranges = <0 0 0 0x1f400000 0xc00000>, 456*4882a593Smuzhiyun <1 0 0x10000 0x30000000 0>, 457*4882a593Smuzhiyun <2 0 0x10000 0x40000000 0>, 458*4882a593Smuzhiyun <3 0 0x10000 0x50000000 0>, 459*4882a593Smuzhiyun <4 0 0 0x1d020000 0x10000>, 460*4882a593Smuzhiyun <5 0 0 0x1d040000 0x10000>, 461*4882a593Smuzhiyun <6 0 0 0x1d050000 0x10000>, 462*4882a593Smuzhiyun <7 0 0x10000 0x90000000 0>; 463*4882a593Smuzhiyun 464*4882a593Smuzhiyun cavium,cs-config@0 { 465*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus-config"; 466*4882a593Smuzhiyun cavium,cs-index = <0>; 467*4882a593Smuzhiyun cavium,t-adr = <10>; 468*4882a593Smuzhiyun cavium,t-ce = <50>; 469*4882a593Smuzhiyun cavium,t-oe = <50>; 470*4882a593Smuzhiyun cavium,t-we = <35>; 471*4882a593Smuzhiyun cavium,t-rd-hld = <25>; 472*4882a593Smuzhiyun cavium,t-wr-hld = <35>; 473*4882a593Smuzhiyun cavium,t-pause = <0>; 474*4882a593Smuzhiyun cavium,t-wait = <300>; 475*4882a593Smuzhiyun cavium,t-page = <25>; 476*4882a593Smuzhiyun cavium,t-rd-dly = <0>; 477*4882a593Smuzhiyun 478*4882a593Smuzhiyun cavium,pages = <0>; 479*4882a593Smuzhiyun cavium,bus-width = <8>; 480*4882a593Smuzhiyun }; 481*4882a593Smuzhiyun cavium,cs-config@4 { 482*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus-config"; 483*4882a593Smuzhiyun cavium,cs-index = <4>; 484*4882a593Smuzhiyun cavium,t-adr = <320>; 485*4882a593Smuzhiyun cavium,t-ce = <320>; 486*4882a593Smuzhiyun cavium,t-oe = <320>; 487*4882a593Smuzhiyun cavium,t-we = <320>; 488*4882a593Smuzhiyun cavium,t-rd-hld = <320>; 489*4882a593Smuzhiyun cavium,t-wr-hld = <320>; 490*4882a593Smuzhiyun cavium,t-pause = <320>; 491*4882a593Smuzhiyun cavium,t-wait = <320>; 492*4882a593Smuzhiyun cavium,t-page = <320>; 493*4882a593Smuzhiyun cavium,t-rd-dly = <0>; 494*4882a593Smuzhiyun 495*4882a593Smuzhiyun cavium,pages = <0>; 496*4882a593Smuzhiyun cavium,bus-width = <8>; 497*4882a593Smuzhiyun }; 498*4882a593Smuzhiyun cavium,cs-config@5 { 499*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus-config"; 500*4882a593Smuzhiyun cavium,cs-index = <5>; 501*4882a593Smuzhiyun cavium,t-adr = <0>; 502*4882a593Smuzhiyun cavium,t-ce = <300>; 503*4882a593Smuzhiyun cavium,t-oe = <125>; 504*4882a593Smuzhiyun cavium,t-we = <150>; 505*4882a593Smuzhiyun cavium,t-rd-hld = <100>; 506*4882a593Smuzhiyun cavium,t-wr-hld = <300>; 507*4882a593Smuzhiyun cavium,t-pause = <0>; 508*4882a593Smuzhiyun cavium,t-wait = <300>; 509*4882a593Smuzhiyun cavium,t-page = <310>; 510*4882a593Smuzhiyun cavium,t-rd-dly = <0>; 511*4882a593Smuzhiyun 512*4882a593Smuzhiyun cavium,pages = <0>; 513*4882a593Smuzhiyun cavium,bus-width = <16>; 514*4882a593Smuzhiyun }; 515*4882a593Smuzhiyun cavium,cs-config@6 { 516*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus-config"; 517*4882a593Smuzhiyun cavium,cs-index = <6>; 518*4882a593Smuzhiyun cavium,t-adr = <0>; 519*4882a593Smuzhiyun cavium,t-ce = <30>; 520*4882a593Smuzhiyun cavium,t-oe = <125>; 521*4882a593Smuzhiyun cavium,t-we = <150>; 522*4882a593Smuzhiyun cavium,t-rd-hld = <100>; 523*4882a593Smuzhiyun cavium,t-wr-hld = <30>; 524*4882a593Smuzhiyun cavium,t-pause = <0>; 525*4882a593Smuzhiyun cavium,t-wait = <30>; 526*4882a593Smuzhiyun cavium,t-page = <310>; 527*4882a593Smuzhiyun cavium,t-rd-dly = <0>; 528*4882a593Smuzhiyun 529*4882a593Smuzhiyun cavium,pages = <0>; 530*4882a593Smuzhiyun cavium,wait-mode; 531*4882a593Smuzhiyun cavium,bus-width = <16>; 532*4882a593Smuzhiyun }; 533*4882a593Smuzhiyun 534*4882a593Smuzhiyun flash0: nor@0,0 { 535*4882a593Smuzhiyun compatible = "cfi-flash"; 536*4882a593Smuzhiyun reg = <0 0 0x800000>; 537*4882a593Smuzhiyun #address-cells = <1>; 538*4882a593Smuzhiyun #size-cells = <1>; 539*4882a593Smuzhiyun 540*4882a593Smuzhiyun partition@0 { 541*4882a593Smuzhiyun label = "bootloader"; 542*4882a593Smuzhiyun reg = <0 0x200000>; 543*4882a593Smuzhiyun read-only; 544*4882a593Smuzhiyun }; 545*4882a593Smuzhiyun partition@200000 { 546*4882a593Smuzhiyun label = "kernel"; 547*4882a593Smuzhiyun reg = <0x200000 0x200000>; 548*4882a593Smuzhiyun }; 549*4882a593Smuzhiyun partition@400000 { 550*4882a593Smuzhiyun label = "cramfs"; 551*4882a593Smuzhiyun reg = <0x400000 0x3fe000>; 552*4882a593Smuzhiyun }; 553*4882a593Smuzhiyun partition@7fe000 { 554*4882a593Smuzhiyun label = "environment"; 555*4882a593Smuzhiyun reg = <0x7fe000 0x2000>; 556*4882a593Smuzhiyun read-only; 557*4882a593Smuzhiyun }; 558*4882a593Smuzhiyun }; 559*4882a593Smuzhiyun 560*4882a593Smuzhiyun led0: led-display@4,0 { 561*4882a593Smuzhiyun compatible = "avago,hdsp-253x"; 562*4882a593Smuzhiyun reg = <4 0x20 0x20>, <4 0 0x20>; 563*4882a593Smuzhiyun }; 564*4882a593Smuzhiyun 565*4882a593Smuzhiyun compact-flash@5,0 { 566*4882a593Smuzhiyun compatible = "cavium,ebt3000-compact-flash"; 567*4882a593Smuzhiyun reg = <5 0 0x10000>, <6 0 0x10000>; 568*4882a593Smuzhiyun cavium,bus-width = <16>; 569*4882a593Smuzhiyun cavium,true-ide; 570*4882a593Smuzhiyun cavium,dma-engine-handle = <&dma0>; 571*4882a593Smuzhiyun }; 572*4882a593Smuzhiyun }; 573*4882a593Smuzhiyun 574*4882a593Smuzhiyun dma0: dma-engine@1180000000100 { 575*4882a593Smuzhiyun compatible = "cavium,octeon-5750-bootbus-dma"; 576*4882a593Smuzhiyun reg = <0x11800 0x00000100 0x0 0x8>; 577*4882a593Smuzhiyun interrupts = <0 63>; 578*4882a593Smuzhiyun }; 579*4882a593Smuzhiyun dma1: dma-engine@1180000000108 { 580*4882a593Smuzhiyun compatible = "cavium,octeon-5750-bootbus-dma"; 581*4882a593Smuzhiyun reg = <0x11800 0x00000108 0x0 0x8>; 582*4882a593Smuzhiyun interrupts = <0 63>; 583*4882a593Smuzhiyun }; 584*4882a593Smuzhiyun 585*4882a593Smuzhiyun uctl: uctl@118006f000000 { 586*4882a593Smuzhiyun compatible = "cavium,octeon-6335-uctl"; 587*4882a593Smuzhiyun reg = <0x11800 0x6f000000 0x0 0x100>; 588*4882a593Smuzhiyun ranges; /* Direct mapping */ 589*4882a593Smuzhiyun #address-cells = <2>; 590*4882a593Smuzhiyun #size-cells = <2>; 591*4882a593Smuzhiyun /* 12MHz, 24MHz and 48MHz allowed */ 592*4882a593Smuzhiyun refclk-frequency = <12000000>; 593*4882a593Smuzhiyun /* Either "crystal" or "external" */ 594*4882a593Smuzhiyun refclk-type = "crystal"; 595*4882a593Smuzhiyun 596*4882a593Smuzhiyun ehci@16f0000000000 { 597*4882a593Smuzhiyun compatible = "cavium,octeon-6335-ehci","usb-ehci"; 598*4882a593Smuzhiyun reg = <0x16f00 0x00000000 0x0 0x100>; 599*4882a593Smuzhiyun interrupts = <3 44>; 600*4882a593Smuzhiyun big-endian-regs; 601*4882a593Smuzhiyun }; 602*4882a593Smuzhiyun ohci@16f0000000400 { 603*4882a593Smuzhiyun compatible = "cavium,octeon-6335-ohci","usb-ohci"; 604*4882a593Smuzhiyun reg = <0x16f00 0x00000400 0x0 0x100>; 605*4882a593Smuzhiyun interrupts = <3 44>; 606*4882a593Smuzhiyun big-endian-regs; 607*4882a593Smuzhiyun }; 608*4882a593Smuzhiyun }; 609*4882a593Smuzhiyun }; 610*4882a593Smuzhiyun 611*4882a593Smuzhiyun aliases { 612*4882a593Smuzhiyun mix0 = &mix0; 613*4882a593Smuzhiyun pip = &pip; 614*4882a593Smuzhiyun smi0 = &smi0; 615*4882a593Smuzhiyun smi1 = &smi1; 616*4882a593Smuzhiyun smi2 = &smi2; 617*4882a593Smuzhiyun smi3 = &smi3; 618*4882a593Smuzhiyun twsi0 = &twsi0; 619*4882a593Smuzhiyun twsi1 = &twsi1; 620*4882a593Smuzhiyun uart0 = &uart0; 621*4882a593Smuzhiyun uart1 = &uart1; 622*4882a593Smuzhiyun uctl = &uctl; 623*4882a593Smuzhiyun led0 = &led0; 624*4882a593Smuzhiyun flash0 = &flash0; 625*4882a593Smuzhiyun }; 626*4882a593Smuzhiyun }; 627