0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree Source for Keystone 2 Edison Netcp driver
0004 *
0005 * Copyright (C) 2015-2017 Texas Instruments Incorporated - http://www.ti.com/
0006 */
0007
0008 qmss: qmss@2a40000 {
0009 compatible = "ti,keystone-navigator-qmss";
0010 dma-coherent;
0011 #address-cells = <1>;
0012 #size-cells = <1>;
0013 clocks = <&chipclk13>;
0014 ranges;
0015 queue-range = <0 0x2000>;
0016 linkram0 = <0x100000 0x4000>;
0017 linkram1 = <0 0x10000>;
0018
0019 qmgrs {
0020 #address-cells = <1>;
0021 #size-cells = <1>;
0022 ranges;
0023 qmgr0 {
0024 managed-queues = <0 0x2000>;
0025 reg = <0x2a40000 0x20000>,
0026 <0x2a06000 0x400>,
0027 <0x2a02000 0x1000>,
0028 <0x2a03000 0x1000>,
0029 <0x23a80000 0x20000>,
0030 <0x2a80000 0x20000>;
0031 reg-names = "peek", "status", "config",
0032 "region", "push", "pop";
0033 };
0034 };
0035 queue-pools {
0036 qpend {
0037 qpend-0 {
0038 qrange = <658 8>;
0039 interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04
0040 0 43 0xf04 0 44 0xf04 0 45 0xf04
0041 0 46 0xf04 0 47 0xf04>;
0042 };
0043 qpend-1 {
0044 qrange = <528 16>;
0045 interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04
0046 0 51 0xf04 0 52 0xf04 0 53 0xf04
0047 0 54 0xf04 0 55 0xf04 0 56 0xf04
0048 0 57 0xf04 0 58 0xf04 0 59 0xf04
0049 0 60 0xf04 0 61 0xf04 0 62 0xf04
0050 0 63 0xf04>;
0051 qalloc-by-id;
0052 };
0053 qpend-2 {
0054 qrange = <544 16>;
0055 interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04
0056 0 59 0xf04 0 68 0xf04 0 69 0xf04
0057 0 70 0xf04 0 71 0xf04 0 72 0xf04
0058 0 73 0xf04 0 74 0xf04 0 75 0xf04
0059 0 76 0xf04 0 77 0xf04 0 78 0xf04
0060 0 79 0xf04>;
0061 };
0062 };
0063 general-purpose {
0064 gp-0 {
0065 qrange = <4000 64>;
0066 };
0067 netcp-tx {
0068 qrange = <896 128>;
0069 qalloc-by-id;
0070 };
0071 };
0072 accumulator {
0073 acc-low-0 {
0074 qrange = <480 32>;
0075 accumulator = <0 47 16 2 50>;
0076 interrupts = <0 226 0xf01>;
0077 multi-queue;
0078 qalloc-by-id;
0079 };
0080 };
0081 };
0082
0083 descriptor-regions {
0084 #address-cells = <1>;
0085 #size-cells = <1>;
0086 ranges;
0087 region-12 {
0088 id = <12>;
0089 region-spec = <8192 128>; /* num_desc desc_size */
0090 link-index = <0x4000>;
0091 };
0092 };
0093
0094 pdsps {
0095 #address-cells = <1>;
0096 #size-cells = <1>;
0097 ranges;
0098 pdsp0@2a10000 {
0099 reg = <0x2a10000 0x1000 /*iram */
0100 0x2a0f000 0x100 /*reg*/
0101 0x2a0c000 0x3c8 /*intd */
0102 0x2a20000 0x4000>; /*cmd*/
0103 id = <0>;
0104 };
0105 };
0106 }; /* qmss */
0107
0108 knav_dmas: knav_dmas@0 {
0109 compatible = "ti,keystone-navigator-dma";
0110 clocks = <&papllclk>;
0111 #address-cells = <1>;
0112 #size-cells = <1>;
0113 ranges;
0114 ti,navigator-cloud-address = <0x23a80000 0x23a90000
0115 0x23a80000 0x23a90000>;
0116
0117 dma_gbe: dma_gbe@0 {
0118 reg = <0x24186000 0x100>,
0119 <0x24187000 0x2a0>,
0120 <0x24188000 0xb60>,
0121 <0x24186100 0x80>,
0122 <0x24189000 0x1000>;
0123 reg-names = "global", "txchan", "rxchan",
0124 "txsched", "rxflow";
0125 };
0126 };
0127
0128 netcp: netcp@24000000 {
0129 reg = <0x2620110 0x8>;
0130 reg-names = "efuse";
0131 compatible = "ti,netcp-1.0";
0132 #address-cells = <1>;
0133 #size-cells = <1>;
0134
0135 /* NetCP address range */
0136 ranges = <0 0x24000000 0x1000000>;
0137
0138 clocks = <&clkpa>, <&clkcpgmac>;
0139 clock-names = "pa_clk", "ethss_clk";
0140 dma-coherent;
0141
0142 ti,navigator-dmas = <&dma_gbe 0>,
0143 <&dma_gbe 8>,
0144 <&dma_gbe 0>;
0145 ti,navigator-dma-names = "netrx0", "netrx1", "nettx";
0146
0147 netcp-devices {
0148 #address-cells = <1>;
0149 #size-cells = <1>;
0150 ranges;
0151 gbe@200000 { /* ETHSS */
0152 label = "netcp-gbe";
0153 compatible = "ti,netcp-gbe-9";
0154 reg = <0x200000 0x900>, <0x220000 0x20000>;
0155 /* enable-ale; */
0156 tx-queue = <896>;
0157 tx-channel = "nettx";
0158
0159 cpts {
0160 clocks = <&cpts_refclk_mux>;
0161 clock-names = "cpts";
0162
0163 cpts_refclk_mux: cpts-refclk-mux {
0164 #clock-cells = <0>;
0165 clocks = <&chipclk12>, <&chipclk13>,
0166 <&timi0>, <&timi1>,
0167 <&tsipclka>, <&tsrefclk>,
0168 <&tsipclkb>;
0169 ti,mux-tbl = <0x0>, <0x1>, <0x2>,
0170 <0x3>, <0x4>, <0x8>, <0xC>;
0171 assigned-clocks = <&cpts_refclk_mux>;
0172 assigned-clock-parents = <&chipclk12>;
0173 };
0174 };
0175
0176 interfaces {
0177 gbe0: interface-0 {
0178 slave-port = <0>;
0179 link-interface = <1>;
0180 phy-handle = <ðphy0>;
0181 };
0182 gbe1: interface-1 {
0183 slave-port = <1>;
0184 link-interface = <1>;
0185 phy-handle = <ðphy1>;
0186 };
0187 };
0188
0189 secondary-slave-ports {
0190 port-2 {
0191 slave-port = <2>;
0192 link-interface = <2>;
0193 };
0194 port-3 {
0195 slave-port = <3>;
0196 link-interface = <2>;
0197 };
0198 port-4 {
0199 slave-port = <4>;
0200 link-interface = <2>;
0201 };
0202 port-5 {
0203 slave-port = <5>;
0204 link-interface = <2>;
0205 };
0206 port-6 {
0207 slave-port = <6>;
0208 link-interface = <2>;
0209 };
0210 port-7 {
0211 slave-port = <7>;
0212 link-interface = <2>;
0213 };
0214 };
0215 };
0216 };
0217
0218 netcp-interfaces {
0219 interface-0 {
0220 rx-channel = "netrx0";
0221 rx-pool = <1024 12>;
0222 tx-pool = <1024 12>;
0223 rx-queue-depth = <128 128 0 0>;
0224 rx-buffer-size = <1518 4096 0 0>;
0225 rx-queue = <528>;
0226 tx-completion-queue = <530>;
0227 efuse-mac = <1>;
0228 netcp-gbe = <&gbe0>;
0229
0230 };
0231 interface-1 {
0232 rx-channel = "netrx1";
0233 rx-pool = <1024 12>;
0234 tx-pool = <1024 12>;
0235 rx-queue-depth = <128 128 0 0>;
0236 rx-buffer-size = <1518 4096 0 0>;
0237 rx-queue = <529>;
0238 tx-completion-queue = <531>;
0239 efuse-mac = <0>;
0240 local-mac-address = [02 18 31 7e 3e 00];
0241 netcp-gbe = <&gbe1>;
0242 };
0243 };
0244 };
0245
0246 sa_subsys: subsys@24080000 {
0247 #address-cells = <1>;
0248 #size-cells = <1>;
0249 compatible = "simple-bus";
0250 ranges = <0 0x24080000 0x40000>;
0251
0252 sa_config: subsys@0 {
0253 compatible = "syscon";
0254 reg = <0x0 0x100>;
0255 };
0256
0257 rng@24000 {
0258 compatible = "ti,keystone-rng";
0259 reg = <0x24000 0x1000>;
0260 ti,syscon-sa-cfg = <&sa_config>;
0261 clocks = <&clksa>;
0262 clock-names = "fck";
0263 };
0264 };