xref: /rk3399_rockchip-uboot/arch/arm/dts/keystone-k2g-netcp.dtsi (revision f0a3f3492ac197ea89be58a29aed7500aad5542d)
1*f0a3f349SLokesh Vutla/*
2*f0a3f349SLokesh Vutla * Device Tree Source for K2G Netcp driver
3*f0a3f349SLokesh Vutla *
4*f0a3f349SLokesh Vutla * Copyright 2015 Texas Instruments, Inc.
5*f0a3f349SLokesh Vutla *
6*f0a3f349SLokesh Vutla * This program is free software; you can redistribute it and/or modify
7*f0a3f349SLokesh Vutla * it under the terms of the GNU General Public License version 2 as
8*f0a3f349SLokesh Vutla * published by the Free Software Foundation.
9*f0a3f349SLokesh Vutla */
10*f0a3f349SLokesh Vutla
11*f0a3f349SLokesh Vutlaqmss: qmss@4020000 {
12*f0a3f349SLokesh Vutla	compatible = "ti,keystone-navigator-qmss-l";
13*f0a3f349SLokesh Vutla	dma-coherent;
14*f0a3f349SLokesh Vutla	#address-cells = <1>;
15*f0a3f349SLokesh Vutla	#size-cells = <1>;
16*f0a3f349SLokesh Vutla	/* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
17*f0a3f349SLokesh Vutla	/* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
18*f0a3f349SLokesh Vutla	clock-names = "nss_vclk";
19*f0a3f349SLokesh Vutla	ranges;
20*f0a3f349SLokesh Vutla	queue-range	= <0 0x80>;
21*f0a3f349SLokesh Vutla	linkram0	= <0x4020000 0x7ff>;
22*f0a3f349SLokesh Vutla
23*f0a3f349SLokesh Vutla	qmgrs {
24*f0a3f349SLokesh Vutla		#address-cells = <1>;
25*f0a3f349SLokesh Vutla		#size-cells = <1>;
26*f0a3f349SLokesh Vutla		ranges;
27*f0a3f349SLokesh Vutla		qmgr0 {
28*f0a3f349SLokesh Vutla			managed-queues = <0 0x80>;
29*f0a3f349SLokesh Vutla			reg = <0x4100000 0x800>,
30*f0a3f349SLokesh Vutla			      <0x4040000 0x100>,
31*f0a3f349SLokesh Vutla			      <0x4080000 0x800>,
32*f0a3f349SLokesh Vutla			      <0x40c0000 0x800>;
33*f0a3f349SLokesh Vutla			reg-names = "peek", "config",
34*f0a3f349SLokesh Vutla				    "region", "push";
35*f0a3f349SLokesh Vutla		};
36*f0a3f349SLokesh Vutla
37*f0a3f349SLokesh Vutla	};
38*f0a3f349SLokesh Vutla	queue-pools {
39*f0a3f349SLokesh Vutla		qpend {
40*f0a3f349SLokesh Vutla			qpend-0 {
41*f0a3f349SLokesh Vutla				qrange = <77 8>;
42*f0a3f349SLokesh Vutla				interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
43*f0a3f349SLokesh Vutla					     0 311 0xf04 0 312 0xf04 0 313 0xf04
44*f0a3f349SLokesh Vutla					     0 314 0xf04 0 315 0xf04>;
45*f0a3f349SLokesh Vutla				qalloc-by-id;
46*f0a3f349SLokesh Vutla			};
47*f0a3f349SLokesh Vutla		};
48*f0a3f349SLokesh Vutla		general-purpose {
49*f0a3f349SLokesh Vutla			gp-0 {
50*f0a3f349SLokesh Vutla				qrange = <112 8>;
51*f0a3f349SLokesh Vutla			};
52*f0a3f349SLokesh Vutla			netcp-tx {
53*f0a3f349SLokesh Vutla				qrange = <5 8>;
54*f0a3f349SLokesh Vutla				qalloc-by-id;
55*f0a3f349SLokesh Vutla			};
56*f0a3f349SLokesh Vutla		};
57*f0a3f349SLokesh Vutla	};
58*f0a3f349SLokesh Vutla
59*f0a3f349SLokesh Vutla	descriptor-regions {
60*f0a3f349SLokesh Vutla		#address-cells = <1>;
61*f0a3f349SLokesh Vutla		#size-cells = <1>;
62*f0a3f349SLokesh Vutla		ranges;
63*f0a3f349SLokesh Vutla		region-12 {
64*f0a3f349SLokesh Vutla			id = <12>;
65*f0a3f349SLokesh Vutla			region-spec = <1023 128>; /* num_desc desc_size */
66*f0a3f349SLokesh Vutla			link-index = <0x400>;
67*f0a3f349SLokesh Vutla		};
68*f0a3f349SLokesh Vutla	};
69*f0a3f349SLokesh Vutla}; /* qmss */
70*f0a3f349SLokesh Vutla
71*f0a3f349SLokesh Vutlaknav_dmas: knav_dmas@0 {
72*f0a3f349SLokesh Vutla	compatible = "ti,keystone-navigator-dma";
73*f0a3f349SLokesh Vutla	#address-cells = <1>;
74*f0a3f349SLokesh Vutla	#size-cells = <1>;
75*f0a3f349SLokesh Vutla	/* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
76*f0a3f349SLokesh Vutla	/* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
77*f0a3f349SLokesh Vutla	clock-names = "nss_vclk";
78*f0a3f349SLokesh Vutla	ranges;
79*f0a3f349SLokesh Vutla	ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
80*f0a3f349SLokesh Vutla
81*f0a3f349SLokesh Vutla	dma_gbe: dma_gbe@0 {
82*f0a3f349SLokesh Vutla		reg = <0x4010000 0x100>,
83*f0a3f349SLokesh Vutla			  <0x4011000 0x2a0>, /* 21 Tx channels */
84*f0a3f349SLokesh Vutla			  <0x4012000 0x400>, /* 32 Rx channels */
85*f0a3f349SLokesh Vutla			  <0x4010100 0x80>,
86*f0a3f349SLokesh Vutla			  <0x4013000 0x400>; /* 32 Rx flows */
87*f0a3f349SLokesh Vutla		reg-names = "global", "txchan", "rxchan",
88*f0a3f349SLokesh Vutla				"txsched", "rxflow";
89*f0a3f349SLokesh Vutla	};
90*f0a3f349SLokesh Vutla
91*f0a3f349SLokesh Vutla};
92*f0a3f349SLokesh Vutla
93*f0a3f349SLokesh Vutlagbe_subsys: subsys@4200000 {
94*f0a3f349SLokesh Vutla	compatible = "syscon";
95*f0a3f349SLokesh Vutla	reg = <0x4200000 0x100>;
96*f0a3f349SLokesh Vutla};
97*f0a3f349SLokesh Vutla
98*f0a3f349SLokesh Vutlanetcp: netcp@4000000 {
99*f0a3f349SLokesh Vutla	reg = <0x2620110 0x8>;
100*f0a3f349SLokesh Vutla	reg-names = "efuse";
101*f0a3f349SLokesh Vutla	compatible = "ti,netcp-1.0";
102*f0a3f349SLokesh Vutla	#address-cells = <1>;
103*f0a3f349SLokesh Vutla	#size-cells = <1>;
104*f0a3f349SLokesh Vutla	/* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
105*f0a3f349SLokesh Vutla	/* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_ESW_CLK>; */
106*f0a3f349SLokesh Vutla	clock-names = "ethss_clk";
107*f0a3f349SLokesh Vutla
108*f0a3f349SLokesh Vutla	/* NetCP address range */
109*f0a3f349SLokesh Vutla	ranges = <0 0x4000000 0x1000000>;
110*f0a3f349SLokesh Vutla
111*f0a3f349SLokesh Vutla	dma-coherent;
112*f0a3f349SLokesh Vutla
113*f0a3f349SLokesh Vutla	ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
114*f0a3f349SLokesh Vutla	ti,navigator-dma-names = "netrx0", "nettx";
115*f0a3f349SLokesh Vutla
116*f0a3f349SLokesh Vutla	netcp-devices {
117*f0a3f349SLokesh Vutla		#address-cells = <1>;
118*f0a3f349SLokesh Vutla		#size-cells = <1>;
119*f0a3f349SLokesh Vutla		ranges;
120*f0a3f349SLokesh Vutla		gbe@200000 {
121*f0a3f349SLokesh Vutla			label = "netcp-gbe";
122*f0a3f349SLokesh Vutla			compatible = "ti,netcp-gbe-2";
123*f0a3f349SLokesh Vutla			syscon-subsys = <&gbe_subsys>;
124*f0a3f349SLokesh Vutla			reg = <0x200100 0xe00>, <0x220000 0x20000>;
125*f0a3f349SLokesh Vutla			/* enable-ale; */
126*f0a3f349SLokesh Vutla			tx-queue = <5>;
127*f0a3f349SLokesh Vutla			tx-channel = "nettx";
128*f0a3f349SLokesh Vutla
129*f0a3f349SLokesh Vutla			interfaces {
130*f0a3f349SLokesh Vutla				gbe0: interface-0 {
131*f0a3f349SLokesh Vutla					slave-port = <0>;
132*f0a3f349SLokesh Vutla					link-interface	= <5>;
133*f0a3f349SLokesh Vutla				};
134*f0a3f349SLokesh Vutla			};
135*f0a3f349SLokesh Vutla		};
136*f0a3f349SLokesh Vutla	};
137*f0a3f349SLokesh Vutla
138*f0a3f349SLokesh Vutla	netcp-interfaces {
139*f0a3f349SLokesh Vutla		interface-0 {
140*f0a3f349SLokesh Vutla			rx-channel = "netrx0";
141*f0a3f349SLokesh Vutla			rx-pool = <512 12>;
142*f0a3f349SLokesh Vutla			tx-pool = <511 12>;
143*f0a3f349SLokesh Vutla			rx-queue-depth = <128 128 0 0>;
144*f0a3f349SLokesh Vutla			rx-buffer-size = <1518 4096 0 0>;
145*f0a3f349SLokesh Vutla			rx-queue = <77>;
146*f0a3f349SLokesh Vutla			tx-completion-queue = <78>;
147*f0a3f349SLokesh Vutla			efuse-mac = <1>;
148*f0a3f349SLokesh Vutla			netcp-gbe = <&gbe0>;
149*f0a3f349SLokesh Vutla		};
150*f0a3f349SLokesh Vutla	};
151*f0a3f349SLokesh Vutla};
152