162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Source for K2G Netcp driver
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciqmss: qmss@4020000 {
962306a36Sopenharmony_ci	compatible = "ti,66ak2g-navss-qm";
1062306a36Sopenharmony_ci	dma-coherent;
1162306a36Sopenharmony_ci	#address-cells = <1>;
1262306a36Sopenharmony_ci	#size-cells = <1>;
1362306a36Sopenharmony_ci	power-domains = <&k2g_pds 0x0018>;
1462306a36Sopenharmony_ci	clocks = <&k2g_clks 0x0018 0>;
1562306a36Sopenharmony_ci	clock-names = "nss_vclk";
1662306a36Sopenharmony_ci	ranges;
1762306a36Sopenharmony_ci	queue-range = <0 0x80>;
1862306a36Sopenharmony_ci	linkram0 = <0x4020000 0x7ff>;
1962306a36Sopenharmony_ci	status = "disabled";
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	qmgrs {
2262306a36Sopenharmony_ci		#address-cells = <1>;
2362306a36Sopenharmony_ci		#size-cells = <1>;
2462306a36Sopenharmony_ci		ranges;
2562306a36Sopenharmony_ci		qmgr0 {
2662306a36Sopenharmony_ci			managed-queues = <0 0x80>;
2762306a36Sopenharmony_ci			reg = <0x4100000 0x800>,
2862306a36Sopenharmony_ci			      <0x4040000 0x100>,
2962306a36Sopenharmony_ci			      <0x4080000 0x800>,
3062306a36Sopenharmony_ci			      <0x40c0000 0x800>;
3162306a36Sopenharmony_ci			reg-names = "peek", "config",
3262306a36Sopenharmony_ci				    "region", "push";
3362306a36Sopenharmony_ci		};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci	};
3662306a36Sopenharmony_ci	queue-pools {
3762306a36Sopenharmony_ci		qpend {
3862306a36Sopenharmony_ci			qpend-0 {
3962306a36Sopenharmony_ci				qrange = <77 8>;
4062306a36Sopenharmony_ci				interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
4162306a36Sopenharmony_ci					     0 311 0xf04 0 312 0xf04 0 313 0xf04
4262306a36Sopenharmony_ci					     0 314 0xf04 0 315 0xf04>;
4362306a36Sopenharmony_ci				qalloc-by-id;
4462306a36Sopenharmony_ci			};
4562306a36Sopenharmony_ci		};
4662306a36Sopenharmony_ci		general-purpose {
4762306a36Sopenharmony_ci			gp-0 {
4862306a36Sopenharmony_ci				qrange = <112 8>;
4962306a36Sopenharmony_ci			};
5062306a36Sopenharmony_ci			netcp-tx {
5162306a36Sopenharmony_ci				qrange = <5 8>;
5262306a36Sopenharmony_ci				qalloc-by-id;
5362306a36Sopenharmony_ci			};
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	descriptor-regions {
5862306a36Sopenharmony_ci		#address-cells = <1>;
5962306a36Sopenharmony_ci		#size-cells = <1>;
6062306a36Sopenharmony_ci		ranges;
6162306a36Sopenharmony_ci		region-12 {
6262306a36Sopenharmony_ci			id = <12>;
6362306a36Sopenharmony_ci			region-spec = <1023 128>; /* num_desc desc_size */
6462306a36Sopenharmony_ci			link-index = <0x400>;
6562306a36Sopenharmony_ci		};
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci}; /* qmss */
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciknav_dmas: knav_dmas@0 {
7062306a36Sopenharmony_ci	compatible = "ti,keystone-navigator-dma";
7162306a36Sopenharmony_ci	#address-cells = <1>;
7262306a36Sopenharmony_ci	#size-cells = <1>;
7362306a36Sopenharmony_ci	status = "disabled";
7462306a36Sopenharmony_ci	power-domains = <&k2g_pds 0x0018>;
7562306a36Sopenharmony_ci	clocks = <&k2g_clks 0x0018 0>;
7662306a36Sopenharmony_ci	clock-names = "nss_vclk";
7762306a36Sopenharmony_ci	ranges;
7862306a36Sopenharmony_ci	ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci	dma_gbe: dma_gbe@0 {
8162306a36Sopenharmony_ci		reg = <0x4010000 0x100>,
8262306a36Sopenharmony_ci		      <0x4011000 0x2a0>, /* 21 Tx channels */
8362306a36Sopenharmony_ci		      <0x4012000 0x400>, /* 32 Rx channels */
8462306a36Sopenharmony_ci		      <0x4010100 0x80>,
8562306a36Sopenharmony_ci		      <0x4013000 0x400>; /* 32 Rx flows */
8662306a36Sopenharmony_ci		reg-names = "global", "txchan", "rxchan",
8762306a36Sopenharmony_ci			    "txsched", "rxflow";
8862306a36Sopenharmony_ci	};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_cinetcp: netcp@4000000 {
9362306a36Sopenharmony_ci	reg = <0x2620110 0x8>;
9462306a36Sopenharmony_ci	reg-names = "efuse";
9562306a36Sopenharmony_ci	compatible = "ti,netcp-1.0";
9662306a36Sopenharmony_ci	#address-cells = <1>;
9762306a36Sopenharmony_ci	#size-cells = <1>;
9862306a36Sopenharmony_ci	status = "disabled";
9962306a36Sopenharmony_ci	power-domains = <&k2g_pds 0x0018>;
10062306a36Sopenharmony_ci	clocks = <&k2g_clks 0x0018 3>, <&k2g_clks 0x0018 8>;
10162306a36Sopenharmony_ci	clock-names = "ethss_clk", "cpts";
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci	/* NetCP address range */
10462306a36Sopenharmony_ci	ranges = <0 0x4000000 0x1000000>;
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	dma-coherent;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci	ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
10962306a36Sopenharmony_ci	ti,navigator-dma-names = "netrx0", "nettx";
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	netcp-devices {
11262306a36Sopenharmony_ci		#address-cells = <1>;
11362306a36Sopenharmony_ci		#size-cells = <1>;
11462306a36Sopenharmony_ci		ranges;
11562306a36Sopenharmony_ci		gbe: gbe@200000 {
11662306a36Sopenharmony_ci			label = "netcp-gbe";
11762306a36Sopenharmony_ci			compatible = "ti,netcp-gbe-2";
11862306a36Sopenharmony_ci			reg = <0x200000 0x20>, <0x220000 0x20000>;
11962306a36Sopenharmony_ci			enable-ale;
12062306a36Sopenharmony_ci			tx-queue = <5>;
12162306a36Sopenharmony_ci			tx-channel = "nettx";
12262306a36Sopenharmony_ci			cpts-rftclk-sel = <0>;
12362306a36Sopenharmony_ci			cpts-ext-ts-inputs = <8>;
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci			interfaces {
12662306a36Sopenharmony_ci				gbe0: interface-0 {
12762306a36Sopenharmony_ci					slave-port = <0>;
12862306a36Sopenharmony_ci					link-interface = <5>;
12962306a36Sopenharmony_ci				};
13062306a36Sopenharmony_ci			};
13162306a36Sopenharmony_ci		};
13262306a36Sopenharmony_ci	};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci	netcp-interfaces {
13562306a36Sopenharmony_ci		interface-0 {
13662306a36Sopenharmony_ci			rx-channel = "netrx0";
13762306a36Sopenharmony_ci			rx-pool = <512 12>;
13862306a36Sopenharmony_ci			tx-pool = <511 12>;
13962306a36Sopenharmony_ci			rx-queue-depth = <128 128 0 0>;
14062306a36Sopenharmony_ci			rx-buffer-size = <1518 4096 0 0>;
14162306a36Sopenharmony_ci			rx-queue = <77>;
14262306a36Sopenharmony_ci			tx-completion-queue = <78>;
14362306a36Sopenharmony_ci			efuse-mac = <1>;
14462306a36Sopenharmony_ci			netcp-gbe = <&gbe0>;
14562306a36Sopenharmony_ci		};
14662306a36Sopenharmony_ci	};
14762306a36Sopenharmony_ci};
148