1*f0a3f349SLokesh Vutla/* 2*f0a3f349SLokesh Vutla * Device Tree Source for Keystone 2 Hawking 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 0x4000>; 19*f0a3f349SLokesh Vutla linkram0 = <0x100000 0x8000>; 20*f0a3f349SLokesh Vutla linkram1 = <0x0 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 qmgr1 { 39*f0a3f349SLokesh Vutla managed-queues = <0x2000 0x2000>; 40*f0a3f349SLokesh Vutla reg = <0x2a60000 0x20000>, 41*f0a3f349SLokesh Vutla <0x2a06400 0x400>, 42*f0a3f349SLokesh Vutla <0x2a04000 0x1000>, 43*f0a3f349SLokesh Vutla <0x2a05000 0x1000>, 44*f0a3f349SLokesh Vutla <0x23aa0000 0x20000>, 45*f0a3f349SLokesh Vutla <0x2aa0000 0x20000>; 46*f0a3f349SLokesh Vutla reg-names = "peek", "status", "config", 47*f0a3f349SLokesh Vutla "region", "push", "pop"; 48*f0a3f349SLokesh Vutla }; 49*f0a3f349SLokesh Vutla }; 50*f0a3f349SLokesh Vutla queue-pools { 51*f0a3f349SLokesh Vutla qpend { 52*f0a3f349SLokesh Vutla qpend-0 { 53*f0a3f349SLokesh Vutla qrange = <658 8>; 54*f0a3f349SLokesh Vutla interrupts =<0 40 0xf04 0 41 0xf04 0 42 0xf04 55*f0a3f349SLokesh Vutla 0 43 0xf04 0 44 0xf04 0 45 0xf04 56*f0a3f349SLokesh Vutla 0 46 0xf04 0 47 0xf04>; 57*f0a3f349SLokesh Vutla }; 58*f0a3f349SLokesh Vutla qpend-1 { 59*f0a3f349SLokesh Vutla qrange = <8704 16>; 60*f0a3f349SLokesh Vutla interrupts = <0 48 0xf04 0 49 0xf04 0 50 0xf04 61*f0a3f349SLokesh Vutla 0 51 0xf04 0 52 0xf04 0 53 0xf04 62*f0a3f349SLokesh Vutla 0 54 0xf04 0 55 0xf04 0 56 0xf04 63*f0a3f349SLokesh Vutla 0 57 0xf04 0 58 0xf04 0 59 0xf04 64*f0a3f349SLokesh Vutla 0 60 0xf04 0 61 0xf04 0 62 0xf04 65*f0a3f349SLokesh Vutla 0 63 0xf04>; 66*f0a3f349SLokesh Vutla qalloc-by-id; 67*f0a3f349SLokesh Vutla }; 68*f0a3f349SLokesh Vutla qpend-2 { 69*f0a3f349SLokesh Vutla qrange = <8720 16>; 70*f0a3f349SLokesh Vutla interrupts = <0 64 0xf04 0 65 0xf04 0 66 0xf04 71*f0a3f349SLokesh Vutla 0 59 0xf04 0 68 0xf04 0 69 0xf04 72*f0a3f349SLokesh Vutla 0 70 0xf04 0 71 0xf04 0 72 0xf04 73*f0a3f349SLokesh Vutla 0 73 0xf04 0 74 0xf04 0 75 0xf04 74*f0a3f349SLokesh Vutla 0 76 0xf04 0 77 0xf04 0 78 0xf04 75*f0a3f349SLokesh Vutla 0 79 0xf04>; 76*f0a3f349SLokesh Vutla }; 77*f0a3f349SLokesh Vutla }; 78*f0a3f349SLokesh Vutla general-purpose { 79*f0a3f349SLokesh Vutla gp-0 { 80*f0a3f349SLokesh Vutla qrange = <4000 64>; 81*f0a3f349SLokesh Vutla }; 82*f0a3f349SLokesh Vutla netcp-tx { 83*f0a3f349SLokesh Vutla qrange = <640 9>; 84*f0a3f349SLokesh Vutla qalloc-by-id; 85*f0a3f349SLokesh Vutla }; 86*f0a3f349SLokesh Vutla netcpx-tx { 87*f0a3f349SLokesh Vutla qrange = <8752 8>; 88*f0a3f349SLokesh Vutla qalloc-by-id; 89*f0a3f349SLokesh Vutla }; 90*f0a3f349SLokesh Vutla }; 91*f0a3f349SLokesh Vutla }; 92*f0a3f349SLokesh Vutla descriptor-regions { 93*f0a3f349SLokesh Vutla #address-cells = <1>; 94*f0a3f349SLokesh Vutla #size-cells = <1>; 95*f0a3f349SLokesh Vutla ranges; 96*f0a3f349SLokesh Vutla region-12 { 97*f0a3f349SLokesh Vutla id = <12>; 98*f0a3f349SLokesh Vutla region-spec = <8192 128>; /* num_desc desc_size */ 99*f0a3f349SLokesh Vutla link-index = <0x4000>; 100*f0a3f349SLokesh Vutla }; 101*f0a3f349SLokesh Vutla }; 102*f0a3f349SLokesh Vutla}; /* qmss */ 103*f0a3f349SLokesh Vutla 104*f0a3f349SLokesh Vutlaknav_dmas: knav_dmas@0 { 105*f0a3f349SLokesh Vutla compatible = "ti,keystone-navigator-dma"; 106*f0a3f349SLokesh Vutla clocks = <&papllclk>; 107*f0a3f349SLokesh Vutla #address-cells = <1>; 108*f0a3f349SLokesh Vutla #size-cells = <1>; 109*f0a3f349SLokesh Vutla ranges; 110*f0a3f349SLokesh Vutla ti,navigator-cloud-address = <0x23a80000 0x23a90000 111*f0a3f349SLokesh Vutla 0x23aa0000 0x23ab0000>; 112*f0a3f349SLokesh Vutla 113*f0a3f349SLokesh Vutla dma_gbe: dma_gbe@0 { 114*f0a3f349SLokesh Vutla reg = <0x2004000 0x100>, 115*f0a3f349SLokesh Vutla <0x2004400 0x120>, 116*f0a3f349SLokesh Vutla <0x2004800 0x300>, 117*f0a3f349SLokesh Vutla <0x2004c00 0x120>, 118*f0a3f349SLokesh Vutla <0x2005000 0x400>; 119*f0a3f349SLokesh Vutla reg-names = "global", "txchan", "rxchan", 120*f0a3f349SLokesh Vutla "txsched", "rxflow"; 121*f0a3f349SLokesh Vutla }; 122*f0a3f349SLokesh Vutla}; 123*f0a3f349SLokesh Vutla 124*f0a3f349SLokesh Vutlanetcp: netcp@2000000 { 125*f0a3f349SLokesh Vutla reg = <0x2620110 0x8>; 126*f0a3f349SLokesh Vutla reg-names = "efuse"; 127*f0a3f349SLokesh Vutla compatible = "ti,netcp-1.0"; 128*f0a3f349SLokesh Vutla #address-cells = <1>; 129*f0a3f349SLokesh Vutla #size-cells = <1>; 130*f0a3f349SLokesh Vutla 131*f0a3f349SLokesh Vutla /* NetCP address range */ 132*f0a3f349SLokesh Vutla ranges = <0 0x2000000 0x100000>; 133*f0a3f349SLokesh Vutla 134*f0a3f349SLokesh Vutla clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>; 135*f0a3f349SLokesh Vutla dma-coherent; 136*f0a3f349SLokesh Vutla 137*f0a3f349SLokesh Vutla ti,navigator-dmas = <&dma_gbe 22>, 138*f0a3f349SLokesh Vutla <&dma_gbe 23>, 139*f0a3f349SLokesh Vutla <&dma_gbe 8>; 140*f0a3f349SLokesh Vutla ti,navigator-dma-names = "netrx0", "netrx1", "nettx"; 141*f0a3f349SLokesh Vutla 142*f0a3f349SLokesh Vutla netcp-devices { 143*f0a3f349SLokesh Vutla ranges; 144*f0a3f349SLokesh Vutla #address-cells = <1>; 145*f0a3f349SLokesh Vutla #size-cells = <1>; 146*f0a3f349SLokesh Vutla gbe@90000 { /* ETHSS */ 147*f0a3f349SLokesh Vutla #address-cells = <1>; 148*f0a3f349SLokesh Vutla #size-cells = <1>; 149*f0a3f349SLokesh Vutla label = "netcp-gbe"; 150*f0a3f349SLokesh Vutla compatible = "ti,netcp-gbe"; 151*f0a3f349SLokesh Vutla reg = <0x90000 0x300>, <0x90400 0x400>, <0x90800 0x700>; 152*f0a3f349SLokesh Vutla /* enable-ale; */ 153*f0a3f349SLokesh Vutla tx-queue = <648>; 154*f0a3f349SLokesh Vutla tx-channel = "nettx"; 155*f0a3f349SLokesh Vutla 156*f0a3f349SLokesh Vutla interfaces { 157*f0a3f349SLokesh Vutla gbe0: interface-0 { 158*f0a3f349SLokesh Vutla slave-port = <0>; 159*f0a3f349SLokesh Vutla link-interface = <1>; 160*f0a3f349SLokesh Vutla phy-handle = <ðphy0>; 161*f0a3f349SLokesh Vutla }; 162*f0a3f349SLokesh Vutla gbe1: interface-1 { 163*f0a3f349SLokesh Vutla slave-port = <1>; 164*f0a3f349SLokesh Vutla link-interface = <1>; 165*f0a3f349SLokesh Vutla phy-handle = <ðphy1>; 166*f0a3f349SLokesh Vutla }; 167*f0a3f349SLokesh Vutla }; 168*f0a3f349SLokesh Vutla 169*f0a3f349SLokesh Vutla secondary-slave-ports { 170*f0a3f349SLokesh Vutla port-2 { 171*f0a3f349SLokesh Vutla slave-port = <2>; 172*f0a3f349SLokesh Vutla link-interface = <2>; 173*f0a3f349SLokesh Vutla }; 174*f0a3f349SLokesh Vutla port-3 { 175*f0a3f349SLokesh Vutla slave-port = <3>; 176*f0a3f349SLokesh Vutla link-interface = <2>; 177*f0a3f349SLokesh Vutla }; 178*f0a3f349SLokesh Vutla }; 179*f0a3f349SLokesh Vutla }; 180*f0a3f349SLokesh Vutla }; 181*f0a3f349SLokesh Vutla 182*f0a3f349SLokesh Vutla netcp-interfaces { 183*f0a3f349SLokesh Vutla interface-0 { 184*f0a3f349SLokesh Vutla rx-channel = "netrx0"; 185*f0a3f349SLokesh Vutla rx-pool = <1024 12>; 186*f0a3f349SLokesh Vutla tx-pool = <1024 12>; 187*f0a3f349SLokesh Vutla rx-queue-depth = <128 128 0 0>; 188*f0a3f349SLokesh Vutla rx-buffer-size = <1518 4096 0 0>; 189*f0a3f349SLokesh Vutla rx-queue = <8704>; 190*f0a3f349SLokesh Vutla tx-completion-queue = <8706>; 191*f0a3f349SLokesh Vutla efuse-mac = <1>; 192*f0a3f349SLokesh Vutla netcp-gbe = <&gbe0>; 193*f0a3f349SLokesh Vutla 194*f0a3f349SLokesh Vutla }; 195*f0a3f349SLokesh Vutla interface-1 { 196*f0a3f349SLokesh Vutla rx-channel = "netrx1"; 197*f0a3f349SLokesh Vutla rx-pool = <1024 12>; 198*f0a3f349SLokesh Vutla tx-pool = <1024 12>; 199*f0a3f349SLokesh Vutla rx-queue-depth = <128 128 0 0>; 200*f0a3f349SLokesh Vutla rx-buffer-size = <1518 4096 0 0>; 201*f0a3f349SLokesh Vutla rx-queue = <8705>; 202*f0a3f349SLokesh Vutla tx-completion-queue = <8707>; 203*f0a3f349SLokesh Vutla efuse-mac = <0>; 204*f0a3f349SLokesh Vutla local-mac-address = [02 18 31 7e 3e 6f]; 205*f0a3f349SLokesh Vutla netcp-gbe = <&gbe1>; 206*f0a3f349SLokesh Vutla }; 207*f0a3f349SLokesh Vutla }; 208*f0a3f349SLokesh Vutla}; 209