Merge branch 'for-2023.07' of https://source.denx.de/u-boot/custodians/u-boot-mpc8xx
[platform/kernel/u-boot.git] / arch / arm / 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,keystone-navigator-qmss-l";
10         dma-coherent;
11         #address-cells = <1>;
12         #size-cells = <1>;
13         /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
14         /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
15         clock-names = "nss_vclk";
16         ranges;
17         queue-range = <0 0x80>;
18         linkram0 = <0x4020000 0x7ff>;
19
20         qmgrs {
21                 #address-cells = <1>;
22                 #size-cells = <1>;
23                 ranges;
24                 qmgr0 {
25                         managed-queues = <0 0x80>;
26                         reg = <0x4100000 0x800>,
27                               <0x4040000 0x100>,
28                               <0x4080000 0x800>,
29                               <0x40c0000 0x800>;
30                         reg-names = "peek", "config",
31                                     "region", "push";
32                 };
33
34         };
35         queue-pools {
36                 qpend {
37                         qpend-0 {
38                                 qrange = <77 8>;
39                                 interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
40                                              0 311 0xf04 0 312 0xf04 0 313 0xf04
41                                              0 314 0xf04 0 315 0xf04>;
42                                 qalloc-by-id;
43                         };
44                 };
45                 general-purpose {
46                         gp-0 {
47                                 qrange = <112 8>;
48                         };
49                         netcp-tx {
50                                 qrange = <5 8>;
51                                 qalloc-by-id;
52                         };
53                 };
54         };
55
56         descriptor-regions {
57                 #address-cells = <1>;
58                 #size-cells = <1>;
59                 ranges;
60                 region-12 {
61                         id = <12>;
62                         region-spec = <1023 128>; /* num_desc desc_size */
63                         link-index = <0x400>;
64                 };
65         };
66 }; /* qmss */
67
68 knav_dmas: knav_dmas@0 {
69         compatible = "ti,keystone-navigator-dma";
70         #address-cells = <1>;
71         #size-cells = <1>;
72         /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
73         /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_VCLK>; */
74         clock-names = "nss_vclk";
75         ranges;
76         ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
77
78         dma_gbe: dma_gbe@0 {
79                 reg = <0x4010000 0x100>,
80                       <0x4011000 0x2a0>, /* 21 Tx channels */
81                       <0x4012000 0x400>, /* 32 Rx channels */
82                       <0x4010100 0x80>,
83                       <0x4013000 0x400>; /* 32 Rx flows */
84                 reg-names = "global", "txchan", "rxchan",
85                             "txsched", "rxflow";
86         };
87
88 };
89
90 gbe_subsys: subsys@4200000 {
91         compatible = "syscon";
92         reg = <0x4200000 0x100>;
93 };
94
95 netcp: netcp@4000000 {
96         reg = <0x2620110 0x8>;
97         reg-names = "efuse";
98         compatible = "ti,netcp-1.0";
99         #address-cells = <1>;
100         #size-cells = <1>;
101         status = "disabled";
102         /* power-domains = <&k2g_pds K2G_DEV_NSS0>; */
103         /* clocks = <&k2g_clks K2G_DEV_NSS0 K2G_DEV_NSS_ESW_CLK>; */
104         clock-names = "ethss_clk";
105
106         /* NetCP address range */
107         ranges = <0 0x4000000 0x1000000>;
108
109         dma-coherent;
110
111         ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
112         ti,navigator-dma-names = "netrx0", "nettx";
113
114         netcp-devices {
115                 #address-cells = <1>;
116                 #size-cells = <1>;
117                 ranges;
118                 gbe@200000 {
119                         label = "netcp-gbe";
120                         compatible = "ti,netcp-gbe-2";
121                         syscon-subsys = <&gbe_subsys>;
122                         reg = <0x200100 0xe00>, <0x220000 0x20000>;
123                         /* enable-ale; */
124                         tx-queue = <5>;
125                         tx-channel = "nettx";
126
127                         interfaces {
128                                 gbe0: interface-0 {
129                                         slave-port = <0>;
130                                         link-interface = <5>;
131                                 };
132                         };
133                 };
134         };
135
136         netcp-interfaces {
137                 interface-0 {
138                         rx-channel = "netrx0";
139                         rx-pool = <512 12>;
140                         tx-pool = <511 12>;
141                         rx-queue-depth = <128 128 0 0>;
142                         rx-buffer-size = <1518 4096 0 0>;
143                         rx-queue = <77>;
144                         tx-completion-queue = <78>;
145                         efuse-mac = <1>;
146                         netcp-gbe = <&gbe0>;
147                 };
148         };
149 };