1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* OCTEON 3XXX DTS common parts. */ 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun/dts-v1/; 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun/ { 7*4882a593Smuzhiyun compatible = "cavium,octeon-3860"; 8*4882a593Smuzhiyun #address-cells = <2>; 9*4882a593Smuzhiyun #size-cells = <2>; 10*4882a593Smuzhiyun interrupt-parent = <&ciu>; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun soc@0 { 13*4882a593Smuzhiyun compatible = "simple-bus"; 14*4882a593Smuzhiyun #address-cells = <2>; 15*4882a593Smuzhiyun #size-cells = <2>; 16*4882a593Smuzhiyun ranges; /* Direct mapping */ 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun ciu: interrupt-controller@1070000000000 { 19*4882a593Smuzhiyun compatible = "cavium,octeon-3860-ciu"; 20*4882a593Smuzhiyun interrupt-controller; 21*4882a593Smuzhiyun /* Interrupts are specified by two parts: 22*4882a593Smuzhiyun * 1) Controller register (0 or 1) 23*4882a593Smuzhiyun * 2) Bit within the register (0..63) 24*4882a593Smuzhiyun */ 25*4882a593Smuzhiyun #interrupt-cells = <2>; 26*4882a593Smuzhiyun reg = <0x10700 0x00000000 0x0 0x7000>; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun gpio: gpio-controller@1070000000800 { 30*4882a593Smuzhiyun #gpio-cells = <2>; 31*4882a593Smuzhiyun compatible = "cavium,octeon-3860-gpio"; 32*4882a593Smuzhiyun reg = <0x10700 0x00000800 0x0 0x100>; 33*4882a593Smuzhiyun gpio-controller; 34*4882a593Smuzhiyun /* Interrupts are specified by two parts: 35*4882a593Smuzhiyun * 1) GPIO pin number (0..15) 36*4882a593Smuzhiyun * 2) Triggering (1 - edge rising 37*4882a593Smuzhiyun * 2 - edge falling 38*4882a593Smuzhiyun * 4 - level active high 39*4882a593Smuzhiyun * 8 - level active low) 40*4882a593Smuzhiyun */ 41*4882a593Smuzhiyun interrupt-controller; 42*4882a593Smuzhiyun #interrupt-cells = <2>; 43*4882a593Smuzhiyun /* The GPIO pin connect to 16 consecutive CUI bits */ 44*4882a593Smuzhiyun interrupts = <0 16>, <0 17>, <0 18>, <0 19>, 45*4882a593Smuzhiyun <0 20>, <0 21>, <0 22>, <0 23>, 46*4882a593Smuzhiyun <0 24>, <0 25>, <0 26>, <0 27>, 47*4882a593Smuzhiyun <0 28>, <0 29>, <0 30>, <0 31>; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun smi0: mdio@1180000001800 { 51*4882a593Smuzhiyun compatible = "cavium,octeon-3860-mdio"; 52*4882a593Smuzhiyun #address-cells = <1>; 53*4882a593Smuzhiyun #size-cells = <0>; 54*4882a593Smuzhiyun reg = <0x11800 0x00001800 0x0 0x40>; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun pip: pip@11800a0000000 { 58*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip"; 59*4882a593Smuzhiyun #address-cells = <1>; 60*4882a593Smuzhiyun #size-cells = <0>; 61*4882a593Smuzhiyun reg = <0x11800 0xa0000000 0x0 0x2000>; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun interface@0 { 64*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-interface"; 65*4882a593Smuzhiyun #address-cells = <1>; 66*4882a593Smuzhiyun #size-cells = <0>; 67*4882a593Smuzhiyun reg = <0>; /* interface */ 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun ethernet@0 { 70*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 71*4882a593Smuzhiyun reg = <0x0>; /* Port */ 72*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 73*4882a593Smuzhiyun }; 74*4882a593Smuzhiyun ethernet@1 { 75*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 76*4882a593Smuzhiyun reg = <0x1>; /* Port */ 77*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun ethernet@2 { 80*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-port"; 81*4882a593Smuzhiyun reg = <0x2>; /* Port */ 82*4882a593Smuzhiyun local-mac-address = [ 00 00 00 00 00 00 ]; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun interface@1 { 87*4882a593Smuzhiyun compatible = "cavium,octeon-3860-pip-interface"; 88*4882a593Smuzhiyun #address-cells = <1>; 89*4882a593Smuzhiyun #size-cells = <0>; 90*4882a593Smuzhiyun reg = <1>; /* interface */ 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun twsi0: i2c@1180000001000 { 95*4882a593Smuzhiyun #address-cells = <1>; 96*4882a593Smuzhiyun #size-cells = <0>; 97*4882a593Smuzhiyun compatible = "cavium,octeon-3860-twsi"; 98*4882a593Smuzhiyun reg = <0x11800 0x00001000 0x0 0x200>; 99*4882a593Smuzhiyun interrupts = <0 45>; 100*4882a593Smuzhiyun clock-frequency = <100000>; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun uart0: serial@1180000000800 { 104*4882a593Smuzhiyun compatible = "cavium,octeon-3860-uart","ns16550"; 105*4882a593Smuzhiyun reg = <0x11800 0x00000800 0x0 0x400>; 106*4882a593Smuzhiyun clock-frequency = <0>; 107*4882a593Smuzhiyun current-speed = <115200>; 108*4882a593Smuzhiyun reg-shift = <3>; 109*4882a593Smuzhiyun interrupts = <0 34>; 110*4882a593Smuzhiyun }; 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun bootbus: bootbus@1180000000000 { 113*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus"; 114*4882a593Smuzhiyun reg = <0x11800 0x00000000 0x0 0x200>; 115*4882a593Smuzhiyun /* The chip select number and offset */ 116*4882a593Smuzhiyun #address-cells = <2>; 117*4882a593Smuzhiyun /* The size of the chip select region */ 118*4882a593Smuzhiyun #size-cells = <1>; 119*4882a593Smuzhiyun ranges = <0 0 0x0 0x1f400000 0xc00000>, 120*4882a593Smuzhiyun <1 0 0x10000 0x30000000 0>, 121*4882a593Smuzhiyun <2 0 0x10000 0x40000000 0>, 122*4882a593Smuzhiyun <3 0 0x10000 0x50000000 0>, 123*4882a593Smuzhiyun <4 0 0x0 0x1d020000 0x10000>, 124*4882a593Smuzhiyun <5 0 0x0 0x1d040000 0x10000>, 125*4882a593Smuzhiyun <6 0 0x0 0x1d050000 0x10000>, 126*4882a593Smuzhiyun <7 0 0x10000 0x90000000 0>; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun cavium,cs-config@0 { 129*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus-config"; 130*4882a593Smuzhiyun cavium,cs-index = <0>; 131*4882a593Smuzhiyun cavium,t-adr = <20>; 132*4882a593Smuzhiyun cavium,t-ce = <60>; 133*4882a593Smuzhiyun cavium,t-oe = <60>; 134*4882a593Smuzhiyun cavium,t-we = <45>; 135*4882a593Smuzhiyun cavium,t-rd-hld = <35>; 136*4882a593Smuzhiyun cavium,t-wr-hld = <45>; 137*4882a593Smuzhiyun cavium,t-pause = <0>; 138*4882a593Smuzhiyun cavium,t-wait = <0>; 139*4882a593Smuzhiyun cavium,t-page = <35>; 140*4882a593Smuzhiyun cavium,t-rd-dly = <0>; 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun cavium,pages = <0>; 143*4882a593Smuzhiyun cavium,bus-width = <8>; 144*4882a593Smuzhiyun }; 145*4882a593Smuzhiyun cavium,cs-config@4 { 146*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus-config"; 147*4882a593Smuzhiyun cavium,cs-index = <4>; 148*4882a593Smuzhiyun cavium,t-adr = <320>; 149*4882a593Smuzhiyun cavium,t-ce = <320>; 150*4882a593Smuzhiyun cavium,t-oe = <320>; 151*4882a593Smuzhiyun cavium,t-we = <320>; 152*4882a593Smuzhiyun cavium,t-rd-hld = <320>; 153*4882a593Smuzhiyun cavium,t-wr-hld = <320>; 154*4882a593Smuzhiyun cavium,t-pause = <320>; 155*4882a593Smuzhiyun cavium,t-wait = <320>; 156*4882a593Smuzhiyun cavium,t-page = <320>; 157*4882a593Smuzhiyun cavium,t-rd-dly = <0>; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun cavium,pages = <0>; 160*4882a593Smuzhiyun cavium,bus-width = <8>; 161*4882a593Smuzhiyun }; 162*4882a593Smuzhiyun cavium,cs-config@5 { 163*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus-config"; 164*4882a593Smuzhiyun cavium,cs-index = <5>; 165*4882a593Smuzhiyun cavium,t-adr = <5>; 166*4882a593Smuzhiyun cavium,t-ce = <300>; 167*4882a593Smuzhiyun cavium,t-oe = <125>; 168*4882a593Smuzhiyun cavium,t-we = <150>; 169*4882a593Smuzhiyun cavium,t-rd-hld = <100>; 170*4882a593Smuzhiyun cavium,t-wr-hld = <30>; 171*4882a593Smuzhiyun cavium,t-pause = <0>; 172*4882a593Smuzhiyun cavium,t-wait = <30>; 173*4882a593Smuzhiyun cavium,t-page = <320>; 174*4882a593Smuzhiyun cavium,t-rd-dly = <0>; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun cavium,pages = <0>; 177*4882a593Smuzhiyun cavium,bus-width = <16>; 178*4882a593Smuzhiyun }; 179*4882a593Smuzhiyun cavium,cs-config@6 { 180*4882a593Smuzhiyun compatible = "cavium,octeon-3860-bootbus-config"; 181*4882a593Smuzhiyun cavium,cs-index = <6>; 182*4882a593Smuzhiyun cavium,t-adr = <5>; 183*4882a593Smuzhiyun cavium,t-ce = <300>; 184*4882a593Smuzhiyun cavium,t-oe = <270>; 185*4882a593Smuzhiyun cavium,t-we = <150>; 186*4882a593Smuzhiyun cavium,t-rd-hld = <100>; 187*4882a593Smuzhiyun cavium,t-wr-hld = <70>; 188*4882a593Smuzhiyun cavium,t-pause = <0>; 189*4882a593Smuzhiyun cavium,t-wait = <0>; 190*4882a593Smuzhiyun cavium,t-page = <320>; 191*4882a593Smuzhiyun cavium,t-rd-dly = <0>; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun cavium,pages = <0>; 194*4882a593Smuzhiyun cavium,wait-mode; 195*4882a593Smuzhiyun cavium,bus-width = <16>; 196*4882a593Smuzhiyun }; 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun flash0: nor@0,0 { 199*4882a593Smuzhiyun compatible = "cfi-flash"; 200*4882a593Smuzhiyun reg = <0 0 0x800000>; 201*4882a593Smuzhiyun #address-cells = <1>; 202*4882a593Smuzhiyun #size-cells = <1>; 203*4882a593Smuzhiyun }; 204*4882a593Smuzhiyun }; 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun dma0: dma-engine@1180000000100 { 207*4882a593Smuzhiyun compatible = "cavium,octeon-5750-bootbus-dma"; 208*4882a593Smuzhiyun reg = <0x11800 0x00000100 0x0 0x8>; 209*4882a593Smuzhiyun interrupts = <0 63>; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun dma1: dma-engine@1180000000108 { 213*4882a593Smuzhiyun compatible = "cavium,octeon-5750-bootbus-dma"; 214*4882a593Smuzhiyun reg = <0x11800 0x00000108 0x0 0x8>; 215*4882a593Smuzhiyun interrupts = <0 63>; 216*4882a593Smuzhiyun }; 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun usbn: usbn@1180068000000 { 219*4882a593Smuzhiyun compatible = "cavium,octeon-5750-usbn"; 220*4882a593Smuzhiyun reg = <0x11800 0x68000000 0x0 0x1000>; 221*4882a593Smuzhiyun ranges; /* Direct mapping */ 222*4882a593Smuzhiyun #address-cells = <2>; 223*4882a593Smuzhiyun #size-cells = <2>; 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun usbc@16f0010000000 { 226*4882a593Smuzhiyun compatible = "cavium,octeon-5750-usbc"; 227*4882a593Smuzhiyun reg = <0x16f00 0x10000000 0x0 0x80000>; 228*4882a593Smuzhiyun interrupts = <0 56>; 229*4882a593Smuzhiyun }; 230*4882a593Smuzhiyun }; 231*4882a593Smuzhiyun }; 232*4882a593Smuzhiyun}; 233