1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree Source for K2G Netcp driver
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herringqmss: qmss@4020000 {
9*724ba675SRob Herring	compatible = "ti,66ak2g-navss-qm";
10*724ba675SRob Herring	dma-coherent;
11*724ba675SRob Herring	#address-cells = <1>;
12*724ba675SRob Herring	#size-cells = <1>;
13*724ba675SRob Herring	power-domains = <&k2g_pds 0x0018>;
14*724ba675SRob Herring	clocks = <&k2g_clks 0x0018 0>;
15*724ba675SRob Herring	clock-names = "nss_vclk";
16*724ba675SRob Herring	ranges;
17*724ba675SRob Herring	queue-range = <0 0x80>;
18*724ba675SRob Herring	linkram0 = <0x4020000 0x7ff>;
19*724ba675SRob Herring	status = "disabled";
20*724ba675SRob Herring
21*724ba675SRob Herring	qmgrs {
22*724ba675SRob Herring		#address-cells = <1>;
23*724ba675SRob Herring		#size-cells = <1>;
24*724ba675SRob Herring		ranges;
25*724ba675SRob Herring		qmgr0 {
26*724ba675SRob Herring			managed-queues = <0 0x80>;
27*724ba675SRob Herring			reg = <0x4100000 0x800>,
28*724ba675SRob Herring			      <0x4040000 0x100>,
29*724ba675SRob Herring			      <0x4080000 0x800>,
30*724ba675SRob Herring			      <0x40c0000 0x800>;
31*724ba675SRob Herring			reg-names = "peek", "config",
32*724ba675SRob Herring				    "region", "push";
33*724ba675SRob Herring		};
34*724ba675SRob Herring
35*724ba675SRob Herring	};
36*724ba675SRob Herring	queue-pools {
37*724ba675SRob Herring		qpend {
38*724ba675SRob Herring			qpend-0 {
39*724ba675SRob Herring				qrange = <77 8>;
40*724ba675SRob Herring				interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
41*724ba675SRob Herring					     0 311 0xf04 0 312 0xf04 0 313 0xf04
42*724ba675SRob Herring					     0 314 0xf04 0 315 0xf04>;
43*724ba675SRob Herring				qalloc-by-id;
44*724ba675SRob Herring			};
45*724ba675SRob Herring		};
46*724ba675SRob Herring		general-purpose {
47*724ba675SRob Herring			gp-0 {
48*724ba675SRob Herring				qrange = <112 8>;
49*724ba675SRob Herring			};
50*724ba675SRob Herring			netcp-tx {
51*724ba675SRob Herring				qrange = <5 8>;
52*724ba675SRob Herring				qalloc-by-id;
53*724ba675SRob Herring			};
54*724ba675SRob Herring		};
55*724ba675SRob Herring	};
56*724ba675SRob Herring
57*724ba675SRob Herring	descriptor-regions {
58*724ba675SRob Herring		#address-cells = <1>;
59*724ba675SRob Herring		#size-cells = <1>;
60*724ba675SRob Herring		ranges;
61*724ba675SRob Herring		region-12 {
62*724ba675SRob Herring			id = <12>;
63*724ba675SRob Herring			region-spec = <1023 128>; /* num_desc desc_size */
64*724ba675SRob Herring			link-index = <0x400>;
65*724ba675SRob Herring		};
66*724ba675SRob Herring	};
67*724ba675SRob Herring}; /* qmss */
68*724ba675SRob Herring
69*724ba675SRob Herringknav_dmas: knav_dmas@0 {
70*724ba675SRob Herring	compatible = "ti,keystone-navigator-dma";
71*724ba675SRob Herring	#address-cells = <1>;
72*724ba675SRob Herring	#size-cells = <1>;
73*724ba675SRob Herring	status = "disabled";
74*724ba675SRob Herring	power-domains = <&k2g_pds 0x0018>;
75*724ba675SRob Herring	clocks = <&k2g_clks 0x0018 0>;
76*724ba675SRob Herring	clock-names = "nss_vclk";
77*724ba675SRob Herring	ranges;
78*724ba675SRob Herring	ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
79*724ba675SRob Herring
80*724ba675SRob Herring	dma_gbe: dma_gbe@0 {
81*724ba675SRob Herring		reg = <0x4010000 0x100>,
82*724ba675SRob Herring		      <0x4011000 0x2a0>, /* 21 Tx channels */
83*724ba675SRob Herring		      <0x4012000 0x400>, /* 32 Rx channels */
84*724ba675SRob Herring		      <0x4010100 0x80>,
85*724ba675SRob Herring		      <0x4013000 0x400>; /* 32 Rx flows */
86*724ba675SRob Herring		reg-names = "global", "txchan", "rxchan",
87*724ba675SRob Herring			    "txsched", "rxflow";
88*724ba675SRob Herring	};
89*724ba675SRob Herring
90*724ba675SRob Herring};
91*724ba675SRob Herring
92*724ba675SRob Herringnetcp: netcp@4000000 {
93*724ba675SRob Herring	reg = <0x2620110 0x8>;
94*724ba675SRob Herring	reg-names = "efuse";
95*724ba675SRob Herring	compatible = "ti,netcp-1.0";
96*724ba675SRob Herring	#address-cells = <1>;
97*724ba675SRob Herring	#size-cells = <1>;
98*724ba675SRob Herring	status = "disabled";
99*724ba675SRob Herring	power-domains = <&k2g_pds 0x0018>;
100*724ba675SRob Herring	clocks = <&k2g_clks 0x0018 3>, <&k2g_clks 0x0018 8>;
101*724ba675SRob Herring	clock-names = "ethss_clk", "cpts";
102*724ba675SRob Herring
103*724ba675SRob Herring	/* NetCP address range */
104*724ba675SRob Herring	ranges = <0 0x4000000 0x1000000>;
105*724ba675SRob Herring
106*724ba675SRob Herring	dma-coherent;
107*724ba675SRob Herring
108*724ba675SRob Herring	ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
109*724ba675SRob Herring	ti,navigator-dma-names = "netrx0", "nettx";
110*724ba675SRob Herring
111*724ba675SRob Herring	netcp-devices {
112*724ba675SRob Herring		#address-cells = <1>;
113*724ba675SRob Herring		#size-cells = <1>;
114*724ba675SRob Herring		ranges;
115*724ba675SRob Herring		gbe: gbe@200000 {
116*724ba675SRob Herring			label = "netcp-gbe";
117*724ba675SRob Herring			compatible = "ti,netcp-gbe-2";
118*724ba675SRob Herring			reg = <0x200000 0x20>, <0x220000 0x20000>;
119*724ba675SRob Herring			enable-ale;
120*724ba675SRob Herring			tx-queue = <5>;
121*724ba675SRob Herring			tx-channel = "nettx";
122*724ba675SRob Herring			cpts-rftclk-sel = <0>;
123*724ba675SRob Herring			cpts-ext-ts-inputs = <8>;
124*724ba675SRob Herring
125*724ba675SRob Herring			interfaces {
126*724ba675SRob Herring				gbe0: interface-0 {
127*724ba675SRob Herring					slave-port = <0>;
128*724ba675SRob Herring					link-interface = <5>;
129*724ba675SRob Herring				};
130*724ba675SRob Herring			};
131*724ba675SRob Herring		};
132*724ba675SRob Herring	};
133*724ba675SRob Herring
134*724ba675SRob Herring	netcp-interfaces {
135*724ba675SRob Herring		interface-0 {
136*724ba675SRob Herring			rx-channel = "netrx0";
137*724ba675SRob Herring			rx-pool = <512 12>;
138*724ba675SRob Herring			tx-pool = <511 12>;
139*724ba675SRob Herring			rx-queue-depth = <128 128 0 0>;
140*724ba675SRob Herring			rx-buffer-size = <1518 4096 0 0>;
141*724ba675SRob Herring			rx-queue = <77>;
142*724ba675SRob Herring			tx-completion-queue = <78>;
143*724ba675SRob Herring			efuse-mac = <1>;
144*724ba675SRob Herring			netcp-gbe = <&gbe0>;
145*724ba675SRob Herring		};
146*724ba675SRob Herring	};
147*724ba675SRob Herring};
148