WIP FPC-III support
[linux/fpc-iii.git] / arch / arm / boot / dts / keystone-k2e-netcp.dtsi
blobad15e77874b1298da4dbcf7b80ac4d5a6d3bca5a
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for Keystone 2 Edison Netcp driver
4  *
5  * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/
6  */
8 qmss: 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 0x2000>;
16         linkram0        = <0x100000 0x4000>;
17         linkram1        = <0 0x10000>;
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         queue-pools {
36                 qpend {
37                         qpend-0 {
38                                 qrange = <658 8>;
39                                 interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04
40                                              0 43 0xf04 0 44 0xf04 0 45 0xf04
41                                              0 46 0xf04 0 47 0xf04>;
42                         };
43                         qpend-1 {
44                                 qrange = <528 16>;
45                                 interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04
46                                               0 51 0xf04 0 52 0xf04 0 53 0xf04
47                                               0 54 0xf04 0 55 0xf04 0 56 0xf04
48                                               0 57 0xf04 0 58 0xf04 0 59 0xf04
49                                               0 60 0xf04 0 61 0xf04 0 62 0xf04
50                                               0 63 0xf04>;
51                                 qalloc-by-id;
52                         };
53                         qpend-2 {
54                                 qrange = <544 16>;
55                                 interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04
56                                               0 59 0xf04 0 68 0xf04 0 69 0xf04
57                                               0 70 0xf04 0 71 0xf04 0 72 0xf04
58                                               0 73 0xf04 0 74 0xf04 0 75 0xf04
59                                               0 76 0xf04 0 77 0xf04 0 78 0xf04
60                                               0 79 0xf04>;
61                         };
62                 };
63                 general-purpose {
64                         gp-0 {
65                                 qrange = <4000 64>;
66                         };
67                         netcp-tx {
68                                 qrange = <896 128>;
69                                 qalloc-by-id;
70                         };
71                 };
72                 accumulator {
73                         acc-low-0 {
74                                 qrange = <480 32>;
75                                 accumulator = <0 47 16 2 50>;
76                                 interrupts = <0 226 0xf01>;
77                                 multi-queue;
78                                 qalloc-by-id;
79                         };
80                 };
81         };
83         descriptor-regions {
84                 #address-cells = <1>;
85                 #size-cells = <1>;
86                 ranges;
87                 region-12 {
88                         id = <12>;
89                         region-spec = <8192 128>;       /* num_desc desc_size */
90                         link-index = <0x4000>;
91                 };
92         };
94         pdsps {
95                 #address-cells = <1>;
96                 #size-cells = <1>;
97                 ranges;
98                 pdsp0@0x2a10000 {
99                         reg = <0x2a10000 0x1000    /*iram */
100                                0x2a0f000 0x100     /*reg*/
101                                0x2a0c000 0x3c8     /*intd */
102                                0x2a20000 0x4000>;  /*cmd*/
103                         id = <0>;
104                 };
105         };
106 }; /* qmss */
108 knav_dmas: knav_dmas@0 {
109         compatible = "ti,keystone-navigator-dma";
110         clocks = <&papllclk>;
111         #address-cells = <1>;
112         #size-cells = <1>;
113         ranges;
114         ti,navigator-cloud-address = <0x23a80000 0x23a90000
115                                  0x23a80000 0x23a90000>;
117         dma_gbe: dma_gbe@0 {
118                 reg = <0x24186000 0x100>,
119                           <0x24187000 0x2a0>,
120                           <0x24188000 0xb60>,
121                           <0x24186100 0x80>,
122                           <0x24189000 0x1000>;
123                 reg-names = "global", "txchan", "rxchan",
124                                 "txsched", "rxflow";
125         };
128 netcp: netcp@24000000 {
129         reg = <0x2620110 0x8>;
130         reg-names = "efuse";
131         compatible = "ti,netcp-1.0";
132         #address-cells = <1>;
133         #size-cells = <1>;
135         /* NetCP address range */
136         ranges = <0 0x24000000 0x1000000>;
138         clocks = <&clkpa>, <&clkcpgmac>;
139         clock-names = "pa_clk", "ethss_clk";
140         dma-coherent;
142         ti,navigator-dmas = <&dma_gbe 0>,
143                         <&dma_gbe 8>,
144                         <&dma_gbe 0>;
145         ti,navigator-dma-names = "netrx0", "netrx1", "nettx";
147         netcp-devices {
148                 #address-cells = <1>;
149                 #size-cells = <1>;
150                 ranges;
151                 gbe@200000 { /* ETHSS */
152                         label = "netcp-gbe";
153                         compatible = "ti,netcp-gbe-9";
154                         reg = <0x200000 0x900>, <0x220000 0x20000>;
155                         /* enable-ale; */
156                         tx-queue = <896>;
157                         tx-channel = "nettx";
159                         cpts {
160                                 clocks = <&cpts_refclk_mux>;
161                                 clock-names = "cpts";
163                                 cpts_refclk_mux: cpts-refclk-mux {
164                                         #clock-cells = <0>;
165                                         clocks = <&chipclk12>, <&chipclk13>,
166                                                  <&timi0>, <&timi1>,
167                                                  <&tsipclka>, <&tsrefclk>,
168                                                  <&tsipclkb>;
169                                         ti,mux-tbl = <0x0>, <0x1>, <0x2>,
170                                                 <0x3>, <0x4>, <0x8>, <0xC>;
171                                         assigned-clocks = <&cpts_refclk_mux>;
172                                         assigned-clock-parents = <&chipclk12>;
173                                 };
174                         };
176                         interfaces {
177                                 gbe0: interface-0 {
178                                         slave-port = <0>;
179                                         link-interface  = <1>;
180                                         phy-handle      = <&ethphy0>;
181                                 };
182                                 gbe1: interface-1 {
183                                         slave-port = <1>;
184                                         link-interface  = <1>;
185                                         phy-handle      = <&ethphy1>;
186                                 };
187                         };
189                         secondary-slave-ports {
190                                 port-2 {
191                                         slave-port = <2>;
192                                         link-interface  = <2>;
193                                 };
194                                 port-3 {
195                                         slave-port = <3>;
196                                         link-interface  = <2>;
197                                 };
198                                 port-4 {
199                                         slave-port = <4>;
200                                         link-interface  = <2>;
201                                 };
202                                 port-5 {
203                                         slave-port = <5>;
204                                         link-interface  = <2>;
205                                 };
206                                 port-6 {
207                                         slave-port = <6>;
208                                         link-interface  = <2>;
209                                 };
210                                 port-7 {
211                                         slave-port = <7>;
212                                         link-interface  = <2>;
213                                 };
214                         };
215                 };
216         };
218         netcp-interfaces {
219                 interface-0 {
220                         rx-channel = "netrx0";
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 = <528>;
226                         tx-completion-queue = <530>;
227                         efuse-mac = <1>;
228                         netcp-gbe = <&gbe0>;
230                 };
231                 interface-1 {
232                         rx-channel = "netrx1";
233                         rx-pool = <1024 12>;
234                         tx-pool = <1024 12>;
235                         rx-queue-depth = <128 128 0 0>;
236                         rx-buffer-size = <1518 4096 0 0>;
237                         rx-queue = <529>;
238                         tx-completion-queue = <531>;
239                         efuse-mac = <0>;
240                         local-mac-address = [02 18 31 7e 3e 00];
241                         netcp-gbe = <&gbe1>;
242                 };
243         };
246 sa_subsys: subsys@24080000 {
247         #address-cells = <1>;
248         #size-cells = <1>;
249         compatible = "simple-bus";
250         ranges = <0 0x24080000 0x40000>;
252         sa_config: subsys@0 {
253                 compatible = "syscon";
254                 reg = <0x0 0x100>;
255         };
257         rng@24000 {
258                 compatible = "ti,keystone-rng";
259                 reg = <0x24000 0x1000>;
260                 ti,syscon-sa-cfg = <&sa_config>;
261                 clocks = <&clksa>;
262                 clock-names = "fck";
263         };