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