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