Merge remote-tracking branches 'regulator/fix/88pm800', 'regulator/fix/max8973',...
[linux-drm-fsl-dcu.git] / arch / arm / boot / dts / k2hk-netcp.dtsi
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
11 qmss: 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         queue-pools {
51                 qpend {
52                         qpend-0 {
53                                 qrange = <658 8>;
54                                 interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04
55                                              0 43 0xf04 0 44 0xf04 0 45 0xf04
56                                              0 46 0xf04 0 47 0xf04>;
57                         };
58                         qpend-1 {
59                                 qrange = <8704 16>;
60                                 interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04
61                                               0 51 0xf04 0 52 0xf04 0 53 0xf04
62                                               0 54 0xf04 0 55 0xf04 0 56 0xf04
63                                               0 57 0xf04 0 58 0xf04 0 59 0xf04
64                                               0 60 0xf04 0 61 0xf04 0 62 0xf04
65                                               0 63 0xf04>;
66                                 qalloc-by-id;
67                         };
68                         qpend-2 {
69                                 qrange = <8720 16>;
70                                 interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04
71                                               0 59 0xf04 0 68 0xf04 0 69 0xf04
72                                               0 70 0xf04 0 71 0xf04 0 72 0xf04
73                                               0 73 0xf04 0 74 0xf04 0 75 0xf04
74                                               0 76 0xf04 0 77 0xf04 0 78 0xf04
75                                               0 79 0xf04>;
76                         };
77                 };
78                 general-purpose {
79                         gp-0 {
80                                 qrange = <4000 64>;
81                         };
82                         netcp-tx {
83                                 qrange = <640 9>;
84                                 qalloc-by-id;
85                         };
86                         netcpx-tx {
87                                 qrange = <8752 8>;
88                                 qalloc-by-id;
89                         };
90                 };
91         };
92         descriptor-regions {
93                 #address-cells = <1>;
94                 #size-cells = <1>;
95                 ranges;
96                 region-12 {
97                         id = <12>;
98                         region-spec = <8192 128>;       /* num_desc desc_size */
99                         link-index = <0x4000>;
100                 };
101         };
102 }; /* qmss */
103
104 knav_dmas: knav_dmas@0 {
105         compatible = "ti,keystone-navigator-dma";
106         clocks = <&papllclk>;
107         #address-cells = <1>;
108         #size-cells = <1>;
109         ranges;
110         ti,navigator-cloud-address = <0x23a80000 0x23a90000
111                                    0x23aa0000 0x23ab0000>;
112
113         dma_gbe: dma_gbe@0 {
114                 reg = <0x2004000 0x100>,
115                           <0x2004400 0x120>,
116                           <0x2004800 0x300>,
117                           <0x2004c00 0x120>,
118                           <0x2005000 0x400>;
119                 reg-names = "global", "txchan", "rxchan",
120                                 "txsched", "rxflow";
121         };
122 };
123
124 netcp: netcp@2000000 {
125         reg = <0x2620110 0x8>;
126         reg-names = "efuse";
127         compatible = "ti,netcp-1.0";
128         #address-cells = <1>;
129         #size-cells = <1>;
130
131         /* NetCP address range */
132         ranges  = <0 0x2000000 0x100000>;
133
134         clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>;
135         dma-coherent;
136
137         ti,navigator-dmas = <&dma_gbe 22>,
138                         <&dma_gbe 23>,
139                         <&dma_gbe 8>;
140         ti,navigator-dma-names = "netrx0", "netrx1", "nettx";
141
142         netcp-devices {
143                 ranges;
144                 #address-cells = <1>;
145                 #size-cells = <1>;
146                 gbe@90000 { /* ETHSS */
147                         #address-cells = <1>;
148                         #size-cells = <1>;
149                         label = "netcp-gbe";
150                         compatible = "ti,netcp-gbe";
151                         reg = <0x90000 0x300>, <0x90400 0x400>, <0x90800 0x700>;
152                         /* enable-ale; */
153                         tx-queue = <648>;
154                         tx-channel = "nettx";
155
156                         interfaces {
157                                 gbe0: interface-0 {
158                                         slave-port = <0>;
159                                         link-interface = <1>;
160                                         phy-handle = <&ethphy0>;
161                                 };
162                                 gbe1: interface-1 {
163                                         slave-port = <1>;
164                                         link-interface = <1>;
165                                         phy-handle = <&ethphy1>;
166                                 };
167                         };
168
169                         secondary-slave-ports {
170                                 port-2 {
171                                         slave-port = <2>;
172                                         link-interface  = <2>;
173                                 };
174                                 port-3 {
175                                         slave-port = <3>;
176                                         link-interface  = <2>;
177                                 };
178                         };
179                 };
180         };
181
182         netcp-interfaces {
183                 interface-0 {
184                         rx-channel = "netrx0";
185                         rx-pool = <1024 12>;
186                         tx-pool = <1024 12>;
187                         rx-queue-depth = <128 128 0 0>;
188                         rx-buffer-size = <1518 4096 0 0>;
189                         rx-queue = <8704>;
190                         tx-completion-queue = <8706>;
191                         efuse-mac = <1>;
192                         netcp-gbe = <&gbe0>;
193
194                 };
195                 interface-1 {
196                         rx-channel = "netrx1";
197                         rx-pool = <1024 12>;
198                         tx-pool = <1024 12>;
199                         rx-queue-depth = <128 128 0 0>;
200                         rx-buffer-size = <1518 4096 0 0>;
201                         rx-queue = <8705>;
202                         tx-completion-queue = <8707>;
203                         efuse-mac = <0>;
204                         local-mac-address = [02 18 31 7e 3e 6f];
205                         netcp-gbe = <&gbe1>;
206                 };
207         };
208 };