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 - https://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@2a10000 { 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>; 156 clock-names = "pa_clk", "ethss_clk"; 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 cpts { 179 clocks = <&cpts_refclk_mux>; 180 clock-names = "cpts"; 181 182 cpts_refclk_mux: cpts-refclk-mux { 183 #clock-cells = <0>; 184 clocks = <&chipclk12>, <&chipclk13>, 185 <&timi0>, <&timi1>, 186 <&tsrefclk>; 187 ti,mux-tbl = <0x0>, <0x1>, <0x2>, 188 <0x3>, <0x8>; 189 assigned-clocks = <&cpts_refclk_mux>; 190 assigned-clock-parents = <&chipclk12>; 191 }; 192 }; 193 194 interfaces { 195 gbe0: interface-0 { 196 slave-port = <0>; 197 link-interface = <1>; 198 phy-handle = <ðphy0>; 199 }; 200 gbe1: interface-1 { 201 slave-port = <1>; 202 link-interface = <1>; 203 phy-handle = <ðphy1>; 204 }; 205 }; 206 207 secondary-slave-ports { 208 port-2 { 209 slave-port = <2>; 210 link-interface = <2>; 211 }; 212 port-3 { 213 slave-port = <3>; 214 link-interface = <2>; 215 }; 216 }; 217 }; 218 }; 219 220 netcp-interfaces { 221 interface-0 { 222 rx-channel = "netrx0"; 223 rx-pool = <1024 12>; 224 tx-pool = <1024 12>; 225 rx-queue-depth = <128 128 0 0>; 226 rx-buffer-size = <1518 4096 0 0>; 227 rx-queue = <8704>; 228 tx-completion-queue = <8706>; 229 efuse-mac = <1>; 230 netcp-gbe = <&gbe0>; 231 232 }; 233 interface-1 { 234 rx-channel = "netrx1"; 235 rx-pool = <1024 12>; 236 tx-pool = <1024 12>; 237 rx-queue-depth = <128 128 0 0>; 238 rx-buffer-size = <1518 4096 0 0>; 239 rx-queue = <8705>; 240 tx-completion-queue = <8707>; 241 efuse-mac = <0>; 242 local-mac-address = [02 18 31 7e 3e 6f]; 243 netcp-gbe = <&gbe1>; 244 }; 245 }; 246}; 247 248sa_subsys: subsys@20c0000 { 249 compatible = "simple-bus"; 250 #address-cells = <1>; 251 #size-cells = <1>; 252 ranges = <0 0x20c0000 0x40000>; 253 254 sa_config: subsys@0 { 255 compatible = "syscon"; 256 reg = <0x0 0x100>; 257 }; 258 259 rng@24000 { 260 compatible = "ti,keystone-rng"; 261 reg = <0x24000 0x1000>; 262 ti,syscon-sa-cfg = <&sa_config>; 263 clocks = <&clksa>; 264 clock-names = "fck"; 265 }; 266}; 267