1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Device Tree Source for Keystone 2 Hawking Netcp driver 4 * 5 * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/ 6 */ 7 8qmss: qmss@2a40000 { 9 compatible = "ti,keystone-navigator-qmss"; 10 dma-coherent; 11 #address-cells = <1>; 12 #size-cells = <1>; 13 clocks = <&chipclk13>; 14 ranges; 15 queue-range = <0 0x4000>; 16 linkram0 = <0x100000 0x8000>; 17 linkram1 = <0x0 0x10000>; 18 19 qmgrs { 20 #address-cells = <1>; 21 #size-cells = <1>; 22 ranges; 23 qmgr0 { 24 managed-queues = <0 0x2000>; 25 reg = <0x2a40000 0x20000>, 26 <0x2a06000 0x400>, 27 <0x2a02000 0x1000>, 28 <0x2a03000 0x1000>, 29 <0x23a80000 0x20000>, 30 <0x2a80000 0x20000>; 31 reg-names = "peek", "status", "config", 32 "region", "push", "pop"; 33 }; 34 35 qmgr1 { 36 managed-queues = <0x2000 0x2000>; 37 reg = <0x2a60000 0x20000>, 38 <0x2a06400 0x400>, 39 <0x2a04000 0x1000>, 40 <0x2a05000 0x1000>, 41 <0x23aa0000 0x20000>, 42 <0x2aa0000 0x20000>; 43 reg-names = "peek", "status", "config", 44 "region", "push", "pop"; 45 }; 46 }; 47 48 queue-pools { 49 qpend { 50 qpend-0 { 51 qrange = <658 8>; 52 interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04 53 0 43 0xf04 0 44 0xf04 0 45 0xf04 54 0 46 0xf04 0 47 0xf04>; 55 }; 56 qpend-1 { 57 qrange = <8704 16>; 58 interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04 59 0 51 0xf04 0 52 0xf04 0 53 0xf04 60 0 54 0xf04 0 55 0xf04 0 56 0xf04 61 0 57 0xf04 0 58 0xf04 0 59 0xf04 62 0 60 0xf04 0 61 0xf04 0 62 0xf04 63 0 63 0xf04>; 64 qalloc-by-id; 65 }; 66 qpend-2 { 67 qrange = <8720 16>; 68 interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04 69 0 59 0xf04 0 68 0xf04 0 69 0xf04 70 0 70 0xf04 0 71 0xf04 0 72 0xf04 71 0 73 0xf04 0 74 0xf04 0 75 0xf04 72 0 76 0xf04 0 77 0xf04 0 78 0xf04 73 0 79 0xf04>; 74 }; 75 }; 76 general-purpose { 77 gp-0 { 78 qrange = <4000 64>; 79 }; 80 netcp-tx { 81 qrange = <640 9>; 82 qalloc-by-id; 83 }; 84 netcpx-tx { 85 qrange = <8752 8>; 86 qalloc-by-id; 87 }; 88 }; 89 accumulator { 90 acc-low-0 { 91 qrange = <480 32>; 92 accumulator = <0 47 16 2 50>; 93 interrupts = <0 226 0xf01>; 94 multi-queue; 95 qalloc-by-id; 96 }; 97 }; 98 }; 99 100 descriptor-regions { 101 #address-cells = <1>; 102 #size-cells = <1>; 103 ranges; 104 region-12 { 105 id = <12>; 106 region-spec = <8192 128>; /* num_desc desc_size */ 107 link-index = <0x4000>; 108 }; 109 }; 110 111 pdsps { 112 #address-cells = <1>; 113 #size-cells = <1>; 114 ranges; 115 pdsp0@0x2a10000 { 116 reg = <0x2a10000 0x1000 /*iram */ 117 0x2a0f000 0x100 /*reg*/ 118 0x2a0c000 0x3c8 /*intd */ 119 0x2a20000 0x4000>; /*cmd*/ 120 id = <0>; 121 }; 122 }; 123}; /* qmss */ 124 125knav_dmas: knav_dmas@0 { 126 compatible = "ti,keystone-navigator-dma"; 127 clocks = <&papllclk>; 128 #address-cells = <1>; 129 #size-cells = <1>; 130 ranges; 131 ti,navigator-cloud-address = <0x23a80000 0x23a90000 132 0x23aa0000 0x23ab0000>; 133 134 dma_gbe: dma_gbe@0 { 135 reg = <0x2004000 0x100>, 136 <0x2004400 0x120>, 137 <0x2004800 0x300>, 138 <0x2004c00 0x120>, 139 <0x2005000 0x400>; 140 reg-names = "global", "txchan", "rxchan", 141 "txsched", "rxflow"; 142 }; 143}; 144 145netcp: netcp@2000000 { 146 reg = <0x2620110 0x8>; 147 reg-names = "efuse"; 148 compatible = "ti,netcp-1.0"; 149 #address-cells = <1>; 150 #size-cells = <1>; 151 152 /* NetCP address range */ 153 ranges = <0 0x2000000 0x100000>; 154 155 clocks = <&clkpa>, <&clkcpgmac>, <&chipclk12>; 156 clock-names = "pa_clk", "ethss_clk", "cpts"; 157 dma-coherent; 158 159 ti,navigator-dmas = <&dma_gbe 22>, 160 <&dma_gbe 23>, 161 <&dma_gbe 8>; 162 ti,navigator-dma-names = "netrx0", "netrx1", "nettx"; 163 164 netcp-devices { 165 ranges; 166 #address-cells = <1>; 167 #size-cells = <1>; 168 gbe@90000 { /* ETHSS */ 169 #address-cells = <1>; 170 #size-cells = <1>; 171 label = "netcp-gbe"; 172 compatible = "ti,netcp-gbe"; 173 reg = <0x90000 0x300>, <0x90400 0x400>, <0x90800 0x700>; 174 /* enable-ale; */ 175 tx-queue = <648>; 176 tx-channel = "nettx"; 177 178 interfaces { 179 gbe0: interface-0 { 180 slave-port = <0>; 181 link-interface = <1>; 182 phy-handle = <ðphy0>; 183 }; 184 gbe1: interface-1 { 185 slave-port = <1>; 186 link-interface = <1>; 187 phy-handle = <ðphy1>; 188 }; 189 }; 190 191 secondary-slave-ports { 192 port-2 { 193 slave-port = <2>; 194 link-interface = <2>; 195 }; 196 port-3 { 197 slave-port = <3>; 198 link-interface = <2>; 199 }; 200 }; 201 }; 202 }; 203 204 netcp-interfaces { 205 interface-0 { 206 rx-channel = "netrx0"; 207 rx-pool = <1024 12>; 208 tx-pool = <1024 12>; 209 rx-queue-depth = <128 128 0 0>; 210 rx-buffer-size = <1518 4096 0 0>; 211 rx-queue = <8704>; 212 tx-completion-queue = <8706>; 213 efuse-mac = <1>; 214 netcp-gbe = <&gbe0>; 215 216 }; 217 interface-1 { 218 rx-channel = "netrx1"; 219 rx-pool = <1024 12>; 220 tx-pool = <1024 12>; 221 rx-queue-depth = <128 128 0 0>; 222 rx-buffer-size = <1518 4096 0 0>; 223 rx-queue = <8705>; 224 tx-completion-queue = <8707>; 225 efuse-mac = <0>; 226 local-mac-address = [02 18 31 7e 3e 6f]; 227 netcp-gbe = <&gbe1>; 228 }; 229 }; 230}; 231 232sa_subsys: subsys@20c0000 { 233 compatible = "simple-bus"; 234 #address-cells = <1>; 235 #size-cells = <1>; 236 ranges = <0 0x20c0000 0x40000>; 237 238 sa_config: subsys@0 { 239 compatible = "syscon"; 240 reg = <0x0 0x100>; 241 }; 242 243 rng@24000 { 244 compatible = "ti,keystone-rng"; 245 reg = <0x24000 0x1000>; 246 ti,syscon-sa-cfg = <&sa_config>; 247 clocks = <&clksa>; 248 clock-names = "fck"; 249 }; 250}; 251