xref: /linux/arch/arm/boot/dts/ti/keystone/keystone-k2g-netcp.dtsi (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree Source for K2G Netcp driver
4724ba675SRob Herring *
5*11621bedSNishanth Menon * Copyright (C) 2018 Texas Instruments Incorporated - https://www.ti.com/
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herringqmss: qmss@4020000 {
9724ba675SRob Herring	compatible = "ti,66ak2g-navss-qm";
10724ba675SRob Herring	dma-coherent;
11724ba675SRob Herring	#address-cells = <1>;
12724ba675SRob Herring	#size-cells = <1>;
13724ba675SRob Herring	power-domains = <&k2g_pds 0x0018>;
14724ba675SRob Herring	clocks = <&k2g_clks 0x0018 0>;
15724ba675SRob Herring	clock-names = "nss_vclk";
16724ba675SRob Herring	ranges;
17724ba675SRob Herring	queue-range = <0 0x80>;
18724ba675SRob Herring	linkram0 = <0x4020000 0x7ff>;
19724ba675SRob Herring	status = "disabled";
20724ba675SRob Herring
21724ba675SRob Herring	qmgrs {
22724ba675SRob Herring		#address-cells = <1>;
23724ba675SRob Herring		#size-cells = <1>;
24724ba675SRob Herring		ranges;
25724ba675SRob Herring		qmgr0 {
26724ba675SRob Herring			managed-queues = <0 0x80>;
27724ba675SRob Herring			reg = <0x4100000 0x800>,
28724ba675SRob Herring			      <0x4040000 0x100>,
29724ba675SRob Herring			      <0x4080000 0x800>,
30724ba675SRob Herring			      <0x40c0000 0x800>;
31724ba675SRob Herring			reg-names = "peek", "config",
32724ba675SRob Herring				    "region", "push";
33724ba675SRob Herring		};
34724ba675SRob Herring
35724ba675SRob Herring	};
36724ba675SRob Herring	queue-pools {
37724ba675SRob Herring		qpend {
38724ba675SRob Herring			qpend-0 {
39724ba675SRob Herring				qrange = <77 8>;
40724ba675SRob Herring				interrupts = <0 308 0xf04 0 309 0xf04 0 310 0xf04
41724ba675SRob Herring					      0 311 0xf04 0 312 0xf04 0 313 0xf04
42724ba675SRob Herring					      0 314 0xf04 0 315 0xf04>;
43724ba675SRob Herring				qalloc-by-id;
44724ba675SRob Herring			};
45724ba675SRob Herring		};
46724ba675SRob Herring		general-purpose {
47724ba675SRob Herring			gp-0 {
48724ba675SRob Herring				qrange = <112 8>;
49724ba675SRob Herring			};
50724ba675SRob Herring			netcp-tx {
51724ba675SRob Herring				qrange = <5 8>;
52724ba675SRob Herring				qalloc-by-id;
53724ba675SRob Herring			};
54724ba675SRob Herring		};
55724ba675SRob Herring	};
56724ba675SRob Herring
57724ba675SRob Herring	descriptor-regions {
58724ba675SRob Herring		#address-cells = <1>;
59724ba675SRob Herring		#size-cells = <1>;
60724ba675SRob Herring		ranges;
61724ba675SRob Herring		region-12 {
62724ba675SRob Herring			id = <12>;
63724ba675SRob Herring			region-spec = <1023 128>; /* num_desc desc_size */
64724ba675SRob Herring			link-index = <0x400>;
65724ba675SRob Herring		};
66724ba675SRob Herring	};
67724ba675SRob Herring}; /* qmss */
68724ba675SRob Herring
69724ba675SRob Herringknav_dmas: knav_dmas@0 {
70724ba675SRob Herring	compatible = "ti,keystone-navigator-dma";
71724ba675SRob Herring	#address-cells = <1>;
72724ba675SRob Herring	#size-cells = <1>;
73724ba675SRob Herring	status = "disabled";
74724ba675SRob Herring	power-domains = <&k2g_pds 0x0018>;
75724ba675SRob Herring	clocks = <&k2g_clks 0x0018 0>;
76724ba675SRob Herring	clock-names = "nss_vclk";
77724ba675SRob Herring	ranges;
78724ba675SRob Herring	ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
79724ba675SRob Herring
80724ba675SRob Herring	dma_gbe: dma_gbe@0 {
81724ba675SRob Herring		reg = <0x4010000 0x100>,
82724ba675SRob Herring		      <0x4011000 0x2a0>, /* 21 Tx channels */
83724ba675SRob Herring		      <0x4012000 0x400>, /* 32 Rx channels */
84724ba675SRob Herring		      <0x4010100 0x80>,
85724ba675SRob Herring		      <0x4013000 0x400>; /* 32 Rx flows */
86724ba675SRob Herring		reg-names = "global", "txchan", "rxchan",
87724ba675SRob Herring			    "txsched", "rxflow";
88724ba675SRob Herring	};
89724ba675SRob Herring
90724ba675SRob Herring};
91724ba675SRob Herring
92724ba675SRob Herringnetcp: netcp@4000000 {
93724ba675SRob Herring	reg = <0x2620110 0x8>;
94724ba675SRob Herring	reg-names = "efuse";
95724ba675SRob Herring	compatible = "ti,netcp-1.0";
96724ba675SRob Herring	#address-cells = <1>;
97724ba675SRob Herring	#size-cells = <1>;
98724ba675SRob Herring	status = "disabled";
99724ba675SRob Herring	power-domains = <&k2g_pds 0x0018>;
100724ba675SRob Herring	clocks = <&k2g_clks 0x0018 3>, <&k2g_clks 0x0018 8>;
101724ba675SRob Herring	clock-names = "ethss_clk", "cpts";
102724ba675SRob Herring
103724ba675SRob Herring	/* NetCP address range */
104724ba675SRob Herring	ranges = <0 0x4000000 0x1000000>;
105724ba675SRob Herring
106724ba675SRob Herring	dma-coherent;
107724ba675SRob Herring
108724ba675SRob Herring	ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
109724ba675SRob Herring	ti,navigator-dma-names = "netrx0", "nettx";
110724ba675SRob Herring
111724ba675SRob Herring	netcp-devices {
112724ba675SRob Herring		#address-cells = <1>;
113724ba675SRob Herring		#size-cells = <1>;
114724ba675SRob Herring		ranges;
115724ba675SRob Herring		gbe: gbe@200000 {
116724ba675SRob Herring			label = "netcp-gbe";
117724ba675SRob Herring			compatible = "ti,netcp-gbe-2";
118724ba675SRob Herring			reg = <0x200000 0x20>, <0x220000 0x20000>;
119724ba675SRob Herring			enable-ale;
120724ba675SRob Herring			tx-queue = <5>;
121724ba675SRob Herring			tx-channel = "nettx";
122724ba675SRob Herring			cpts-rftclk-sel = <0>;
123724ba675SRob Herring			cpts-ext-ts-inputs = <8>;
124724ba675SRob Herring
125724ba675SRob Herring			interfaces {
126724ba675SRob Herring				gbe0: interface-0 {
127724ba675SRob Herring					slave-port = <0>;
128724ba675SRob Herring					link-interface = <5>;
129724ba675SRob Herring				};
130724ba675SRob Herring			};
131724ba675SRob Herring		};
132724ba675SRob Herring	};
133724ba675SRob Herring
134724ba675SRob Herring	netcp-interfaces {
135724ba675SRob Herring		interface-0 {
136724ba675SRob Herring			rx-channel = "netrx0";
137724ba675SRob Herring			rx-pool = <512 12>;
138724ba675SRob Herring			tx-pool = <511 12>;
139724ba675SRob Herring			rx-queue-depth = <128 128 0 0>;
140724ba675SRob Herring			rx-buffer-size = <1518 4096 0 0>;
141724ba675SRob Herring			rx-queue = <77>;
142724ba675SRob Herring			tx-completion-queue = <78>;
143724ba675SRob Herring			efuse-mac = <1>;
144724ba675SRob Herring			netcp-gbe = <&gbe0>;
145724ba675SRob Herring		};
146724ba675SRob Herring	};
147724ba675SRob Herring};
148