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