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