1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*4882a593Smuzhiyun/* Copyright (c) 2017 Microsemi Corporation */ 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun/ { 5*4882a593Smuzhiyun #address-cells = <1>; 6*4882a593Smuzhiyun #size-cells = <1>; 7*4882a593Smuzhiyun compatible = "mscc,ocelot"; 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun cpus { 10*4882a593Smuzhiyun #address-cells = <1>; 11*4882a593Smuzhiyun #size-cells = <0>; 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun cpu@0 { 14*4882a593Smuzhiyun compatible = "mips,mips24KEc"; 15*4882a593Smuzhiyun device_type = "cpu"; 16*4882a593Smuzhiyun clocks = <&cpu_clk>; 17*4882a593Smuzhiyun reg = <0>; 18*4882a593Smuzhiyun }; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun aliases { 22*4882a593Smuzhiyun serial0 = &uart0; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun cpuintc: interrupt-controller { 26*4882a593Smuzhiyun #address-cells = <0>; 27*4882a593Smuzhiyun #interrupt-cells = <1>; 28*4882a593Smuzhiyun interrupt-controller; 29*4882a593Smuzhiyun compatible = "mti,cpu-interrupt-controller"; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun cpu_clk: cpu-clock { 33*4882a593Smuzhiyun compatible = "fixed-clock"; 34*4882a593Smuzhiyun #clock-cells = <0>; 35*4882a593Smuzhiyun clock-frequency = <500000000>; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun ahb_clk: ahb-clk { 39*4882a593Smuzhiyun compatible = "fixed-factor-clock"; 40*4882a593Smuzhiyun #clock-cells = <0>; 41*4882a593Smuzhiyun clocks = <&cpu_clk>; 42*4882a593Smuzhiyun clock-div = <2>; 43*4882a593Smuzhiyun clock-mult = <1>; 44*4882a593Smuzhiyun }; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun ahb@70000000 { 47*4882a593Smuzhiyun compatible = "simple-bus"; 48*4882a593Smuzhiyun #address-cells = <1>; 49*4882a593Smuzhiyun #size-cells = <1>; 50*4882a593Smuzhiyun ranges = <0 0x70000000 0x2000000>; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun interrupt-parent = <&intc>; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun cpu_ctrl: syscon@0 { 55*4882a593Smuzhiyun compatible = "mscc,ocelot-cpu-syscon", "syscon"; 56*4882a593Smuzhiyun reg = <0x0 0x2c>; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun intc: interrupt-controller@70 { 60*4882a593Smuzhiyun compatible = "mscc,ocelot-icpu-intr"; 61*4882a593Smuzhiyun reg = <0x70 0x70>; 62*4882a593Smuzhiyun #interrupt-cells = <1>; 63*4882a593Smuzhiyun interrupt-controller; 64*4882a593Smuzhiyun interrupt-parent = <&cpuintc>; 65*4882a593Smuzhiyun interrupts = <2>; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun uart0: serial@100000 { 69*4882a593Smuzhiyun pinctrl-0 = <&uart_pins>; 70*4882a593Smuzhiyun pinctrl-names = "default"; 71*4882a593Smuzhiyun compatible = "ns16550a"; 72*4882a593Smuzhiyun reg = <0x100000 0x20>; 73*4882a593Smuzhiyun interrupts = <6>; 74*4882a593Smuzhiyun clocks = <&ahb_clk>; 75*4882a593Smuzhiyun reg-io-width = <4>; 76*4882a593Smuzhiyun reg-shift = <2>; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun status = "disabled"; 79*4882a593Smuzhiyun }; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun i2c: i2c@100400 { 82*4882a593Smuzhiyun compatible = "mscc,ocelot-i2c", "snps,designware-i2c"; 83*4882a593Smuzhiyun pinctrl-0 = <&i2c_pins>; 84*4882a593Smuzhiyun pinctrl-names = "default"; 85*4882a593Smuzhiyun reg = <0x100400 0x100>, <0x198 0x8>; 86*4882a593Smuzhiyun #address-cells = <1>; 87*4882a593Smuzhiyun #size-cells = <0>; 88*4882a593Smuzhiyun interrupts = <8>; 89*4882a593Smuzhiyun clocks = <&ahb_clk>; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun status = "disabled"; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun uart2: serial@100800 { 95*4882a593Smuzhiyun pinctrl-0 = <&uart2_pins>; 96*4882a593Smuzhiyun pinctrl-names = "default"; 97*4882a593Smuzhiyun compatible = "ns16550a"; 98*4882a593Smuzhiyun reg = <0x100800 0x20>; 99*4882a593Smuzhiyun interrupts = <7>; 100*4882a593Smuzhiyun clocks = <&ahb_clk>; 101*4882a593Smuzhiyun reg-io-width = <4>; 102*4882a593Smuzhiyun reg-shift = <2>; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun status = "disabled"; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun spi: spi@101000 { 108*4882a593Smuzhiyun compatible = "mscc,ocelot-spi", "snps,dw-apb-ssi"; 109*4882a593Smuzhiyun #address-cells = <1>; 110*4882a593Smuzhiyun #size-cells = <0>; 111*4882a593Smuzhiyun reg = <0x101000 0x100>, <0x3c 0x18>; 112*4882a593Smuzhiyun interrupts = <9>; 113*4882a593Smuzhiyun clocks = <&ahb_clk>; 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun status = "disabled"; 116*4882a593Smuzhiyun }; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun switch@1010000 { 119*4882a593Smuzhiyun compatible = "mscc,vsc7514-switch"; 120*4882a593Smuzhiyun reg = <0x1010000 0x10000>, 121*4882a593Smuzhiyun <0x1030000 0x10000>, 122*4882a593Smuzhiyun <0x1080000 0x100>, 123*4882a593Smuzhiyun <0x10e0000 0x10000>, 124*4882a593Smuzhiyun <0x11e0000 0x100>, 125*4882a593Smuzhiyun <0x11f0000 0x100>, 126*4882a593Smuzhiyun <0x1200000 0x100>, 127*4882a593Smuzhiyun <0x1210000 0x100>, 128*4882a593Smuzhiyun <0x1220000 0x100>, 129*4882a593Smuzhiyun <0x1230000 0x100>, 130*4882a593Smuzhiyun <0x1240000 0x100>, 131*4882a593Smuzhiyun <0x1250000 0x100>, 132*4882a593Smuzhiyun <0x1260000 0x100>, 133*4882a593Smuzhiyun <0x1270000 0x100>, 134*4882a593Smuzhiyun <0x1280000 0x100>, 135*4882a593Smuzhiyun <0x1800000 0x80000>, 136*4882a593Smuzhiyun <0x1880000 0x10000>, 137*4882a593Smuzhiyun <0x1040000 0x10000>, 138*4882a593Smuzhiyun <0x1050000 0x10000>, 139*4882a593Smuzhiyun <0x1060000 0x10000>; 140*4882a593Smuzhiyun reg-names = "sys", "rew", "qs", "ptp", "port0", "port1", 141*4882a593Smuzhiyun "port2", "port3", "port4", "port5", "port6", 142*4882a593Smuzhiyun "port7", "port8", "port9", "port10", "qsys", 143*4882a593Smuzhiyun "ana", "s0", "s1", "s2"; 144*4882a593Smuzhiyun interrupts = <18 21 22>; 145*4882a593Smuzhiyun interrupt-names = "ptp_rdy", "xtr", "inj"; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun ethernet-ports { 148*4882a593Smuzhiyun #address-cells = <1>; 149*4882a593Smuzhiyun #size-cells = <0>; 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun port0: port@0 { 152*4882a593Smuzhiyun reg = <0>; 153*4882a593Smuzhiyun }; 154*4882a593Smuzhiyun port1: port@1 { 155*4882a593Smuzhiyun reg = <1>; 156*4882a593Smuzhiyun }; 157*4882a593Smuzhiyun port2: port@2 { 158*4882a593Smuzhiyun reg = <2>; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun port3: port@3 { 161*4882a593Smuzhiyun reg = <3>; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun port4: port@4 { 164*4882a593Smuzhiyun reg = <4>; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun port5: port@5 { 167*4882a593Smuzhiyun reg = <5>; 168*4882a593Smuzhiyun }; 169*4882a593Smuzhiyun port6: port@6 { 170*4882a593Smuzhiyun reg = <6>; 171*4882a593Smuzhiyun }; 172*4882a593Smuzhiyun port7: port@7 { 173*4882a593Smuzhiyun reg = <7>; 174*4882a593Smuzhiyun }; 175*4882a593Smuzhiyun port8: port@8 { 176*4882a593Smuzhiyun reg = <8>; 177*4882a593Smuzhiyun }; 178*4882a593Smuzhiyun port9: port@9 { 179*4882a593Smuzhiyun reg = <9>; 180*4882a593Smuzhiyun }; 181*4882a593Smuzhiyun port10: port@10 { 182*4882a593Smuzhiyun reg = <10>; 183*4882a593Smuzhiyun }; 184*4882a593Smuzhiyun }; 185*4882a593Smuzhiyun }; 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun reset@1070008 { 188*4882a593Smuzhiyun compatible = "mscc,ocelot-chip-reset"; 189*4882a593Smuzhiyun reg = <0x1070008 0x4>; 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun gpio: pinctrl@1070034 { 193*4882a593Smuzhiyun compatible = "mscc,ocelot-pinctrl"; 194*4882a593Smuzhiyun reg = <0x1070034 0x68>; 195*4882a593Smuzhiyun gpio-controller; 196*4882a593Smuzhiyun #gpio-cells = <2>; 197*4882a593Smuzhiyun gpio-ranges = <&gpio 0 0 22>; 198*4882a593Smuzhiyun interrupt-controller; 199*4882a593Smuzhiyun interrupts = <13>; 200*4882a593Smuzhiyun #interrupt-cells = <2>; 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun i2c_pins: i2c-pins { 203*4882a593Smuzhiyun pins = "GPIO_16", "GPIO_17"; 204*4882a593Smuzhiyun function = "twi"; 205*4882a593Smuzhiyun }; 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun uart_pins: uart-pins { 208*4882a593Smuzhiyun pins = "GPIO_6", "GPIO_7"; 209*4882a593Smuzhiyun function = "uart"; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun uart2_pins: uart2-pins { 213*4882a593Smuzhiyun pins = "GPIO_12", "GPIO_13"; 214*4882a593Smuzhiyun function = "uart2"; 215*4882a593Smuzhiyun }; 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun miim1: miim1 { 218*4882a593Smuzhiyun pins = "GPIO_14", "GPIO_15"; 219*4882a593Smuzhiyun function = "miim"; 220*4882a593Smuzhiyun }; 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun }; 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun mdio0: mdio@107009c { 225*4882a593Smuzhiyun #address-cells = <1>; 226*4882a593Smuzhiyun #size-cells = <0>; 227*4882a593Smuzhiyun compatible = "mscc,ocelot-miim"; 228*4882a593Smuzhiyun reg = <0x107009c 0x24>, <0x10700f0 0x8>; 229*4882a593Smuzhiyun interrupts = <14>; 230*4882a593Smuzhiyun status = "disabled"; 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun phy0: ethernet-phy@0 { 233*4882a593Smuzhiyun reg = <0>; 234*4882a593Smuzhiyun }; 235*4882a593Smuzhiyun phy1: ethernet-phy@1 { 236*4882a593Smuzhiyun reg = <1>; 237*4882a593Smuzhiyun }; 238*4882a593Smuzhiyun phy2: ethernet-phy@2 { 239*4882a593Smuzhiyun reg = <2>; 240*4882a593Smuzhiyun }; 241*4882a593Smuzhiyun phy3: ethernet-phy@3 { 242*4882a593Smuzhiyun reg = <3>; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun }; 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun mdio1: mdio@10700c0 { 247*4882a593Smuzhiyun #address-cells = <1>; 248*4882a593Smuzhiyun #size-cells = <0>; 249*4882a593Smuzhiyun compatible = "mscc,ocelot-miim"; 250*4882a593Smuzhiyun reg = <0x10700c0 0x24>; 251*4882a593Smuzhiyun interrupts = <15>; 252*4882a593Smuzhiyun pinctrl-names = "default"; 253*4882a593Smuzhiyun pinctrl-0 = <&miim1>; 254*4882a593Smuzhiyun status = "disabled"; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun hsio: syscon@10d0000 { 258*4882a593Smuzhiyun compatible = "mscc,ocelot-hsio", "syscon", "simple-mfd"; 259*4882a593Smuzhiyun reg = <0x10d0000 0x10000>; 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun serdes: serdes { 262*4882a593Smuzhiyun compatible = "mscc,vsc7514-serdes"; 263*4882a593Smuzhiyun #phy-cells = <2>; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun }; 266*4882a593Smuzhiyun }; 267*4882a593Smuzhiyun}; 268