1*f0a3f349SLokesh Vutla/* 2*f0a3f349SLokesh Vutla * Device Tree Source for Keystone 2 Edison Netcp driver 3*f0a3f349SLokesh Vutla * 4*f0a3f349SLokesh Vutla * Copyright 2015 Texas Instruments, Inc. 5*f0a3f349SLokesh Vutla * 6*f0a3f349SLokesh Vutla * This program is free software; you can redistribute it and/or modify 7*f0a3f349SLokesh Vutla * it under the terms of the GNU General Public License version 2 as 8*f0a3f349SLokesh Vutla * published by the Free Software Foundation. 9*f0a3f349SLokesh Vutla */ 10*f0a3f349SLokesh Vutla 11*f0a3f349SLokesh Vutlaqmss: qmss@2a40000 { 12*f0a3f349SLokesh Vutla compatible = "ti,keystone-navigator-qmss"; 13*f0a3f349SLokesh Vutla dma-coherent; 14*f0a3f349SLokesh Vutla #address-cells = <1>; 15*f0a3f349SLokesh Vutla #size-cells = <1>; 16*f0a3f349SLokesh Vutla clocks = <&chipclk13>; 17*f0a3f349SLokesh Vutla ranges; 18*f0a3f349SLokesh Vutla queue-range = <0 0x2000>; 19*f0a3f349SLokesh Vutla linkram0 = <0x100000 0x4000>; 20*f0a3f349SLokesh Vutla linkram1 = <0 0x10000>; 21*f0a3f349SLokesh Vutla 22*f0a3f349SLokesh Vutla qmgrs { 23*f0a3f349SLokesh Vutla #address-cells = <1>; 24*f0a3f349SLokesh Vutla #size-cells = <1>; 25*f0a3f349SLokesh Vutla ranges; 26*f0a3f349SLokesh Vutla qmgr0 { 27*f0a3f349SLokesh Vutla managed-queues = <0 0x2000>; 28*f0a3f349SLokesh Vutla reg = <0x2a40000 0x20000>, 29*f0a3f349SLokesh Vutla <0x2a06000 0x400>, 30*f0a3f349SLokesh Vutla <0x2a02000 0x1000>, 31*f0a3f349SLokesh Vutla <0x2a03000 0x1000>, 32*f0a3f349SLokesh Vutla <0x23a80000 0x20000>, 33*f0a3f349SLokesh Vutla <0x2a80000 0x20000>; 34*f0a3f349SLokesh Vutla reg-names = "peek", "status", "config", 35*f0a3f349SLokesh Vutla "region", "push", "pop"; 36*f0a3f349SLokesh Vutla }; 37*f0a3f349SLokesh Vutla }; 38*f0a3f349SLokesh Vutla queue-pools { 39*f0a3f349SLokesh Vutla qpend { 40*f0a3f349SLokesh Vutla qpend-0 { 41*f0a3f349SLokesh Vutla qrange = <658 8>; 42*f0a3f349SLokesh Vutla interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04 43*f0a3f349SLokesh Vutla 0 43 0xf04 0 44 0xf04 0 45 0xf04 44*f0a3f349SLokesh Vutla 0 46 0xf04 0 47 0xf04>; 45*f0a3f349SLokesh Vutla }; 46*f0a3f349SLokesh Vutla qpend-1 { 47*f0a3f349SLokesh Vutla qrange = <528 16>; 48*f0a3f349SLokesh Vutla interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04 49*f0a3f349SLokesh Vutla 0 51 0xf04 0 52 0xf04 0 53 0xf04 50*f0a3f349SLokesh Vutla 0 54 0xf04 0 55 0xf04 0 56 0xf04 51*f0a3f349SLokesh Vutla 0 57 0xf04 0 58 0xf04 0 59 0xf04 52*f0a3f349SLokesh Vutla 0 60 0xf04 0 61 0xf04 0 62 0xf04 53*f0a3f349SLokesh Vutla 0 63 0xf04>; 54*f0a3f349SLokesh Vutla qalloc-by-id; 55*f0a3f349SLokesh Vutla }; 56*f0a3f349SLokesh Vutla qpend-2 { 57*f0a3f349SLokesh Vutla qrange = <544 16>; 58*f0a3f349SLokesh Vutla interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04 59*f0a3f349SLokesh Vutla 0 59 0xf04 0 68 0xf04 0 69 0xf04 60*f0a3f349SLokesh Vutla 0 70 0xf04 0 71 0xf04 0 72 0xf04 61*f0a3f349SLokesh Vutla 0 73 0xf04 0 74 0xf04 0 75 0xf04 62*f0a3f349SLokesh Vutla 0 76 0xf04 0 77 0xf04 0 78 0xf04 63*f0a3f349SLokesh Vutla 0 79 0xf04>; 64*f0a3f349SLokesh Vutla }; 65*f0a3f349SLokesh Vutla }; 66*f0a3f349SLokesh Vutla general-purpose { 67*f0a3f349SLokesh Vutla gp-0 { 68*f0a3f349SLokesh Vutla qrange = <4000 64>; 69*f0a3f349SLokesh Vutla }; 70*f0a3f349SLokesh Vutla netcp-tx { 71*f0a3f349SLokesh Vutla qrange = <896 128>; 72*f0a3f349SLokesh Vutla qalloc-by-id; 73*f0a3f349SLokesh Vutla }; 74*f0a3f349SLokesh Vutla }; 75*f0a3f349SLokesh Vutla }; 76*f0a3f349SLokesh Vutla descriptor-regions { 77*f0a3f349SLokesh Vutla #address-cells = <1>; 78*f0a3f349SLokesh Vutla #size-cells = <1>; 79*f0a3f349SLokesh Vutla ranges; 80*f0a3f349SLokesh Vutla region-12 { 81*f0a3f349SLokesh Vutla id = <12>; 82*f0a3f349SLokesh Vutla region-spec = <8192 128>; /* num_desc desc_size */ 83*f0a3f349SLokesh Vutla link-index = <0x4000>; 84*f0a3f349SLokesh Vutla }; 85*f0a3f349SLokesh Vutla }; 86*f0a3f349SLokesh Vutla}; /* qmss */ 87*f0a3f349SLokesh Vutla 88*f0a3f349SLokesh Vutlaknav_dmas: knav_dmas@0 { 89*f0a3f349SLokesh Vutla compatible = "ti,keystone-navigator-dma"; 90*f0a3f349SLokesh Vutla clocks = <&papllclk>; 91*f0a3f349SLokesh Vutla #address-cells = <1>; 92*f0a3f349SLokesh Vutla #size-cells = <1>; 93*f0a3f349SLokesh Vutla ranges; 94*f0a3f349SLokesh Vutla ti,navigator-cloud-address = <0x23a80000 0x23a90000 95*f0a3f349SLokesh Vutla 0x23a80000 0x23a90000>; 96*f0a3f349SLokesh Vutla 97*f0a3f349SLokesh Vutla dma_gbe: dma_gbe@0 { 98*f0a3f349SLokesh Vutla reg = <0x24186000 0x100>, 99*f0a3f349SLokesh Vutla <0x24187000 0x2a0>, 100*f0a3f349SLokesh Vutla <0x24188000 0xb60>, 101*f0a3f349SLokesh Vutla <0x24186100 0x80>, 102*f0a3f349SLokesh Vutla <0x24189000 0x1000>; 103*f0a3f349SLokesh Vutla reg-names = "global", "txchan", "rxchan", 104*f0a3f349SLokesh Vutla "txsched", "rxflow"; 105*f0a3f349SLokesh Vutla }; 106*f0a3f349SLokesh Vutla}; 107*f0a3f349SLokesh Vutla 108*f0a3f349SLokesh Vutlanetcp: netcp@24000000 { 109*f0a3f349SLokesh Vutla reg = <0x2620110 0x8>; 110*f0a3f349SLokesh Vutla reg-names = "efuse"; 111*f0a3f349SLokesh Vutla compatible = "ti,netcp-1.0"; 112*f0a3f349SLokesh Vutla #address-cells = <1>; 113*f0a3f349SLokesh Vutla #size-cells = <1>; 114*f0a3f349SLokesh Vutla 115*f0a3f349SLokesh Vutla /* NetCP address range */ 116*f0a3f349SLokesh Vutla ranges = <0 0x24000000 0x1000000>; 117*f0a3f349SLokesh Vutla 118*f0a3f349SLokesh Vutla clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>; 119*f0a3f349SLokesh Vutla dma-coherent; 120*f0a3f349SLokesh Vutla 121*f0a3f349SLokesh Vutla ti,navigator-dmas = <&dma_gbe 0>, 122*f0a3f349SLokesh Vutla <&dma_gbe 8>, 123*f0a3f349SLokesh Vutla <&dma_gbe 0>; 124*f0a3f349SLokesh Vutla ti,navigator-dma-names = "netrx0", "netrx1", "nettx"; 125*f0a3f349SLokesh Vutla 126*f0a3f349SLokesh Vutla netcp-devices { 127*f0a3f349SLokesh Vutla #address-cells = <1>; 128*f0a3f349SLokesh Vutla #size-cells = <1>; 129*f0a3f349SLokesh Vutla ranges; 130*f0a3f349SLokesh Vutla gbe@200000 { /* ETHSS */ 131*f0a3f349SLokesh Vutla label = "netcp-gbe"; 132*f0a3f349SLokesh Vutla compatible = "ti,netcp-gbe-9"; 133*f0a3f349SLokesh Vutla reg = <0x200000 0x900>, <0x220000 0x20000>; 134*f0a3f349SLokesh Vutla /* enable-ale; */ 135*f0a3f349SLokesh Vutla tx-queue = <896>; 136*f0a3f349SLokesh Vutla tx-channel = "nettx"; 137*f0a3f349SLokesh Vutla 138*f0a3f349SLokesh Vutla interfaces { 139*f0a3f349SLokesh Vutla gbe0: interface-0 { 140*f0a3f349SLokesh Vutla slave-port = <0>; 141*f0a3f349SLokesh Vutla link-interface = <1>; 142*f0a3f349SLokesh Vutla phy-handle = <ðphy0>; 143*f0a3f349SLokesh Vutla }; 144*f0a3f349SLokesh Vutla gbe1: interface-1 { 145*f0a3f349SLokesh Vutla slave-port = <1>; 146*f0a3f349SLokesh Vutla link-interface = <1>; 147*f0a3f349SLokesh Vutla phy-handle = <ðphy1>; 148*f0a3f349SLokesh Vutla }; 149*f0a3f349SLokesh Vutla }; 150*f0a3f349SLokesh Vutla 151*f0a3f349SLokesh Vutla secondary-slave-ports { 152*f0a3f349SLokesh Vutla port-2 { 153*f0a3f349SLokesh Vutla slave-port = <2>; 154*f0a3f349SLokesh Vutla link-interface = <2>; 155*f0a3f349SLokesh Vutla }; 156*f0a3f349SLokesh Vutla port-3 { 157*f0a3f349SLokesh Vutla slave-port = <3>; 158*f0a3f349SLokesh Vutla link-interface = <2>; 159*f0a3f349SLokesh Vutla }; 160*f0a3f349SLokesh Vutla port-4 { 161*f0a3f349SLokesh Vutla slave-port = <4>; 162*f0a3f349SLokesh Vutla link-interface = <2>; 163*f0a3f349SLokesh Vutla }; 164*f0a3f349SLokesh Vutla port-5 { 165*f0a3f349SLokesh Vutla slave-port = <5>; 166*f0a3f349SLokesh Vutla link-interface = <2>; 167*f0a3f349SLokesh Vutla }; 168*f0a3f349SLokesh Vutla port-6 { 169*f0a3f349SLokesh Vutla slave-port = <6>; 170*f0a3f349SLokesh Vutla link-interface = <2>; 171*f0a3f349SLokesh Vutla }; 172*f0a3f349SLokesh Vutla port-7 { 173*f0a3f349SLokesh Vutla slave-port = <7>; 174*f0a3f349SLokesh Vutla link-interface = <2>; 175*f0a3f349SLokesh Vutla }; 176*f0a3f349SLokesh Vutla }; 177*f0a3f349SLokesh Vutla }; 178*f0a3f349SLokesh Vutla }; 179*f0a3f349SLokesh Vutla 180*f0a3f349SLokesh Vutla netcp-interfaces { 181*f0a3f349SLokesh Vutla interface-0 { 182*f0a3f349SLokesh Vutla rx-channel = "netrx0"; 183*f0a3f349SLokesh Vutla rx-pool = <1024 12>; 184*f0a3f349SLokesh Vutla tx-pool = <1024 12>; 185*f0a3f349SLokesh Vutla rx-queue-depth = <128 128 0 0>; 186*f0a3f349SLokesh Vutla rx-buffer-size = <1518 4096 0 0>; 187*f0a3f349SLokesh Vutla rx-queue = <528>; 188*f0a3f349SLokesh Vutla tx-completion-queue = <530>; 189*f0a3f349SLokesh Vutla efuse-mac = <1>; 190*f0a3f349SLokesh Vutla netcp-gbe = <&gbe0>; 191*f0a3f349SLokesh Vutla 192*f0a3f349SLokesh Vutla }; 193*f0a3f349SLokesh Vutla interface-1 { 194*f0a3f349SLokesh Vutla rx-channel = "netrx1"; 195*f0a3f349SLokesh Vutla rx-pool = <1024 12>; 196*f0a3f349SLokesh Vutla tx-pool = <1024 12>; 197*f0a3f349SLokesh Vutla rx-queue-depth = <128 128 0 0>; 198*f0a3f349SLokesh Vutla rx-buffer-size = <1518 4096 0 0>; 199*f0a3f349SLokesh Vutla rx-queue = <529>; 200*f0a3f349SLokesh Vutla tx-completion-queue = <531>; 201*f0a3f349SLokesh Vutla efuse-mac = <0>; 202*f0a3f349SLokesh Vutla local-mac-address = [02 18 31 7e 3e 00]; 203*f0a3f349SLokesh Vutla netcp-gbe = <&gbe1>; 204*f0a3f349SLokesh Vutla }; 205*f0a3f349SLokesh Vutla }; 206*f0a3f349SLokesh Vutla}; 207