0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Device Tree Source for K2G Netcp driver
0004 *
0005 * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
0006 */
0007
0008 qmss: qmss@4020000 {
0009 compatible = "ti,66ak2g-navss-qm";
0010 dma-coherent;
0011 #address-cells = <1>;
0012 #size-cells = <1>;
0013 power-domains = <&k2g_pds 0x0018>;
0014 clocks = <&k2g_clks 0x0018 0>;
0015 clock-names = "nss_vclk";
0016 ranges;
0017 queue-range = <0 0x80>;
0018 linkram0 = <0x4020000 0x7ff>;
0019 status = "disabled";
0020
0021 qmgrs {
0022 #address-cells = <1>;
0023 #size-cells = <1>;
0024 ranges;
0025 qmgr0 {
0026 managed-queues = <0 0x80>;
0027 reg = <0x4100000 0x800>,
0028 <0x4040000 0x100>,
0029 <0x4080000 0x800>,
0030 <0x40c0000 0x800>;
0031 reg-names = "peek", "config",
0032 "region", "push";
0033 };
0034
0035 };
0036 queue-pools {
0037 qpend {
0038 qpend-0 {
0039 qrange = <77 8>;
0040 interrupts =<0 308 0xf04 0 309 0xf04 0 310 0xf04
0041 0 311 0xf04 0 312 0xf04 0 313 0xf04
0042 0 314 0xf04 0 315 0xf04>;
0043 qalloc-by-id;
0044 };
0045 };
0046 general-purpose {
0047 gp-0 {
0048 qrange = <112 8>;
0049 };
0050 netcp-tx {
0051 qrange = <5 8>;
0052 qalloc-by-id;
0053 };
0054 };
0055 };
0056
0057 descriptor-regions {
0058 #address-cells = <1>;
0059 #size-cells = <1>;
0060 ranges;
0061 region-12 {
0062 id = <12>;
0063 region-spec = <1023 128>; /* num_desc desc_size */
0064 link-index = <0x400>;
0065 };
0066 };
0067 }; /* qmss */
0068
0069 knav_dmas: knav_dmas@0 {
0070 compatible = "ti,keystone-navigator-dma";
0071 #address-cells = <1>;
0072 #size-cells = <1>;
0073 status = "disabled";
0074 power-domains = <&k2g_pds 0x0018>;
0075 clocks = <&k2g_clks 0x0018 0>;
0076 clock-names = "nss_vclk";
0077 ranges;
0078 ti,navigator-cloud-address = <0x40c0000 0x40c0000 0x40c0000 0x40c0000>;
0079
0080 dma_gbe: dma_gbe@0 {
0081 reg = <0x4010000 0x100>,
0082 <0x4011000 0x2a0>, /* 21 Tx channels */
0083 <0x4012000 0x400>, /* 32 Rx channels */
0084 <0x4010100 0x80>,
0085 <0x4013000 0x400>; /* 32 Rx flows */
0086 reg-names = "global", "txchan", "rxchan",
0087 "txsched", "rxflow";
0088 };
0089
0090 };
0091
0092 netcp: netcp@4000000 {
0093 reg = <0x2620110 0x8>;
0094 reg-names = "efuse";
0095 compatible = "ti,netcp-1.0";
0096 #address-cells = <1>;
0097 #size-cells = <1>;
0098 status = "disabled";
0099 power-domains = <&k2g_pds 0x0018>;
0100 clocks = <&k2g_clks 0x0018 3>, <&k2g_clks 0x0018 8>;
0101 clock-names = "ethss_clk", "cpts";
0102
0103 /* NetCP address range */
0104 ranges = <0 0x4000000 0x1000000>;
0105
0106 dma-coherent;
0107
0108 ti,navigator-dmas = <&dma_gbe 0>, <&dma_gbe 5>;
0109 ti,navigator-dma-names = "netrx0", "nettx";
0110
0111 netcp-devices {
0112 #address-cells = <1>;
0113 #size-cells = <1>;
0114 ranges;
0115 gbe: gbe@200000 {
0116 label = "netcp-gbe";
0117 compatible = "ti,netcp-gbe-2";
0118 reg = <0x200000 0x20>, <0x220000 0x20000>;
0119 enable-ale;
0120 tx-queue = <5>;
0121 tx-channel = "nettx";
0122 cpts-rftclk-sel = <0>;
0123 cpts-ext-ts-inputs = <8>;
0124
0125 interfaces {
0126 gbe0: interface-0 {
0127 slave-port = <0>;
0128 link-interface = <5>;
0129 };
0130 };
0131 };
0132 };
0133
0134 netcp-interfaces {
0135 interface-0 {
0136 rx-channel = "netrx0";
0137 rx-pool = <512 12>;
0138 tx-pool = <511 12>;
0139 rx-queue-depth = <128 128 0 0>;
0140 rx-buffer-size = <1518 4096 0 0>;
0141 rx-queue = <77>;
0142 tx-completion-queue = <78>;
0143 efuse-mac = <1>;
0144 netcp-gbe = <&gbe0>;
0145 };
0146 };
0147 };