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