blob: d76f2a1ba5482d02fb0241c97a621e124d781af7 [file] [log] [blame]
Mugunthan V N2c5bf6c2016-02-02 15:51:37 +05301/*
Lokesh Vutlaf0a3f342017-01-31 09:32:57 +05302 * Device Tree Source for K2G Netcp driver
Mugunthan V N2c5bf6c2016-02-02 15:51:37 +05303 *
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@4020000 {
12 compatible = "ti,keystone-navigator-qmss-l";
13 dma-coherent;
14 #address-cells = <1>;
15 #size-cells = <1>;
16 /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
17 /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
18 clock-names = "nss_vclk";
19 ranges;
20 queue-range = <0 0x80>;
21 linkram0 = <0x4020000 0x7ff>;
22
23 qmgrs {
24 #address-cells = <1>;
25 #size-cells = <1>;
26 ranges;
27 qmgr0 {
28 managed-queues = <0 0x80>;
29 reg = <0x4100000 0x800>,
30 <0x4040000 0x100>,
31 <0x4080000 0x800>,
32 <0x40c0000 0x800>;
33 reg-names = "peek", "config",
34 "region", "push";
35 };
36
37 };
38 queue-pools {
39 qpend {
40 qpend-0 {
41 qrange = <77 8>;
42 interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
43 0 311 0xf04 0 312 0xf04 0 313 0xf04
44 0 314 0xf04 0 315 0xf04>;
45 qalloc-by-id;
46 };
47 };
48 general-purpose {
49 gp-0 {
50 qrange = <112 8>;
51 };
52 netcp-tx {
53 qrange = <5 8>;
54 qalloc-by-id;
55 };
56 };
57 };
58
59 descriptor-regions {
60 #address-cells = <1>;
61 #size-cells = <1>;
62 ranges;
63 region-12 {
64 id = <12>;
65 region-spec = <1023 128>; /* num_desc desc_size */
66 link-index = <0x400>;
67 };
68 };
69}; /* qmss */
70
71knav_dmas: knav_dmas@0 {
72 compatible = "ti,keystone-navigator-dma";
73 #address-cells = <1>;
74 #size-cells = <1>;
75 /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
76 /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
77 clock-names = "nss_vclk";
78 ranges;
79 ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
80
81 dma_gbe: dma_gbe@0 {
82 reg = <0x4010000 0x100>,
83 <0x4011000 0x2a0>, /* 21 Tx channels */
84 <0x4012000 0x400>, /* 32 Rx channels */
85 <0x4010100 0x80>,
86 <0x4013000 0x400>; /* 32 Rx flows */
87 reg-names = "global", "txchan", "rxchan",
88 "txsched", "rxflow";
89 };
90
91};
92
93gbe_subsys: subsys@4200000 {
94 compatible = "syscon";
95 reg = <0x4200000 0x100>;
96};
97
98netcp: netcp@4000000 {
99 reg = <0x2620110 0x8>;
100 reg-names = "efuse";
101 compatible = "ti,netcp-1.0";
Cooper Jr., Franklin42468c82017-06-16 17:25:30 -0500102 status = "disabled";
Mugunthan V N2c5bf6c2016-02-02 15:51:37 +0530103 #address-cells = <1>;
104 #size-cells = <1>;
105 /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
106 /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_ESW_CLK>; */
107 clock-names = "ethss_clk";
108
109 /* NetCP address range */
110 ranges = <0 0x4000000 0x1000000>;
111
112 dma-coherent;
113
114 ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
115 ti,navigator-dma-names = "netrx0", "nettx";
116
117 netcp-devices {
118 #address-cells = <1>;
119 #size-cells = <1>;
120 ranges;
121 gbe@200000 {
122 label = "netcp-gbe";
123 compatible = "ti,netcp-gbe-2";
124 syscon-subsys = <&gbe_subsys>;
125 reg = <0x200100 0xe00>, <0x220000 0x20000>;
126 /* enable-ale; */
127 tx-queue = <5>;
128 tx-channel = "nettx";
129
130 interfaces {
131 gbe0: interface-0 {
132 slave-port = <0>;
133 link-interface = <5>;
134 };
135 };
136 };
137 };
138
139 netcp-interfaces {
140 interface-0 {
141 rx-channel = "netrx0";
142 rx-pool = <512 12>;
143 tx-pool = <511 12>;
144 rx-queue-depth = <128 128 0 0>;
145 rx-buffer-size = <1518 4096 0 0>;
146 rx-queue = <77>;
147 tx-completion-queue = <78>;
148 efuse-mac = <1>;
149 netcp-gbe = <&gbe0>;
150 };
151 };
152};