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