0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree Source for Keystone 2 Lamarr 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 = <0x70000000 0x10000>; /* 1MB OSR mem */
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 };
0079 };
0080 };
0081
0082 descriptor-regions {
0083 #address-cells = <1>;
0084 #size-cells = <1>;
0085 ranges;
0086 region-12 {
0087 id = <12>;
0088 region-spec = <8192 128>; /* num_desc desc_size */
0089 link-index = <0x4000>;
0090 };
0091 };
0092
0093 pdsps {
0094 #address-cells = <1>;
0095 #size-cells = <1>;
0096 ranges;
0097 pdsp0@2a10000 {
0098 reg = <0x2a10000 0x1000 /*iram */
0099 0x2a0f000 0x100 /*reg*/
0100 0x2a0c000 0x3c8 /*intd */
0101 0x2a20000 0x4000>; /*cmd*/
0102 id = <0>;
0103 };
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
0116 dma_gbe: dma_gbe@0 {
0117 reg = <0x26186000 0x100>,
0118 <0x26187000 0x2a0>,
0119 <0x26188000 0xb60>,
0120 <0x26186100 0x80>,
0121 <0x26189000 0x1000>;
0122 reg-names = "global", "txchan", "rxchan",
0123 "txsched", "rxflow";
0124 };
0125 };
0126
0127 netcp: netcp@26000000 {
0128 reg = <0x2620110 0x8>;
0129 reg-names = "efuse";
0130 compatible = "ti,netcp-1.0";
0131 #address-cells = <1>;
0132 #size-cells = <1>;
0133
0134 /* NetCP address range */
0135 ranges = <0 0x26000000 0x1000000>;
0136
0137 clocks = <&clkpa>, <&clkcpgmac>;
0138 clock-names = "pa_clk", "ethss_clk";
0139 dma-coherent;
0140
0141 ti,navigator-dmas = <&dma_gbe 0>,
0142 <&dma_gbe 8>,
0143 <&dma_gbe 0>;
0144 ti,navigator-dma-names = "netrx0", "netrx1", "nettx";
0145
0146 netcp-devices {
0147 #address-cells = <1>;
0148 #size-cells = <1>;
0149 ranges;
0150 gbe@200000 { /* ETHSS */
0151 label = "netcp-gbe";
0152 compatible = "ti,netcp-gbe-5";
0153 reg = <0x200000 0x900>, <0x220000 0x20000>;
0154 /* enable-ale; */
0155 tx-queue = <896>;
0156 tx-channel = "nettx";
0157
0158 cpts {
0159 clocks = <&cpts_refclk_mux>;
0160 clock-names = "cpts";
0161
0162 cpts_refclk_mux: cpts-refclk-mux {
0163 #clock-cells = <0>;
0164 clocks = <&chipclk12>, <&chipclk13>,
0165 <&timi0>, <&timi1>,
0166 <&tsrefclk>;
0167 ti,mux-tbl = <0x0>, <0x1>, <0x2>,
0168 <0x3>, <0x8>;
0169 assigned-clocks = <&cpts_refclk_mux>;
0170 assigned-clock-parents = <&chipclk12>;
0171 };
0172 };
0173
0174 interfaces {
0175 gbe0: interface-0 {
0176 slave-port = <0>;
0177 link-interface = <1>;
0178 phy-handle = <ðphy0>;
0179 };
0180 gbe1: interface-1 {
0181 slave-port = <1>;
0182 link-interface = <1>;
0183 phy-handle = <ðphy1>;
0184 };
0185 };
0186
0187 secondary-slave-ports {
0188 port-2 {
0189 slave-port = <2>;
0190 link-interface = <2>;
0191 };
0192 port-3 {
0193 slave-port = <3>;
0194 link-interface = <2>;
0195 };
0196 };
0197 };
0198 };
0199
0200 netcp-interfaces {
0201 interface-0 {
0202 rx-channel = "netrx0";
0203 rx-pool = <1024 12>;
0204 tx-pool = <1024 12>;
0205 rx-queue-depth = <128 128 0 0>;
0206 rx-buffer-size = <1518 4096 0 0>;
0207 rx-queue = <528>;
0208 tx-completion-queue = <530>;
0209 efuse-mac = <1>;
0210 netcp-gbe = <&gbe0>;
0211
0212 };
0213 interface-1 {
0214 rx-channel = "netrx1";
0215 rx-pool = <1024 12>;
0216 tx-pool = <1024 12>;
0217 rx-queue-depth = <128 128 0 0>;
0218 rx-buffer-size = <1518 4096 0 0>;
0219 rx-queue = <529>;
0220 tx-completion-queue = <531>;
0221 efuse-mac = <0>;
0222 local-mac-address = [02 18 31 7e 3e 7f];
0223 netcp-gbe = <&gbe1>;
0224 };
0225 };
0226 };
0227
0228 sa_subsys: subsys@26080000 {
0229 #address-cells = <1>;
0230 #size-cells = <1>;
0231 compatible = "simple-bus";
0232 ranges = <0 0x26080000 0x40000>;
0233
0234 sa_config: subsys@0 {
0235 compatible = "syscon";
0236 reg = <0x0 0x100>;
0237 };
0238
0239 rng@24000 {
0240 compatible = "ti,keystone-rng";
0241 reg = <0x24000 0x1000>;
0242 ti,syscon-sa-cfg = <&sa_config>;
0243 clocks = <&clksa>;
0244 clock-names = "fck";
0245 };
0246 };